运行游戏的时候,可以看到,是有两个mixer的
![[Pasted image 20240306142609.png]]
第一个mixer混合器,就是总的,动画混合器
![[Pasted image 20240306142647.png]]
第二个mixer混合器,是开始步行的时候,才新增的; 有步行和跑步,俩动画,inputcount是2; 然后链接俩mixer混合器
![[Pasted image 20240306143307.png]]
混合动画节点中,创建动画片段的,具体逻辑
![[Pasted image 20240306143753.png]]
设置权重的接口封装
![[Pasted image 20240306143955.png]]
有可能存在,摄像头被环境,挡住的情况; 先添加一个layer层级,设置给Env环境
![[Pasted image 20240306153557.png]]
添加一个碰撞器相关脚本,然后设置一下标签 其他参数,也参考设置一下
![[Pasted image 20240306153709.png]]
运行游戏,角色来到墙壁前面的时候,就会触发,碰撞器,无法向前旋转
![[Pasted image 20240306153831.png]]
需要注意,环境本体,和子物体,也都是有碰撞器的
![[Pasted image 20240306154115.png]]
框架内,这是扩展功能接口
![[Pasted image 20240306154315.png]]
例如,获取类相关
![[Pasted image 20240306154354.png]]
数组对比:
![[Pasted image 20240306154423.png]]
判空逻辑:
![[Pasted image 20240306154515.png]]
主要用来检测,gameobject和音频是否为空
![[Pasted image 20240306154540.png]]
资源管理相关,就跟框架内置,对象池管理器,配合使用
![[Pasted image 20240306154708.png]]
对象池管理器,有两个容器列表,分别是游戏实体字典,和普通实体字典
![[Pasted image 20240306154759.png]]
其中,游戏实体类,构造函数,逻辑上,就是创建一个新的游戏实体,然后,放到对应的父物体即可; 还会整一个poolQueue队列容器,存放对象
![[Pasted image 20240306154910.png]]
这里的父物体,是传参过来的,对应的是这个:
![[Pasted image 20240306155046.png]]
![[Pasted image 20240306155118.png]]
放进对象池的逻辑:
![[Pasted image 20240306155301.png]]
然后,获取对象的相关逻辑: 如果没有设置父物体,就放到当前默认场景
![[Pasted image 20240306155419.png]]
![[Pasted image 20240306155547.png]]
回到对象池管理器,游戏对象字典,和普通对象字典,也是分开管理即可
![[Pasted image 20240306155751.png]]