unity学习笔记

您所在的位置:网站首页 换装游戏ui unity学习笔记

unity学习笔记

2023-08-23 17:44| 来源: 网络整理| 查看: 265

unity学习笔记 换装系统uiUI代码 换装逻辑换装实现换装代码

换装系统

引用

https://www.bilibili.com/video/BV1et41197Qm?from=search&seid=15209112079617855869

ui

主要使用unity原本的组件toggle,toggle group 因为一开始没有系统的学习,在观看了某b站的教学视频后发现可以用toggle这个相关的组件可以代替之前自己手写的代码,如重复点击等功能,toggle相关组件都已经在内部实现了

创建一个父对象,在里面搭建换装系统的界面 在这里插入图片描述

这是我自己设计的界面,上面是一个toggle group,下面是一个togglegroup,上面是选择部位的按键,用一个toggle group进行控制,然后给上面部位的ui添加toggle,可以看情况给toggle里的grahic,添加的话当你点击到这个ui的时候他就会出现你拖进的图标,选择其他ui时那个图标就会消失 在这里插入图片描述 然后制作换装系统下面的ui,下面的就是不同的部位的装备预览图,每个部位都有自己的panel,通过把对应的panel拖入上面ui的on value changed里,然后设置gameobject.setactive,就可以实现当点击了上面的ui时,下面对应的装备预览图的ui就会显示出来 使用unity原生的组件来实现第一效率快,第二规范,第三省去了很多调试的时间,这也充分体现了系统学习和半路出家的程序员的区别~ 这个方法可以用来优化很多前面有关按键的方法代码(不用再辛辛苦苦地用transform.getchild去显示界面),提升性能和体验

UI代码

基本没有,最多添加了一个点击事件,用这个来获得点击的当前ui的名称,通过这个名称获得ui对应的装备信息

public void OnValueChange(bool isOn) { if (isOn) { Debug.Log(name); } }

创建脚本,然后挂载到按键上

换装逻辑

视频里的方法是在resources里添加模型的两个文件,一个是源文件,一个是去掉mesh只剩下骨骼的文件 然后通过遍历源文件里的骨骼,骨骼里的skinmesh和材质,保存在内存中(字典的储存方式),保存的方式是根据他们的名称,然后通过ui获得的名称知道用户点击的是哪个装备,然后去替换对应的字典里的骨骼,skinmesh和材质,从而实现换装的功能

换装实现

由于尚未获得模型动画,所以目前只能先设计好ui界面,等动画完成后才能开始实现换装(因为动画师也是第一次接触换装,所以有关换装的格式可能会和视频教程里的有所出入,所以不打算先开始写代码,具体情况具体分析比较好,减少无用功~)

换装代码

日后更新



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3