在一个动画剪辑中更改多个精灵
Posted
技术标签:
【中文标题】在一个动画剪辑中更改多个精灵【英文标题】:Change multiple sprite in one animation clip 【发布时间】:2016-05-09 15:33:21 【问题描述】:假设我有两个动画剪辑,空闲和动作;和两个 spritesheet,一个男孩和一个标志。我想要男孩和标志精灵从同一个动画剪辑动画,因为我已经为此制作了单独的精灵。这是标志精灵表
这是男孩精灵表
我希望我的动画剪辑包含两个像这样的动画精灵
我不想制作两个动画师(男孩和标志),因为我的动画师太复杂了,制作两个动画师需要很长时间。谢谢
ps。抱歉英语不是我的母语:)
【问题讨论】:
我想最简单的解决方案是合并两个精灵,然后使用一个动画师。这将节省您与两个动画师一起工作的精力。希望有帮助:) 如何合并来自不同精灵表的两个精灵? 使用Photoshop等图片编辑工具 【参考方案1】:您可以通过简单地将一系列图像拖到“层次结构”窗口来创建动画:boyChips0001.png boyChips0002.png boyChips0003.png
当您执行此操作时,Unity 将自动创建一个新的 GameObject,并附加一个“Animator Controller”和一个“Animation”。
您可以根据需要删除 GameObject 和动画控制器,重要的是动画,扩展名为“.anim”。
您可以使用相同的方式创建任意数量的文件“.anim”。当您拥有所需的一切时,就可以链接到您的对象了。为此,请按 Inspector 中的“添加组件”按钮并输入“Animator”来添加一个新的“Animator”。
然后,在“项目”窗口点击“创建”按钮,选择“Animator控制器”,创建一个控制器Animator
现在,将动画控制器分配给动画师。
打开 Animator 窗口,选择菜单“window/Animator”并选择 Animator 控制器或双击其 Animator Controller
最后将你创建的动画拖放到这个动画窗口
现在,您的动画已准备好供脚本使用。例如,当用户点击空格键时,动画之间的下一个代码循环:
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]);
注意:动画游戏对象必须有一个 Sprite Renderer 组件。如果没有,则看不到动画:
【讨论】:
【参考方案2】:所以我已经想通了。我所要做的就是使用lateupdate函数并让“sign”对象跟随“boy”对象,然后在“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);
【讨论】:
【参考方案3】:如果您想要这样做,那么完成它的最简单方法是使用图像编辑器,例如 Photoshop 或 GIMP。您可以剪切和粘贴男孩并登录到具有透明背景的新共享图像。有很多关于如何做到这一点的教程很容易找到;因为它不属于编码领域,所以我不会进一步详细说明它,但除了确保一切都完美排列之外,你应该没有困难。
【讨论】:
以上是关于在一个动画剪辑中更改多个精灵的主要内容,如果未能解决你的问题,请参考以下文章