2024年4月9日
#unity/日常积累 GOAP 目标导向型行为计划 AI 算法 全称: Goal-Oriented Action Planning 游戏开发AI 实现,一般就是 FSM(有限状态机)、HFSM(分层/层次有限状态机)、BehaviorTree(行为树) 他们需要提前设计好 行为、状态之间的切换 当需要添加或者减少 行为、状态 的时候,需要重新配置,甚至需要挺大的改……
协奏
2024年4月9日
#unity/日常积累 定义 命名空间: System.Collections.Generic 程序集: System.Runtime.dll 定义操作泛型集合的方法。 1 public interface ICollection<T> : System.Collections.Generic.IEnumerable<T> 类型参数 T 集合中元素的类型。 派生 Microsoft.Extensions.DependencyInjection.IServiceCollection Microsoft.Extensions.Primitives.StringValues System.Activities.Hosting.SymbolResolver System.Activities.Presentation.Model.ModelItemCollection 更多………
协奏
2024年4月9日
测试场景,运行效果表现,根节点挂载的,逻辑根节点是PERoot,显示相关逻辑节点,是NavView 点击鼠标左键,逻辑上,会设定好,寻路的开始节点; 然后,点击右键,会设定好,寻路的结束节点; 会自动绘制出,红线,连接开始和结束,而黄线,就是包含寻路过程中,经历的多边形方块; 多边形,除……
协奏
2024年4月9日
通过A星算法,计算开始和结束节点,经过NavArea寻路区域的CalcAStarPolyPath接口,先清空各个数据容器,然后把开始区域,先塞进检测队列m_detectQue 继续,使用while循环,如果m_detectQue检测队列,包含目标结束节点end,就说明检测完毕了,通……
协奏
2024年4月9日
导航地图NavMap,会把之前的逻辑串联起来,有关键字partial分部类和方法,声明了,各个寻路顶点的数据容器,寻路区域的数组; 还有边界字典borderDic和areaIDDic,用来处理,可用的区域边界; 另外还有3个Action委托函数,用来处理,Scene场景,配合NavV……
协奏
2024年4月9日
介绍一下,GOAP决策算法,定义可以参考GOAP 目标导向型行为计划 AI 算法 先弄一个打log的抽象基类,其中包含单例Instance,还有三个抽象函数,分别对应,普通log打印,警告log打印,错误log打印 打印类,几个静态接口,调用了抽象基类的 这是继承自,抽象基类的,具体实现,调用……
协奏
2024年4月8日
#unity/日常积累 public static float Acos (float f); 描述 返回 f 的反余弦 - 其余弦为 f 的角度(以弧度为单位)。 1 2 3 4 5 6 7 8 using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { void Example() { print(Mathf.Acos(0.5F)); } }……
协奏
2024年4月8日
继续看控件逻辑; 继承自UIBehaviour逻辑,它本身也是继承自MonoBehaviour,还有按钮点击的IPointerClickHandler; 然后,就是序列化,各个按钮点击相关 这个控件,主要是用于,animationTime控制动画播放时间,和多久可以触发一次按钮invo……
协奏
2024年4月8日
#unity/日常积累 算法简述 从目标点引出一条射线,计算该射线与多边形边的交点次数,奇数个交点则目标点在多边形内,否则在多边形外部。 论述 由于多边形为闭合曲线,因此,改多边形将平面分成了内部和外部两部分。要从内部前往外部或者从外部前往内部,一定要跨越多边形的边界。若要做到在平面中区……
协奏
2024年4月8日
先创建一个空文件夹 编辑器类,子文件夹 创建代码相关的类 用到的命名空间和归属 跟编辑器文件夹同级,创建一个Bind绑定脚本 添加到组件菜单,其中会Get获取,组件名称,这里测试的,只是加了MeshRenderer和SpriteRenderer,否则,都判定为Transform即可; 也可以……
协奏