Class VoxelVolume
- Namespace
- VoxelPlayground.Engine
- Assembly
- VoxEngine.dll
[BurstCompile]
public class VoxelVolume : VoxelVolumeBase
- Inheritance
-
objectVoxelVolume
- Inherited Members
- Extension Methods
Fields
checkConnectivity
public bool checkConnectivity
Field Value
- bool
chunksTransform
[HideInInspector]
public Transform chunksTransform
Field Value
DebugVisualizeProperty
public PointDataV2.Property DebugVisualizeProperty
Field Value
emissionOutlinePassMaterial
public Material emissionOutlinePassMaterial
Field Value
emissionPassMaterial
public Material emissionPassMaterial
Field Value
fallbackVoxel
[NonSerialized]
[ShowInInspector]
[SuffixLabel("RuntimeOnly", false)]
public PointDataV2 fallbackVoxel
Field Value
GlobalLodBias
public static float GlobalLodBias
Field Value
- float
GodViewLodBias
public const float GodViewLodBias = 2
Field Value
- float
HideMeshSideFlag
public HideSide HideMeshSideFlag
Field Value
isFragment
public bool isFragment
Field Value
- bool
isHideInitially
[NonSerialized]
public bool isHideInitially
Field Value
- bool
isoLevel
public float isoLevel
Field Value
- float
LastTimeCheckConnectivity
public float LastTimeCheckConnectivity
Field Value
- float
layerID
public int layerID
Field Value
- int
LodBias
public float LodBias
Field Value
- float
lodGroup
public LODGroup lodGroup
Field Value
material
public Material material
Field Value
MeshLodCount
public int MeshLodCount
Field Value
- int
OnChunkMeshGenerationFinish
public Action<Mesh[], VoxelChunk> OnChunkMeshGenerationFinish
Field Value
- Action<Mesh[], VoxelChunk>
OnChunkMeshGenerationStart
public Action<VoxelChunk> OnChunkMeshGenerationStart
Field Value
- Action<VoxelChunk>
OnChunksAndDataReady
public Action OnChunksAndDataReady
Field Value
- Action
OnFragmentsDetected
Params:
- Frags VoxelData, store in frag0 abc voxels, frag1 abc voxels etc.
- Bounds, length of 2*fragments, store in frag0BoundMin, frag0BoundMax, frag1BoundMin, frag1BoundMax etc.
- SolidCounts, length of fragments
- island ids, length of fragments + 1
- main island id of above island id
This event need to copy passed in data incase source is disposed
public Action<NativeList<PointDataV2>, NativeList<int3>, NativeList<int>, NativeSlice<int>, List<NativeSlice<int>>, NativeArray<bool>, bool, VoxelVolume> OnFragmentsDetected
Field Value
- Action<NativeList<PointDataV2>, NativeList<int3>, NativeList<int>, NativeSlice<int>, List<NativeSlice<int>>, NativeArray<bool>, bool, VoxelVolume>
OnReadyForGameplay_Called_Once
public Action<VoxelVolume> OnReadyForGameplay_Called_Once
Field Value
- Action<VoxelVolume>
OnVolumeDestroy
public Action<VoxelVolume> OnVolumeDestroy
Field Value
- Action<VoxelVolume>
OnVoxelsModified
public Action<VoxelVolume> OnVoxelsModified
Field Value
- Action<VoxelVolume>
renderQueue
public CustomRenderQueue renderQueue
Field Value
ticking
public bool ticking
Field Value
- bool
timeSinceLastMeshUpdate
public float timeSinceLastMeshUpdate
Field Value
- float
transparentPassMaterial
public Material transparentPassMaterial
Field Value
UninitializedChunks
public HashSet<VoxelChunk> UninitializedChunks
Field Value
- HashSet<VoxelChunk>
voxelChunks
[HideInInspector]
public VoxelChunk[] voxelChunks
Field Value
voxelDestructor
public IVoxelDestructible voxelDestructor
Field Value
Properties
AccurateLocalBounds
public Bounds AccurateLocalBounds { get; }
Property Value
LoadDataVersion
public IVoxelVolumeSaveData.Version LoadDataVersion { get; }
Property Value
solidBlockCountRatio
public float solidBlockCountRatio { get; }
Property Value
- float
Methods
AddChildFragment(VoxelVolume)
public void AddChildFragment(VoxelVolume chunkBasedMarchingCube)
Parameters
chunkBasedMarchingCubeVoxelVolume
CalculateBounds(int, int, int, PointDataV2*, float*)
[BurstCompile]
public static void CalculateBounds(int numPointsX, int numPointsY, int numPointsZ, PointDataV2* srcArray, float* min_max_array)
Parameters
numPointsXintnumPointsYintnumPointsZintsrcArrayPointDataV2*min_max_arrayfloat*
CalculateBoundSphere()
public void CalculateBoundSphere()
ClearSmallFragment()
public IEnumerator ClearSmallFragment()
Returns
- IEnumerator
CollectBatchLod()
public void CollectBatchLod()
CollectTick()
public void CollectTick()
ContainsPoint_CachedBounds_WorldSpace(Vector3)
public bool ContainsPoint_CachedBounds_WorldSpace(Vector3 point)
Parameters
pointVector3
Returns
- bool
CreateEditorMesh(bool)
[Button]
public void CreateEditorMesh(bool loadFromFile = true)
Parameters
loadFromFilebool
DispatchBatchLod()
public JobHandle DispatchBatchLod()
Returns
ForceReloadData()
public UniTask ForceReloadData()
Returns
- UniTask
ForceUpdateChunks()
public void ForceUpdateChunks()
GetBoundSphere(out Vector3, out float)
public void GetBoundSphere(out Vector3 center, out float radius)
Parameters
centerVector3radiusfloat
GetCurrentLodLevel()
Gets the current LOD (Level of Detail) level being rendered.
public int GetCurrentLodLevel()
Returns
- int
-1 if LOD system is not initialized or no LOD is visible 0 for highest detail (individual chunks) 1 for medium detail (LOD1 combined mesh) 2 for lowest detail (LOD2 combined mesh)
GetMuscleVoxelCount(int)
public int GetMuscleVoxelCount(int boneIndex)
Parameters
boneIndexint
Returns
- int
GuessChunkSizeAndPerAxis(int3, out int3, out int3, int)
public static void GuessChunkSizeAndPerAxis(int3 voxelSize, out int3 chunkCount, out int3 cubeCountsPerAxisInAChunk, int targetChunkSize = 20)
Parameters
voxelSizeint3chunkCountint3cubeCountsPerAxisInAChunkint3targetChunkSizeint
Initialize()
public void Initialize()
IsGameplayReady()
public bool IsGameplayReady()
Returns
- bool
IterateVoxelsSpherical(float3, float, IterateVoxelsInRadiusAction)
public void IterateVoxelsSpherical(float3 center_WS, float radius_WS, VoxelVolume.IterateVoxelsInRadiusAction visitor)
Parameters
center_WSfloat3radius_WSfloatvisitorVoxelVolume.IterateVoxelsInRadiusAction
LoadDataAndInitializeFrom(VoxelVolume, Vector3Int, Vector3Int)
public Vector3 LoadDataAndInitializeFrom(VoxelVolume from, Vector3Int chunkMin, Vector3Int chunkMax)
Parameters
fromVoxelVolumechunkMinVector3IntchunkMaxVector3Int
Returns
LoadDataAndInitilize(NativeArray<PointDataV2>)
public void LoadDataAndInitilize(NativeArray<PointDataV2> data)
Parameters
dataNativeArray<PointDataV2>
LoadDataAndInitilize(NativeSlice<PointDataV2>, int3)
public void LoadDataAndInitilize(NativeSlice<PointDataV2> data, int3 sourceDim)
Parameters
dataNativeSlice<PointDataV2>sourceDimint3
LoadDataAndInitilize(IVoxelVolumeSaveData)
public void LoadDataAndInitilize(IVoxelVolumeSaveData cubeData)
Parameters
cubeDataIVoxelVolumeSaveData
LoadEmptyData()
public void LoadEmptyData()
MarkChunksModified(Vector3Int, Vector3Int)
public void MarkChunksModified(Vector3Int chunkMin, Vector3Int chunkMax)
Parameters
chunkMinVector3IntchunkMaxVector3Int
MarkDirtyByLocalBounds(Bounds)
public void MarkDirtyByLocalBounds(Bounds localBouns)
Parameters
localBounsBounds
OnDataModified(Vector3)
protected override void OnDataModified(Vector3 localPos)
Parameters
localPosVector3
RefreshAll()
public void RefreshAll()
RegisterDependencyJobHandle(JobHandle)
Register a job handle that depends on this marching cube's data
public void RegisterDependencyJobHandle(JobHandle jobHandle)
Parameters
jobHandleJobHandle
Reset()
public override void Reset()
SetAllDirty()
public void SetAllDirty()
SetLayer(int)
public void SetLayer(int layer)
Parameters
layerint
SetMeshesVisible(bool)
public void SetMeshesVisible(bool visible)
Parameters
visiblebool
SetRendererEnable(bool)
public void SetRendererEnable(bool value)
Parameters
valuebool
UnregisterDependencyJobHandle(JobHandle)
public void UnregisterDependencyJobHandle(JobHandle jobHandle)
Parameters
jobHandleJobHandle
UpdateCachedBounds_WorldSpace()
public void UpdateCachedBounds_WorldSpace()
UpdateTick()
public void UpdateTick()
UpdateWorldToLocalMatrix()
public void UpdateWorldToLocalMatrix()