- 博客(12)
- 问答 (1)
- 收藏
- 关注
原创 任务系统开始怎么设计?设计模式-观察者模式
又称“发布-订阅模式”。 一个目标游戏物体管理所有相依于它的观察者游戏物体,并在它本身状态改变时主动发出通知。通常透过呼叫各观察者所提供的方法来实现。 此模式通常被用来实现事件处理系统。 老虎“走()”过来,所有兔子主动“跑()”,不用写方法告诉每只兔子。 游戏中最常用观察者模式的地方就是任务系统:接一个杀50怪的任务,再接一个杀20怪的任务,用观察者模式,任务观察到杀了一个怪,2个任务一起跟着响应(+1击杀),不用观察者模式的话,要遍历所有任务。 定义委托:所有要观察的任务都注册到这个委托。
2024-11-19 17:05:20
296
原创 面向对象设计模式-SOLID原则
高层模块不应该依赖于低层模块,二者都应该依赖于抽象。抽象不应该依赖于具体实现,具体实现应该依赖于抽象。这意味着接口的设计应该小而专注。子类型必须能替换其基类型。
2024-11-19 15:34:35
721
原创 UGUI Raycast Target 优化
UGUI的点击事件基于射线。 如果不需要响应事件,则不要在Image与Text组件上勾选RaycastTarget。 有些RaycastTarget不能随便取消勾选,比如ButtonUI自带的Image组件和Button组件,其实Button点击事件是靠Image接收点击的,关闭了Image的Raycast Target后按钮就不能按了。 UI事件会在EventSystem的Update()方法中调用Process时触发。 UGUI会遍历屏幕中所有RaycastTarget==true的UI,接
2024-09-05 22:32:32
967
原创 AnimatorStateInfo结构体
有关当前或下一(动画)状态的信息。 变量 fullPathHash: int, get{}; 该状态的完整路径哈希,使用Animator.StringToHash生成哈希。 public static int StringToHash(string name);//name: 要转换的ID字符串 shortNameHash: int, {get;} 使用Animator.StringToHash生成哈希,哈希不包括父层的名称。 normalizedTime: float
2024-09-05 15:27:45
602
原创 Unity - Physic Material(物理材质)
顾名思义用于实现物理效果的材质。需要放在GameObject的Collider(碰撞体)上的Material中使用。可使用它轻松实现反弹效果(例如:桌球和弹球打方块游戏)。Dynamic Friction(动摩擦)通常取值为[0,1]0为无摩擦,1为最大摩擦,无限增加为继续增大摩擦@物理老师:移动时产生的摩擦力Static Friction(静摩擦)基本同上,静止时的摩擦力Bounciness(反弹力)[0,1]0不会弹,值为1时将在反弹时不损失能量。
2022-03-04 16:45:59
6805
空空如也
HDRP项目创建新场景自带雾去不掉,thank带佬
2022-02-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人