这篇文章主要介绍Unity实现换装系统的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
具体内容如下
1.创建Sprite Library Asset
2.添加新目录
Label 可以理解为标签,在代码调用过程中使用,将该部位装备图片拖入Sprite中
3.添加组件
给需要换装的部位添加Sprite Resolver组件(如头部换装,就在头部对象挂载组件)
选择目录名,就会出现之前Library Asset中拖拽的图片内容,点击不同图片可以预览效果(如果出现装备位置偏移,需调整图片的pivot)
4.通过代码实现换装
小笔记:
1).UnityEngine.Experimental.U2D.Animation 记得写
2).Start函数中GetComponents的s不要忘,也可以用FindObjectsOfType
3).如果是整体换套装,就将脚本挂载到Player对象上,如果只是单独换部件如武器,就单独挂载到武器对象上
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Experimental.U2D.Animation; public class RifleSpriteControl : MonoBehaviour { public List<SpriteResolver> spriteResolvers = new List<SpriteResolver>(); // Start is called before the first frame update void Start() { foreach(var resolver in FindObjectsOfType<SpriteResolver>()) { //将遍历到的所有SpriteResolver添加到list中 spriteResolvers.Add(resolver); } } // Update is called once per frame void Update() { if (Input.GetKeyDown(KeyCode.E))//按E切换到AK47 { foreach (var resolver in this.GetComponents<SpriteResolver>()) { //SetCategoryAndLabel(目录名,步骤2中所填写的Label),以获取相应的图片 resolver.SetCategoryAndLabel(resolver.GetCategory(), "AK47"); } } if (Input.GetKeyDown(KeyCode.R))//按R切换到MP5 { foreach (var resolver in this.GetComponents<SpriteResolver>()) { resolver.SetCategoryAndLabel(resolver.GetCategory(), "MP5"); } } } }
以上是“Unity实现换装系统的方法”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。