假设我有两个动画剪辑,空闲和动作;以及两个spritesheet,一个男孩和符号。我想从相同的动画剪辑男孩和符号精灵动画,因为我已经为它做了单独的精灵。这是sign spritesheet
这是男孩精灵
我希望我的动画剪辑由两个像这样的动画精灵组成
我不想做两个动画师(男孩和符号),因为我的动画师太复杂了,做两个动画师需要很长时间。谢谢
ps。对不起,英语不是我的母语:)
发布于 2016-05-10 13:19:00
所以我已经想好了。我所要做的就是使用lateupdate函数,让"sign“对象跟随”男孩“对象,然后在"sign”对象中制作简单的动画。
public Transform target;
public Transform sign;
public float xOffset;
public float zSignOffset;
void LateUpdate(){
sign.transform.localPosition = new Vector3 (target.localPosition.x+ xOffset, transform.localPosition.y, target.localPosition.z+ zSignOffset);
}
发布于 2016-05-10 02:57:33
你可以通过简单的拖拽一系列的图片到"hierarchy“窗口来创建一个动画,比如: by Chips0001.png by Chips0002.png by Chips0003.png
当你这样做时,统一将自动创建一个新的GameObject与“动画控制器”和“动画”附加到它。
如果需要,您可以删除GameObject和动画控制器,重要的是动画,扩展名为".anim“。
您可以在同一个way.when中创建任意数量的".anim“文件,现在可以链接到您的对象了。为此,按下Inspector中的"Add component“按钮并键入"Animator”,添加一个新的"Animator“。
然后,在"project“窗口中点击" create”按钮并选择"Animator controller“来创建一个控制器Animator。
现在,将动画师控制器指定给动画师。
打开Animator窗口,选择菜单" window / Animator“,同时选择Animator控制器,或双击其Animator控制器
最后,将创建的动画拖放到此动画制作窗口
现在,您的动画已准备好供脚本使用。例如,当用户按空格键时,动画之间的下一个代码循环:
public class TransitionScript : MonoBehaviour {
public GameObject Globe;
string[] AnimationName;
private int currentAnimation;
KeyCode key;
// Use this for initialization
void Start () {
currentAnimation = 0;
AnimationName = new string[3];
AnimationName[0] = "Repose";
AnimationName[1] = "Globe1 Animation";
AnimationName[2] = "Glove2 Animation";
}
// Update is called once per frame
void Update()
{
if(Input.GetKeyDown(KeyCode.Space))
{
print("space Down");
Animator anim = Globe.GetComponent<Animator>();
currentAnimation++;
if (currentAnimation >= AnimationName.Length) currentAnimation = 0;
anim.Play(AnimationName[currentAnimation]);
}
}
}
注意:动画gameObject必须有一个精灵渲染器组件。如果没有,您将看不到动画:
发布于 2016-05-10 00:15:36
如果你想这样做,那么最简单的方法就是使用图像编辑器,如Photoshop或GIMP。您可以剪切并粘贴男孩,并将其签名到具有透明背景的新共享图像中。关于如何做到这一点,有很多很容易找到的教程;因为它不属于编码的范围,所以我不会详细说明它,但除了确保一切都完美地排列在一起之外,您应该没有任何困难。
https://stackoverflow.com/questions/37119746
复制相似问题