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

新增一个layer层

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

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

运行后才会这样显示

这里会设置一个纹理

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

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

这是窗口基类

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

位置:

拖拽事件的,调用逻辑

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

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

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

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

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

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

头发配置

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

对应的配置文件:

实际上,是对应这三个

根据代码,可知

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

所有配置,都放在这里

其中的面板

对应的脚本:

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

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

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

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

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

配置的基类,框架内

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

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

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

四个按钮:

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

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

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

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