Skip to content

节点与场景速查 ​

纯查表:节点类型、Node / Scene / PickResult 成员、调试辅助层与枚举。用法见 场景图与节点。

NOTE

所有可渲染节点类型都在命名空间 Aura3D.Core.Nodes;Scene、Grid、AxisGizmo、PickResult 在 Aura3D.Core.Scenes。

节点类型总表 ​

类型作用关键成员(仅示例,非全部)命名空间教程
Camera决定观察位置与投影ProjectionType、FieldOfView、NearPlane/FarPlane、OrthographicSize、IsRenderBackground、View/Projection/ViewProjection、LookAt(Vector3)、FitToBoundingBox(bbox, padding)、SetClippingPlanes(near, far)、WorldToScreen(Vector3)Aura3D.Core.Nodes相机与视角控制
Light(抽象基类)三种灯的公共部分LightColor、CastShadowAura3D.Core.Nodes光照与阴影
DirectionalLight平行光 / 太阳,方向由 RotationDegrees 决定Irradiance(lux,默认 80000)、Intensity(只读)、ShadowConfig(Width/Height/NearPlane/FarPlane)Aura3D.Core.Nodes光照与阴影
PointLight点光源,向四周发光AttenuationRadius(默认 10f)、LuminousIntensity(cd,默认 1000)、Intensity(只读)、SoftRatio(默认 0.9)、ShadowConfigAura3D.Core.Nodes光照与阴影
SpotLight聚光,锥形光束InnerConeAngleDegree(默认 10)、OuterConeAngleDegree(默认 15)、AttenuationRadius、LuminousIntensity、SoftRatio、ShadowConfigAura3D.Core.Nodes光照与阴影
Mesh单个可渲染形状(几何 + 材质)Geometry、Material、BoundingBox、LocalBoundingBox、Model、IsSkinnedMesh/IsStaticMeshAura3D.Core.Nodes加载与放置模型
Model导入模型的整棵子树Meshes、Skeleton、AnimationSampler、BoundingBox、BoundingBoxPadding、CustomBoundingBox、Clone(CopyType)、IsSkinnedModelAura3D.Core.Nodes加载与放置模型
InstancedMeshGPU 实例化,一份几何画多次FromMesh(mesh)(静态)、AddInstance(Matrix4x4)、UpdateInstance(i, transform)、RemoveInstance(i)、SetInstances(list)、InstanceCount、Material、SetAttributeEnabled(name, bool)、SetInstanceAttribute<T>(attr, count, data)、EnableFrustumCullingAura3D.Core.Nodes实例化渲染
InstancedMeshGroupHISM:八叉树分组 + 视锥剔除构造 InstancedMeshGroup(sourceMesh)、SourceMesh、MaxInstancesPerGroup(默认 1024)、MaxDepth(默认 6)、SetInstances(list)、AddInstance/AddInstances、UpdateInstance(i, transform)、Build()、InstanceCount/GroupCount/InPlaceUpdateCount/RebuildCount、IsBuildingAura3D.Core.Nodes实例化渲染
ParticleSystemCPU 模拟的粒子发射器集合Emitters、Play()、Stop()、Pause()、IsPlaying、ActiveCount、MaxParticles、CustomBoundingBox、EnableVisibilityCullingAura3D.Core.Nodes粒子系统
BoneAttachment把节点钉到某根骨骼上Mesh(须蒙皮网格)、BoneName、LocalOffset、NormalizeScaleAura3D.Core.Nodes动画系统

Node 基类常用成员 ​

Mesh、Model、Camera、Light、InstancedMesh、InstancedMeshGroup、ParticleSystem、BoneAttachment 都继承自 Node,共享下列成员。

成员类型说明
Namestring节点名,默认 "Node"
TagsHashSet<string>标签集合,用于分组过滤
PositionVector3本地位置
RotationVector3本地旋转(弧度)
RotationDegreesVector3本地旋转(角度),与 Rotation 同步
RotationQuaternionQuaternion本地旋转(四元数),与上两者同步
ScaleVector3本地缩放,默认 (1,1,1)
LocalTransformMatrix4x4本地变换矩阵,可读写
WorldTransformMatrix4x4世界变换矩阵,可读写(赋值会反算本地)
Forward/Backward/Up/Down/Right/LeftVector3只读方向向量
ParentNode?父节点,只读
ChildrenIReadOnlySet<Node>子节点集合,只读
CurrentSceneScene?所属场景,只读
Enablebool开关;置 false 连带子树都不渲染
AddChild(Node, AttachToParentRule)方法挂为子节点
RemoveChild(Node, AttachToParentRule)方法摘除子节点
GetNodesInChildren<T>()List<T>递归收集子树中 T 类型节点(含自身)
BeginTransformUpdate(UpdateTransformMode = All)IDisposable批量改变换,using 结束时一次性重算
Update(double delta)虚方法每帧回调,Model/ParticleSystem/InstancedMeshGroup/BoneAttachment 等重写

Scene 常用成员 ​

成员类型说明
MainCameraCamera默认相机,建 Scene 时自动创建
MainDirectionalLightDirectionalLight?设为此光才启用 CSM 级联阴影
BackgroundOneOf<CubeTexture, Texture>背景,纯色贴图或立方体贴图天空盒
NodesIReadOnlySet<Node>顶层节点集合
RenderPipelineRenderPipeline当前渲染管线(可读其 Settings)
PipelineSettingsPipelineSettings管线配置对象
AddNode(Node)方法加入顶层节点(连带其子树)
RemoveNode(Node)方法移除顶层节点(仅根节点)
Pick(float x, float y, Camera?)List<PickResult>屏幕坐标拾取,按距离排序;camera 省略则用主相机
PickClosest(float x, float y, Camera?)PickResult?最近一次命中
ShowGridbool显示/隐藏地面网格
ShowAxisGizmobool显示/隐藏坐标轴
GridGrid地面网格配置对象
AxisGizmoAxisGizmo坐标轴配置对象
MeshOctreeOctree<Mesh>网格空间索引,拾取与剔除的粗筛

PickResult 成员 ​

Scene.Pick / Scene.PickClosest 返回。

成员类型说明
NodeNode命中的节点(模型部件命中时返回其所属 Model)
InstanceIndexint?InstancedMesh 实例索引;普通 Mesh 为 null
Distancefloat命中点到相机的距离
WorldPositionVector3命中点的世界坐标

调试辅助:Grid 与 AxisGizmo ​

Scene.Grid 与 Scene.AxisGizmo 是配置对象(不是 Node),用 ShowGrid / ShowAxisGizmo 开关。

对象成员类型说明
GridEnablebool是否显示(由 Scene.ShowGrid 读写)
GridSizefloat(默认 10.0f)半宽尺寸
GridDivisionsint(默认 10)等分数
GridLineColorColor普通格线颜色
GridCenterLineColorColor中心轴线颜色
AxisGizmoEnablebool是否显示(由 Scene.ShowAxisGizmo 读写)
AxisGizmoAxisLengthfloat(默认 1.0f)轴长
AxisGizmoArrowheadSizefloat(默认 0.15f)箭头大小

TIP

要看灯的范围球、相机视锥、包围盒、骨骼线这类可视化,用 PipelineSettings.Debug.*,见 选择与配置管线。

相关枚举 ​

枚举成员用途
AttachToParentRuleKeepWorld、KeepLocalAddChild/RemoveChild 时决定保持世界还是本地
UpdateTransformModeLocal、World、ChildrenWorld、AllBeginTransformUpdate 指定重算范围(位标志)
ProjectionTypePerspective、OrthographicCamera.ProjectionType

交叉链接 ​