团结:化身创作

时间:2014-01-27 11:36:33

标签: c# unity3d avatar

我在Unity制作自己的头像制作工具,但我仍然需要实现一些关键位。

现在我已经将Unity提供的头像与其Mechanim教程相提并论,我给了帽子一个标签并在该位置实例化了一个对象。这一点只是一个空的游戏对象,作为孩子附加到模型的头部。但是,我在制作新生成的对象时会遇到问题,并且随着动画的播放而停留在头部。当化身移动时,帽子只停留在一个静态位置。

如何让帽子与玩家的头部保持一致并在动画旋转时移动和旋转?

我的代码非常简单,因为我没有先前的经验尝试做我正在做的事情,即使有人可以指出我如何在Unity中建立一个化身创建者的正确方向,我会很感激。< / p>

我的代码:

    public GameObject equipItem;
public GameObject hat;

// Use this for initialization
void Start () 
{
    hat = GameObject.FindGameObjectWithTag("Hat");
}

// Update is called once per frame
void Update () {

}

void OnGUI()
{
    if(GUI.Button(new Rect(0,0, 100, 50), "Equip Item"))
    {
        SpawnWeapon();
    }
}

void SpawnWeapon()
{
    Instantiate(equipItem, hat.transform.position, hat.transform.rotation);
}

1 个答案:

答案 0 :(得分:2)

您缺少的是将新对象作为您希望其遵循的对象的子对象。这可以在新对象的转换中完成

void SpawnWeapon()
{
    GameObject newObject = Instantiate(equipItem, hat.transform.position, hat.transform.rotation) as GameObject;
    newObject.transform.parent = hat.transform;
}

这与将新对象拖到检查器层次结构窗口中的另一个对象上相同,从而导致它继承对父项进行的所有转换