本文主要是介绍Unity3D - 【换装功能】GameObject的开启与关闭,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
对于游戏对象的简单换装有两种情况:
① 更换颜色、贴图(Texture) => 【点我即达:游戏对象组件的添加】
② 开启/关闭服装类对象(GameObject)
************************************************************************************************************************************
一:实际操作步骤
1> 找到一款有不同装扮的模型,导入Unity(图中为人物的各个组成部分,可开启可关闭)
2> 使用代码对GameObject进行打开与关闭操作(使用代码取代鼠标点击该选框的功能)
GameObject.SetActive(false); //Active状态
GameObject.SetActive(true); //非Active状态
方法一:使用public GameObject AAA;然后将需要的服装GameObject拖动到Inspector面板上的脚本部分即可;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Change_Clothes : MonoBehaviour {public GameObject Clothes_1;public GameObject Clothes_2;void OnGUI(){if(GUILayout.Button("装扮1",GUILayout.Width(100),GUILayout.Height(50))){Clothes_1.SetActive(true);Clothes_2.SetActive(false);}if(GUILayout.Button("装扮2",GUILayout.Width(100),GUILayout.Height(50))){Clothes_1.SetActive(false);Clothes_2.SetActive(true);}}
}
方法二:使用private GameObject AAA;然后在Start()函数里面使用GanmeObject.Find("Name")来对名为Name的GameObject进行查找(这种查找方式首先要确保该GameObject处于Active状态,即上方的勾被勾选的状态)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Change_Clothes : MonoBehaviour {private GameObject Clothes_1;private GameObject Clothes_2;void Start() //若在初始化时候直接赋值会在游戏运行的时候报错{Clothes_1 = GameObject.Find("Riko_coth");Clothes_2 = GameObject.Find("Riko_Tanktop");}void OnGUI(){if(GUILayout.Button("装扮1",GUILayout.Width(100),GUILayout.Height(50))){Clothes_1.SetActive(true);Clothes_2.SetActive(false);}if(GUILayout.Button("装扮2",GUILayout.Width(100),GUILayout.Height(50))){Clothes_1.SetActive(false);Clothes_2.SetActive(true);}}
}
二:测试结果
三:相关资源下载(优质资源)
王者峡谷5v5地形:https://download.csdn.net/download/qq_42292831/10845746
人物模型:https://download.csdn.net/download/qq_42292831/10809468
这篇关于Unity3D - 【换装功能】GameObject的开启与关闭的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!