Skip to content

Node and Scene Reference ​

Pure quick reference: node types, Node / Scene / PickResult members, debug layers, and enums. For usage see The Scene Graph and Nodes.

NOTE

All renderable node types live in the Aura3D.Core.Nodes namespace; Scene, Grid, AxisGizmo, and PickResult live in Aura3D.Core.Scenes.

Node type overview ​

TypeWhat it doesKey members (a subset, not exhaustive)NamespaceTutorial
CameraSets viewpoint and projectionProjectionType, FieldOfView, NearPlane/FarPlane, OrthographicSize, IsRenderBackground, View/Projection/ViewProjection, LookAt(Vector3), FitToBoundingBox(bbox, padding), SetClippingPlanes(near, far), WorldToScreen(Vector3)Aura3D.Core.NodesCameras and View Control
Light (abstract base)Common part of the three lightsLightColor, CastShadowAura3D.Core.NodesLighting and Shadows
DirectionalLightParallel light / sun; direction from RotationDegreesIrradiance (lux, default 80000), Intensity (read-only), ShadowConfig (Width/Height/NearPlane/FarPlane)Aura3D.Core.NodesLighting and Shadows
PointLightPoint source, glows in all directionsAttenuationRadius (default 10f), LuminousIntensity (cd, default 1000), Intensity (read-only), SoftRatio (default 0.9), ShadowConfigAura3D.Core.NodesLighting and Shadows
SpotLightSpotlight, a cone beamInnerConeAngleDegree (default 10), OuterConeAngleDegree (default 15), AttenuationRadius, LuminousIntensity, SoftRatio, ShadowConfigAura3D.Core.NodesLighting and Shadows
MeshA single renderable shape (geometry + material)Geometry, Material, BoundingBox, LocalBoundingBox, Model, IsSkinnedMesh/IsStaticMeshAura3D.Core.NodesLoading and Placing Models
ModelThe whole subtree of an imported modelMeshes, Skeleton, AnimationSampler, BoundingBox, BoundingBoxPadding, CustomBoundingBox, Clone(CopyType), IsSkinnedModelAura3D.Core.NodesLoading and Placing Models
InstancedMeshGPU instancing; one geometry drawn many timesFromMesh(mesh) (static), AddInstance(Matrix4x4), UpdateInstance(i, transform), RemoveInstance(i), SetInstances(list), InstanceCount, Material, SetAttributeEnabled(name, bool), SetInstanceAttribute<T>(attr, count, data), EnableFrustumCullingAura3D.Core.NodesInstanced Rendering
InstancedMeshGroupHISM: octree grouping + frustum cullingctor InstancedMeshGroup(sourceMesh), SourceMesh, MaxInstancesPerGroup (default 1024), MaxDepth (default 6), SetInstances(list), AddInstance/AddInstances, UpdateInstance(i, transform), Build(), InstanceCount/GroupCount/InPlaceUpdateCount/RebuildCount, IsBuildingAura3D.Core.NodesInstanced Rendering
ParticleSystemA set of CPU-simulated emittersEmitters, Play(), Stop(), Pause(), IsPlaying, ActiveCount, MaxParticles, CustomBoundingBox, EnableVisibilityCullingAura3D.Core.NodesParticle System
BoneAttachmentPins a node to a specific boneMesh (must be skinned), BoneName, LocalOffset, NormalizeScaleAura3D.Core.NodesAnimation System

Node base members ​

Mesh, Model, Camera, Light, InstancedMesh, InstancedMeshGroup, ParticleSystem, and BoneAttachment all derive from Node and share these members.

MemberTypeDescription
NamestringNode name, default "Node"
TagsHashSet<string>Tag set used for grouped filtering
PositionVector3Local position
RotationVector3Local rotation (radians)
RotationDegreesVector3Local rotation (degrees), synced with Rotation
RotationQuaternionQuaternionLocal rotation (quaternion), synced with the two above
ScaleVector3Local scale, default (1,1,1)
LocalTransformMatrix4x4Local transform matrix, read/write
WorldTransformMatrix4x4World transform matrix, read/write (assigning back-solves the local)
Forward/Backward/Up/Down/Right/LeftVector3Read-only direction vectors
ParentNode?Parent node, read-only
ChildrenIReadOnlySet<Node>Child set, read-only
CurrentSceneScene?Owning scene, read-only
EnableboolToggle; false also disables the whole subtree
AddChild(Node, AttachToParentRule)methodAttach as a child
RemoveChild(Node, AttachToParentRule)methodDetach a child
GetNodesInChildren<T>()List<T>Recursively collect T nodes in the subtree (includes self)
BeginTransformUpdate(UpdateTransformMode = All)IDisposableBatch transform edits; recompute once at the end of using
Update(double delta)virtual methodPer-frame callback; overridden by Model/ParticleSystem/InstancedMeshGroup/BoneAttachment

Scene members ​

MemberTypeDescription
MainCameraCameraDefault camera, created automatically with the Scene
MainDirectionalLightDirectionalLight?CSM cascades only activate for the light set here
BackgroundOneOf<CubeTexture, Texture>Background — solid texture or cube-map skybox
NodesIReadOnlySet<Node>Set of top-level nodes
RenderPipelineRenderPipelineCurrent render pipeline (its Settings is readable)
PipelineSettingsPipelineSettingsPipeline configuration object
AddNode(Node)methodAdd a top-level node (with its subtree)
RemoveNode(Node)methodRemove a top-level node (root nodes only)
Pick(float x, float y, Camera?)List<PickResult>Screen-coordinate picking, sorted by distance; camera defaults to the main camera
PickClosest(float x, float y, Camera?)PickResult?The single closest hit
ShowGridboolShow/hide the ground grid
ShowAxisGizmoboolShow/hide the axis gizmo
GridGridGround-grid configuration object
AxisGizmoAxisGizmoAxis-gizmo configuration object
MeshOctreeOctree<Mesh>Spatial mesh index used for picking/culling broad phase

PickResult members ​

Returned by Scene.Pick / Scene.PickClosest.

MemberTypeDescription
NodeNodeThe hit node (a mesh part hit returns its owning Model)
InstanceIndexint?InstancedMesh instance index; null for a regular Mesh
DistancefloatDistance from the hit point to the camera
WorldPositionVector3World-space position of the hit point

Debug layers: Grid and AxisGizmo ​

Scene.Grid and Scene.AxisGizmo are configuration objects (not Nodes), toggled via ShowGrid / ShowAxisGizmo.

ObjectMemberTypeDescription
GridEnableboolWhether shown (read/written via Scene.ShowGrid)
GridSizefloat (default 10.0f)Half-extent size
GridDivisionsint (default 10)Number of divisions
GridLineColorColorRegular grid-line color
GridCenterLineColorColorCenter axis-line color
AxisGizmoEnableboolWhether shown (read/written via Scene.ShowAxisGizmo)
AxisGizmoAxisLengthfloat (default 1.0f)Axis length
AxisGizmoArrowheadSizefloat (default 0.15f)Arrowhead size

TIP

For overlays such as light range spheres, camera frustums, bounding boxes, and bone lines, use PipelineSettings.Debug.* — see Choosing and Configuring Pipelines.

EnumMembersUse
AttachToParentRuleKeepWorld, KeepLocalDecide whether world or local is preserved on AddChild/RemoveChild
UpdateTransformModeLocal, World, ChildrenWorld, AllSet the recompute scope for BeginTransformUpdate (bit flags)
ProjectionTypePerspective, OrthographicCamera.ProjectionType