CodeBase 节点是通过反射 Unity 内置 C# 类库及工程中的自定义 C# 类、结构体及其成员(方法、字段)后,经过筛选生成的。主要分为以下几类:Create、Member、Set、Get 和 Enum。
struct(结构体)或 class(类)实例。OnStart 等初始化事件中使用。
struct 或 class 的成员方法。Pre 和 Next 引脚)中调用,以确保严格的执行顺序控制。
Mathf 类中的运算方法)无需执行流,可在 AnimGraph 中使用。
struct 或 class 实例的成员字段值。Pre 和 Next 引脚)中,以保证严格的执行顺序。
struct 或 class 实例的成员字段值。
Use Input 选项:
Int 值转换为对应的枚举值输出。None)。
Add EnumToInt Node。
Int 值。
反射机制可访问以下核心程序集(Assemblies):
- 基础类库
mscorlib
Assembly-CSharp-firstpass
Assembly-CSharp
动画系统专用
cn.tuanjie.AnimGraph.Runtime
Unity引擎核心模块
UnityEngine
UnityEngine.CoreModule
UnityEngine.PhysicsModule
UnityEngine.Physics2DModule
UnityEngine.AudioModule
UnityEngine.AnimationModule
输入系统
Unity.InputSystem
可直接反射访问的基础类型包括:
object, bool, int, float, string
Vector2, Vector3, Vector4
Quaternion, Matrix4x4
Rect, Bounds, Color
AnimationCurve, LayerMask
Ray, Ray2D
RaycastHit, RaycastHit2D
ContactPoint, ContactPoint2D
ParticleCollisionEventGameObject, Transform
CharacterController, AnimatorStateInfo
AudioSource, AudioMixerGroup
Application, Scene, SceneManager
Time, Random, Debug
Input, Touch, Screen, Cursor
Physics, Physics2D, NavMesh
GUI, GUILayout, GUIUtility
GizmosIList, IDictionary
Exception当反射机制没成功反射出某个方法或变量时,而这个方法或变量已经在AnimGraph创建,这个节点会变成missing node。runtime下不会执行任何指令。