unity学习笔记-换装系统
unity学习笔记
- 换装系统
- ui
- UI代码
- 换装逻辑
- 换装实现
- 换装代码
换装系统
引用
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界面,等动画完成后才能开始实现换装(因为动画师也是第一次接触换装,所以有关换装的格式可能会和视频教程里的有所出入,所以不打算先开始写代码,具体情况具体分析比较好,减少无用功~)
换装代码
日后更新
unity学习笔记-换装系统相关推荐
- Unity学习笔记(4)-----粒子效果的实现
Unity学习笔记(4)-–粒子效果的实现 一.效果展示 下面用若干张张动图展示效果: 大概就是这样,并不是很难. 实际效果要比图中的好一点(顺畅得多). 实现步骤 大致可以分为如下几个步骤,然后逐个 ...
- Unity学习笔记1 简易2D横版RPG游戏制作(一)
这个教程是参考一个YouTube上面的教程做的,原作者的教程做得比较简单,我先参考着做一遍,毕竟我也只是个初学者,还没办法完全自制哈哈.不过我之前也看过一个2D平台游戏的系列教程了,以后会整合起来,做 ...
- 【Unity学习笔记】[Unity中文课堂教程] C#中级编程代码
[Unity学习笔记][Unity中文课堂教程] C#中级编程代码 最近想补一补C#基础,Unity官方的C#中级编程教程质量很高,于是开个帖子把跟着敲+记录了部分价讲解和我自己的理解的代码存在这 原 ...
- Unity学习笔记:个人学习项目《疯狂天才埃德加》纠错文档
Unity学习笔记:个人学习项目<疯狂天才埃德加>纠错文档 本文档是完成学校Unity课程作业时建立的纠错文档.用于记录自己开发过程中遇到的各种问题,以便下次遇到相同的问题时及时找到解决方 ...
- Unity学习笔记:Unity 3D 飞机大战
Unity学习笔记:Unity 3D 飞机大战 1.打开unity软件后,首先新建Quad作为背景,导入飞机模型,并为其添加刚体 然后创建C#脚本,挂载到飞机上. 2.给飞机创建子弹,让子弹成为预制体 ...
- 【Unity学习笔记】UnrealToUnity教程:(网上购买的素材导入Unreal+插件转Unity)
[Unity学习笔记]UnrealToUnity教程: 最近想从Unreal那边化点缘借借素材,没想到踩到一个大坑 一,素材导入Unreal 这个教程比较多,根据素材的来源,传送门是以下这几个: 1. ...
- unity学习笔记-特效篇
unity学习笔记 传送门特效 火焰特效 传送门特效 由于动画师的动画制作遇到了一些小问题,只能先做其他功能的摸索了~ 本来想记录一下服务器搭建的,但是在消息传输的部分遇到了一些bug,可能是消息解析 ...
- Unity学习笔记:监听函数有什么卵用?(似乎就是从一件事过渡到另一件事?)
Unity学习笔记:监听函数有什么卵用?(似乎就是从一件事过渡到另一件事?) 个人学习经验,仅供参考,欢迎各位码友批评指正. 做项目敲代码时,一直不是很理解监听函数是个什么玩意. 按我目前的理解,说白 ...
- Unity学习笔记—二次元日系游戏制作(实践篇-游戏初始化场景制作)
原教程:siki:二次元日系游戏制作工具 - live2dSDK入门教程 http://www.sikiedu.com/my/course/282 (上)Unity学习笔记-二次元日系游戏制作(理论篇 ...
- [Unity学习笔记]2D游戏中的触碰/OnMouseDown
[Unity学习笔记]2D游戏中的触碰/OnMouseDown 这种情况多用于2D游戏的触屏 1.给2D游戏对象加上collider 2D,让其能够被检测到
最新文章
- 合理利用延迟初始化优化 Spring Boot
- 利用jQuery和CSS实现环形进度条
- 查询x,y之间的素数
- 做为技术人员为什么要写博客?
- 5_jfoenix_运行jfoenix官方演示,切换片段,部署
- C do...while 循环
- Java编码与乱码问题
- 复杂性思维中文第二版 十、兽群、鸟群和交通堵塞
- rk3288对于parameter参数文件的解析处理【转】
- Qt获取系统时间并格式化输出
- 队列的实现(C语言版)
- 自己集成的android容联云IMdemo效果展示
- POI PPT模板字段替换
- Linux学习1-Vmware创建虚拟机以及Xshell连接
- 2021-03-28
- 2021:Check it again:Progressive Visual Question Answering via Visual Entailment通过视觉暗示进行渐进式视觉问答
- 蘑菇街暑期实习生一面面经 大三
- Chome浏览器播放语音、视频无声音的解决办法
- python 图片打水印 透明图片合并
- jQuery实现淘宝轮播图
热门文章
- 儿童节html5小游戏,六一儿童节室内小游戏有哪些
- 技术小卡系列之Eclipse 窗口说明
- LINUX编译xcb/xcb-proto
- 【短信验证】短信验证 短信API使用方法含code【亲测可用】【实用】【超详细】
- python normalize函数_Python Pandas Series.dt.normalize用法及代码示例
- 【视频分享】尚学堂---数据结构和算法
- 精通 Windows Server 2008 R2
- 超级万能计算机在线应用,超级万能计算器手机版
- 京东HBase平台进化与演进
- android banner 不轮播,使用Android Banner来设置一个轮播图