Unity实现换装系统

Unity如何实现换装系统,供大家参考,具体内容如下
1.创建Sprite Library Asset
Unity实现换装系统
文章图片

2.添加新目录
Unity实现换装系统
文章图片

Label 可以理解为标签,在代码调用过程中使用,将该部位装备图片拖入Sprite中
Unity实现换装系统
文章图片

3.添加组件
给需要换装的部位添加Sprite Resolver组件(如头部换装,就在头部对象挂载组件)
Unity实现换装系统
文章图片

选择目录名,就会出现之前Library Asset中拖拽的图片内容,点击不同图片可以预览效果(如果出现装备位置偏移,需调整图片的pivot)
Unity实现换装系统
文章图片

4.通过代码实现换装
【Unity实现换装系统】小笔记:
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 spriteResolvers = new List(); // Start is called before the first frame updatevoid Start(){foreach(var resolver in FindObjectsOfType()){//将遍历到的所有SpriteResolver添加到list中spriteResolvers.Add(resolver); }}// Update is called once per framevoid Update(){if (Input.GetKeyDown(KeyCode.E))//按E切换到AK47{foreach (var resolver in this.GetComponents()){//SetCategoryAndLabel(目录名,步骤2中所填写的Label),以获取相应的图片resolver.SetCategoryAndLabel(resolver.GetCategory(), "AK47"); }}if (Input.GetKeyDown(KeyCode.R))//按R切换到MP5{foreach (var resolver in this.GetComponents()){resolver.SetCategoryAndLabel(resolver.GetCategory(), "MP5"); }}}}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    推荐阅读