2DAnimation与换装系统-IK,骨骼动画,换装
2DAnimation与换装系统-IK,骨骼动画,换装
2D反向动力学IK
在为物体创建骨骼后,进行以下步骤创建IK:
-
为游戏物体添加IK Manager 2D组件,通常添加在物体的根节点上。
-
点击+号创建一个IK Solver,之后在Hierarchy会生成一个Solver2D物体
- Chain CCD:循环坐标下降求解IK
- Chain FABRIK:摇摆接近求解IK
- Limb:手臂,标准的双骨骼求解器
-
创建Effector和Target
- 选择最后的骨骼,创建一个空物体(通常创建为最后骨骼的子物体)标识骨骼末端
- 将空物体拖拽到IK Solver的Target上
骨骼动画
在Animation页面使用录制功能创建骨骼动画。
换装系统
使用Sprite Library创建换装系统:
-
为角色添加Sprite Library组件
-
在资源文件夹创建Sprite Library Asset,创建category,创建对应的名称-贴图
-
将Sprite Library Asset拖拽进入Sprite Library中
-
在要进行换装的物体中添加Sprite Resolver。
-
使用代码控制贴图
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.U2D.Animation;
public class changeHat : MonoBehaviour
{
//SpriteResolver
private SpriteResolver hatChangeSys;
void Start()
{
//获取要换装的物体的SpriteResolver
hatChangeSys = transform.Find("hat").GetComponent<SpriteResolver>();
}
void Update()
{
changingHat();
}
void changingHat()
{
//根据按键控制换装
if(Input.GetKey(KeyCode.Alpha1))
{
hatChangeSys.SetCategoryAndLabel("hat","common");
}
else if (Input.GetKey(KeyCode.Alpha2))
{
hatChangeSys.SetCategoryAndLabel("hat", "christmas");
}
else if (Input.GetKey(KeyCode.Alpha3))
{
hatChangeSys.SetCategoryAndLabel("hat", "cow");
}
else if (Input.GetKey(KeyCode.Alpha4))
{
hatChangeSys.SetCategoryAndLabel("hat", "block");
}
}
}
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 星辰微光的博客!





