换装系统_第二章.md 3.6 KB

来到主体ui的逻辑,可以看到,对应的ui,也都是序列化的

![[Pasted image 20240301134808.png]]

新增一个layer层

![[Pasted image 20240301144943.png]]

玩家的模型,是这个层级的

![[Pasted image 20240301145008.png]]

回到ui主体窗口,有一个渲染相机,就是只渲染这个层级的

![[Pasted image 20240301145058.png]]

运行后才会这样显示

![[Pasted image 20240301145132.png]]

这里会设置一个纹理

![[Pasted image 20240301145212.png]]

主要是为了,设定渲染的尺寸

![[Pasted image 20240301145356.png]]

在资源管理,分析窗口,对应的预制体,和引用的相关ui图片

![[Pasted image 20240301145516.png]]

这是窗口基类

![[Pasted image 20240301145710.png]]

回到主体窗口,控制移动模型物体的,是这个图片

![[Pasted image 20240301150129.png]]

位置:

![[Pasted image 20240301150219.png]]

拖拽事件的,调用逻辑

![[Pasted image 20240301150457.png]]

是框架集成的,添加拖曳事件的方法

![[Pasted image 20240301150527.png]]

具体实现逻辑: 滑动位置,和最后一次拖曳位置相减,得到偏差,传递过去,旋转模型

![[Pasted image 20240301150551.png]]

最后一次坐标,最开始默认是0

![[Pasted image 20240301150645.png]]

旋转角色,就是很基础的Transform旋转

![[Pasted image 20240301150709.png]]

这个类,声明定义了,角色的各个部件

![[Pasted image 20240301152046.png]]

弄一个枚举,包含 各个职业

![[Pasted image 20240301152224.png]]

头发配置

![[Pasted image 20240301152417.png]]

还有衣服和其他配置,也是类似

![[Pasted image 20240301152457.png]]

对应的配置文件:

![[Pasted image 20240301152620.png]]

实际上,是对应这三个

![[Pasted image 20240301152645.png]]

根据代码,可知

![[Pasted image 20240301154355.png]]

这里是创建,各个部位,配置文件的入口

![[Pasted image 20240301154422.png]]

所有配置,都放在这里

![[Pasted image 20240301154513.png]]

其中的面板

![[Pasted image 20240301154547.png]]

对应的脚本:

![[Pasted image 20240301154608.png]]

![[Pasted image 20240301154618.png]]

这里,就是获取配置的方法入口

![[Pasted image 20240301154724.png]]

这里,就是调用了,Addressables资源管理器的异步加载

![[Pasted image 20240301154801.png]]

回到资源管理窗体,可以看到,是有放在上面的

![[Pasted image 20240301154849.png]]

打断点,可以看到,就是传递一个配置相关的名字,就可以异步加载出来了

![[Pasted image 20240301154932.png]]

而换装,实际上,就是切换,不同的纹理网格

![[Pasted image 20240301155039.png]]

配置的基类,框架内

![[Pasted image 20240301155224.png]]

资源分析窗口,配置文件,和mesh纹理之间,相关引用关系

![[Pasted image 20240301155351.png]]

头发除了主网格,还有多一个网格配置,但没用上

![[Pasted image 20240301155557.png]]

![[Pasted image 20240301155914.png]]

职业选择按钮,逻辑脚本:

![[Pasted image 20240301160621.png]]

四个按钮:

![[Pasted image 20240301160653.png]]

点击选择,播放音效,设置职业为,当前

![[Pasted image 20240301160727.png]]

初始化,默认是没选中的 window窗体,通过调用的传参,传递过去

![[Pasted image 20240301160845.png]]

![[Pasted image 20240301160901.png]]

选择职业,对应触发的按钮

![[Pasted image 20240301162204.png]]

![[Pasted image 20240301162233.png]]

初始化的时候,默认是战士

![[Pasted image 20240301162256.png]]