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学习笔记-换装系统相关推荐

  1. Unity学习笔记(4)-----粒子效果的实现

    Unity学习笔记(4)-–粒子效果的实现 一.效果展示 下面用若干张张动图展示效果: 大概就是这样,并不是很难. 实际效果要比图中的好一点(顺畅得多). 实现步骤 大致可以分为如下几个步骤,然后逐个 ...

  2. Unity学习笔记1 简易2D横版RPG游戏制作(一)

    这个教程是参考一个YouTube上面的教程做的,原作者的教程做得比较简单,我先参考着做一遍,毕竟我也只是个初学者,还没办法完全自制哈哈.不过我之前也看过一个2D平台游戏的系列教程了,以后会整合起来,做 ...

  3. 【Unity学习笔记】[Unity中文课堂教程] C#中级编程代码

    [Unity学习笔记][Unity中文课堂教程] C#中级编程代码 最近想补一补C#基础,Unity官方的C#中级编程教程质量很高,于是开个帖子把跟着敲+记录了部分价讲解和我自己的理解的代码存在这 原 ...

  4. Unity学习笔记:个人学习项目《疯狂天才埃德加》纠错文档

    Unity学习笔记:个人学习项目<疯狂天才埃德加>纠错文档 本文档是完成学校Unity课程作业时建立的纠错文档.用于记录自己开发过程中遇到的各种问题,以便下次遇到相同的问题时及时找到解决方 ...

  5. Unity学习笔记:Unity 3D 飞机大战

    Unity学习笔记:Unity 3D 飞机大战 1.打开unity软件后,首先新建Quad作为背景,导入飞机模型,并为其添加刚体 然后创建C#脚本,挂载到飞机上. 2.给飞机创建子弹,让子弹成为预制体 ...

  6. 【Unity学习笔记】UnrealToUnity教程:(网上购买的素材导入Unreal+插件转Unity)

    [Unity学习笔记]UnrealToUnity教程: 最近想从Unreal那边化点缘借借素材,没想到踩到一个大坑 一,素材导入Unreal 这个教程比较多,根据素材的来源,传送门是以下这几个: 1. ...

  7. unity学习笔记-特效篇

    unity学习笔记 传送门特效 火焰特效 传送门特效 由于动画师的动画制作遇到了一些小问题,只能先做其他功能的摸索了~ 本来想记录一下服务器搭建的,但是在消息传输的部分遇到了一些bug,可能是消息解析 ...

  8. Unity学习笔记:监听函数有什么卵用?(似乎就是从一件事过渡到另一件事?)

    Unity学习笔记:监听函数有什么卵用?(似乎就是从一件事过渡到另一件事?) 个人学习经验,仅供参考,欢迎各位码友批评指正. 做项目敲代码时,一直不是很理解监听函数是个什么玩意. 按我目前的理解,说白 ...

  9. Unity学习笔记—二次元日系游戏制作(实践篇-游戏初始化场景制作)

    原教程:siki:二次元日系游戏制作工具 - live2dSDK入门教程 http://www.sikiedu.com/my/course/282 (上)Unity学习笔记-二次元日系游戏制作(理论篇 ...

  10. [Unity学习笔记]2D游戏中的触碰/OnMouseDown

    [Unity学习笔记]2D游戏中的触碰/OnMouseDown 这种情况多用于2D游戏的触屏 1.给2D游戏对象加上collider 2D,让其能够被检测到

最新文章

  1. 合理利用延迟初始化优化 Spring Boot
  2. 利用jQuery和CSS实现环形进度条
  3. 查询x,y之间的素数
  4. 做为技术人员为什么要写博客?
  5. 5_jfoenix_运行jfoenix官方演示,切换片段,部署
  6. C do...while 循环
  7. Java编码与乱码问题
  8. 复杂性思维中文第二版 十、兽群、鸟群和交通堵塞
  9. rk3288对于parameter参数文件的解析处理【转】
  10. Qt获取系统时间并格式化输出
  11. 队列的实现(C语言版)
  12. 自己集成的android容联云IMdemo效果展示
  13. POI PPT模板字段替换
  14. Linux学习1-Vmware创建虚拟机以及Xshell连接
  15. 2021-03-28
  16. 2021:Check it again:Progressive Visual Question Answering via Visual Entailment通过视觉暗示进行渐进式视觉问答
  17. 蘑菇街暑期实习生一面面经 大三
  18. Chome浏览器播放语音、视频无声音的解决办法
  19. python 图片打水印 透明图片合并
  20. jQuery实现淘宝轮播图

热门文章

  1. 儿童节html5小游戏,六一儿童节室内小游戏有哪些
  2. 技术小卡系列之Eclipse 窗口说明
  3. LINUX编译xcb/xcb-proto
  4. 【短信验证】短信验证 短信API使用方法含code【亲测可用】【实用】【超详细】
  5. python normalize函数_Python Pandas Series.dt.normalize用法及代码示例
  6. 【视频分享】尚学堂---数据结构和算法
  7. 精通 Windows Server 2008 R2
  8. 超级万能计算机在线应用,超级万能计算器手机版
  9. 京东HBase平台进化与演进
  10. android banner 不轮播,使用Android Banner来设置一个轮播图