将化身变成第三人称角色

时间:2015-06-16 17:21:17

标签: animation unity3d

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

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

该文章概述了所需内容。

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

这是一个快速的方法:

  1. 将您的FBX设置为mecanim humanoid
  2. 将mecanim animator控制器拖到它上面
  3. 编写代码以设置动画状态(例如:速度,跳跃等)
  4. 要做到这一点:

    • 从Autodesk导出为" Unity FBX"格式来获取YourCharacter_Unity.fbx
    • 将FBX拖到统一项目文件
    • 点击项目中的YourCharacter_Unity FBX(蓝色立方体),选择" RIG"检查器中的选项卡,并将动画类型更改为" Humanoid" (将其映射到Mecanim系统)。
    • 将FBX从项目拖动到场景中。
    • 进入资产商店并导入" Mecanim Locomotion Starter Kit" (具有基本的运动控制器和一组动画)
    • 拖动" Locomotion Setup / Locomotion / Locomotion.controller"进入"控制器"你角色的动画组件的变量。
    • Untick"应用根动作"

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

    注意:在角色的动画组件中,如果勾选"应用根动作",那么脚动画将使你的化身在他的速度>时自动移动。 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);
        }
    }