首页 文章

将化身变成第三人称角色

提问于
浏览
0

我刚刚学会了简单地拖动第三人称角色控制器预制件(来自Unity的标准资产包)并将其放入层次结构中是多么容易 .

使用WSAD和Space键感觉非常自然,所以我想知道是否可以将相同的角色控制器应用于自定义的头像 .

使用免费的AutoDesk字符生成器(https://charactergenerator.autodesk.com/)我创建了一个(fbx文件)并将其导入Unity,所以现在我有自己的字符预制 .

然后,我搜索了步骤 animate 它就像一个第三人称角色控制器,下面的文章首先出现,但我想知道我是否总是要做所有的步骤?

http://blogs.unity3d.com/2014/04/14/turn-your-character-into-a-player/

一旦你有一个Unity预制件形式的自定义角色,应该仍然完成所有这些步骤,或者是否有更简单的动画你的化身的方式;例如添加基本必需的脚本?

1 回答

  • 1

    那篇文章很好地概述了所需要的内容 .

    但是,在使用autodesk字符生成器时,您基本上可以跳过几乎所有这些步骤 .

    这是一个快速的方法:

    • 将你的FBX设置为mecanim人形

    • 将mecanim动画制作控制器拖到它上面

    • 编写代码以设置动画状态(例如:速度,跳跃等)

    要做到这一点:

    • 从Autodesk导出为"Unity FBX"格式以获取YourCharacter_Unity.fbx

    • 将FBX拖动到unity项目文件中

    • 单击项目中的YourCharacter_Unity FBX(蓝色立方体),在检查器中选择"RIG"选项卡,然后将动画类型更改为"Humanoid"(将其映射到Mecanim系统) .

    • 将FBX从项目拖动到场景中 .

    • 转到资源商店并导入"Mecanim Locomotion Starter Kit"(其中包含一个基本的运动控制器和一组动画)

    • 将"Locomotion Setup/Locomotion/Locomotion.controller"拖到角色Animator组件的"controller"变量上 .

    • Untick "apply root motion"

    现在,如果你跑步,你会看到你的角色站在那里空闲的动作 . 如果双击角色上的动画控制器,它将打开Mecanim Animtor窗口,您可以手动设置动画状态 . 尝试将速度更改为1.0,您将看到他走路/跑步 .

    注意:如果勾选“应用根运动”,则在角色的Animator组件中,当动画速度> 0时,脚动画将使您的头像自动移动 .

    你说你使用的是CharacterController,所以这里有一个非常简单的脚本,引用角色控制器来获取当前速度,然后在Animator上设置速度:

    using UnityEngine;
    using System.Collections;
    
    public class CharacterAnimator : MonoBehaviour {
    
        public CharacterController controller;
        public Animator animator;
        private int speedid;
    
        void Start () {
            animator = GetComponentInChildren<Animator>();
            controller = GetComponent<CharacterController>();
            speedid = Animator.StringToHash("Speed");
        }
    
        void Update () {
            float speed = controller.velocity.magnitude;
            animator.SetFloat(speedid, speed);
        }
    }
    

相关问题