Obi  6.4
Unified particle physics for Unity
 All Classes Namespaces Functions Variables Enumerations Enumerator Properties Events Pages
Obi.ObiSoftbodySurfaceBlueprint Class Reference
Inheritance diagram for Obi.ObiSoftbodySurfaceBlueprint:
Obi.ObiSoftbodyBlueprintBase Obi.ObiMeshBasedActorBlueprint Obi.ObiActorBlueprint Obi.IObiParticleCollection

Classes

struct  ParticleToSurface
 

Public Types

enum  ParticleType {
  None = 0, Bone = 1 << 0, Volume = 1 << 1, Surface = 1 << 2,
  All = Bone | Volume | Surface
}
 
enum  VoxelConnectivity {
  None = 0, Faces = 1 << 0, Edges = 1 << 1, Vertices = 1 << 2,
  All = Faces | Edges | Vertices
}
 
enum  SurfaceSamplingMode { None, Vertices, Voxels }
 
enum  VolumeSamplingMode { None, Voxels }
 
enum  SamplingMode { Surface, Volume, Full }
 

Public Attributes

SurfaceSamplingMode surfaceSamplingMode = SurfaceSamplingMode.Voxels
 
int surfaceResolution = 16
 
VolumeSamplingMode volumeSamplingMode = VolumeSamplingMode.None
 
int volumeResolution = 16
 
GameObject skeleton
 
Transform rootBone
 
Quaternion boneRotation
 
float maxAnisotropy = 3
 
float smoothing = 0.25f
 
int shapeResolution = 48
 
Mesh generatedMesh = null
 
int[] vertexToParticle = null
 
List< ParticleType > particleType = null
 
const float DEFAULT_PARTICLE_MASS = 0.1f
 
- Public Attributes inherited from Obi.ObiMeshBasedActorBlueprint
Mesh inputMesh
 
Vector3 scale = Vector3.one
 
Quaternion rotation = Quaternion.identity
 
- Public Attributes inherited from Obi.ObiActorBlueprint
Vector3[] positions = null
 
Vector4[] restPositions = null
 
Quaternion[] orientations = null
 
Quaternion[] restOrientations = null
 
Vector3[] velocities = null
 
Vector3[] angularVelocities = null
 
float[] invMasses = null
 
float[] invRotationalMasses = null
 
int[] filters = null
 
Vector3[] principalRadii = null
 
Color[] colors = null
 
int[] points = null
 
int[] edges = null
 
int[] triangles = null
 
ObiDistanceConstraintsData distanceConstraintsData = null
 
ObiBendConstraintsData bendConstraintsData = null
 
ObiSkinConstraintsData skinConstraintsData = null
 
ObiTetherConstraintsData tetherConstraintsData = null
 
ObiStretchShearConstraintsData stretchShearConstraintsData = null
 
ObiBendTwistConstraintsData bendTwistConstraintsData = null
 
ObiShapeMatchingConstraintsData shapeMatchingConstraintsData = null
 
ObiAerodynamicConstraintsData aerodynamicConstraintsData = null
 
ObiChainConstraintsData chainConstraintsData = null
 
ObiVolumeConstraintsData volumeConstraintsData = null
 
List< ObiParticleGroupgroups = new List<ObiParticleGroup>()
 

Protected Member Functions

override IEnumerator Initialize ()
 
override void SwapWithFirstInactiveParticle (int index)
 
void ConnectToNeighborParticles (MeshVoxelizer voxelizer, int particle, List< Vector3 > particles, List< ParticleType > allowed, int x, int y, int z, Vector3Int[] neighborhood, float clusterSize)
 
IEnumerator CreateClustersFromVoxels (MeshVoxelizer voxelizer, List< Vector3 > particles, VoxelConnectivity connectivity, List< ParticleType > allowed)
 
IEnumerator CreateClustersFromSkeleton (List< Vector3 > particles)
 
IEnumerator SurfaceMeshShapeMatchingConstraints (List< Vector3 > particles, int[] triangles)
 
virtual IEnumerator CreateShapeMatchingConstraints (List< Vector3 > particles)
 

Properties

MeshVoxelizer surfaceVoxelizer [get, set]
 
MeshVoxelizer volumeVoxelizer [get, set]
 
MeshVoxelizer shapeVoxelizer [get, set]
 
- Properties inherited from Obi.ObiActorBlueprint
int particleCount [get]
 
int activeParticleCount [get]
 
bool usesOrientedParticles [get]
 
virtual bool usesTethers [get]
 
bool empty [get]
 
Bounds bounds [get]
 
- Properties inherited from Obi.IObiParticleCollection
int particleCount [get]
 
int activeParticleCount [get]
 
bool usesOrientedParticles [get]
 

Additional Inherited Members

- Public Member Functions inherited from Obi.ObiActorBlueprint
delegate void BlueprintCallback (ObiActorBlueprint blueprint)
 
bool IsParticleActive (int index)
 
bool ActivateParticle (int index)
 
bool DeactivateParticle (int index)
 
void RecalculateBounds ()
 
IEnumerable< IObiConstraintsGetConstraints ()
 
IObiConstraints GetConstraintsByType (Oni.ConstraintType type)
 
int GetParticleRuntimeIndex (int blueprintIndex)
 
Vector3 GetParticlePosition (int index)
 
Quaternion GetParticleOrientation (int index)
 
void GetParticleAnisotropy (int index, ref Vector4 b1, ref Vector4 b2, ref Vector4 b3)
 
float GetParticleMaxRadius (int index)
 
Color GetParticleColor (int index)
 
void GenerateImmediate ()
 
IEnumerator Generate ()
 
void Clear ()
 
ObiParticleGroup InsertNewParticleGroup (string name, int index, bool saveImmediately=true)
 
ObiParticleGroup AppendNewParticleGroup (string name, bool saveImmediately=true)
 
bool RemoveParticleGroupAt (int index, bool saveImmediately=true)
 
bool SetParticleGroupName (int index, string name, bool saveImmediately=true)
 
void ClearParticleGroups (bool saveImmediately=true)
 
void RemoveSelectedParticles (ref bool[] selected, bool optimize=true)
 
void RestoreRemovedParticles ()
 
virtual void GenerateTethers (bool[] selected)
 
virtual void ClearTethers ()
 
- Protected Attributes inherited from Obi.ObiActorBlueprint
bool m_Empty = true
 
int m_ActiveParticleCount = 0
 
int m_InitialActiveParticleCount = 0
 
Bounds _bounds = new Bounds()
 
- Events inherited from Obi.ObiActorBlueprint
BlueprintCallback OnBlueprintGenerate
 

Member Data Documentation

float Obi.ObiSoftbodySurfaceBlueprint.maxAnisotropy = 3

Maximum particle anisotropy. High values will allow particles to deform to better fit their neighborhood.

Transform Obi.ObiSoftbodySurfaceBlueprint.rootBone

root bone used for skeleton particles.


The documentation for this class was generated from the following file: