Preparing search index...

    Renders and simulates hair with physics, collision, and material properties.

        const model = this.pluginSystem.findInterface(Editor.Model.IModel) as Editor.Model.IModel;
    const scene = model.project.scene;

    // HairVisual renders strand-based hair simulation. It needs a
    // HairDataAsset (hair grooming data, typically authored in a DCC tool
    // and imported into the project) assigned before it draws anything;
    // the values below just configure the simulation parameters.
    const obj = scene.createSceneObject('HairObj');
    const hair = obj.addComponent('HairVisual') as Editor.Components.HairVisual;

    hair.gravity = new vec3(0, -9.8, 0);
    hair.stiffness = 0.5;
    hair.bendStiffness = 0.3;
    hair.stretchStiffness = 0.8;
    hair.friction = 0.4;
    hair.strandWidth = 0.002;
    hair.density = 100;
    hair.windEnabled = true;
    hair.windForce = new vec3(1, 0, 0);

    console.log(`HairVisual configured: stiffness=${hair.stiffness}, density=${hair.density}`);

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    bendStiffness: number

    Resistance to bending deformation.

    clumpDensity: number

    Density of hair clumping.

    clumpRadius: number

    Radius defining the area for hair clumping.

    clumpTipScale: number

    Scale factor applied to clump tips.

    collapseStiffness: number

    Resistance to strand collapse.

    colliders: ColliderComponent[]

    Physics colliders that hair collides with.

    collisionEnabled: boolean

    Whether hair collides with external objects.

    collisionFriction: number

    Friction coefficient for collisions with external objects.

    collisionOffset: number

    Distance offset for collision detection.

    collisionStiffness: number

    Stiffness applied when hair collides with external objects.

    damp: number

    Damping factor for hair movement.

    debugDrawLoadedStrands: boolean

    Whether loaded hair strands are visualized in debug mode.

    debugDrawSimulatedStrands: boolean

    Whether simulated hair strands are visualized in debug mode.

    debugModeEnabled: boolean

    Whether debug visualization is enabled.

    density: number

    Hair strand density.

    enabled: boolean

    Whether the component is active.

    fallbackModeEnabled: boolean

    Whether fallback rendering is used when simulation is unavailable.

    frameRate: number

    Simulation update rate in frames per second.

    friction: number

    Friction applied to hair movement.

    gravity: vec3

    Gravitational acceleration vector affecting hair.

    hairData: HairDataAsset

    Hair geometry and strand data asset.

    hairMaterial: Material

    Material applied to rendered hair.

    hairResolution: number

    Resolution of hair simulation.

    horizontalAlignment: Horizontal

    Horizontal alignment of the mesh visual.

    id: Uuid

    The unique id of the entity.

    meshShadowMode: MeshShadowMode

    Shadow rendering mode for the mesh.

    meta: Meta

    Metadata associated with this entity, providing access to its unique identifier and other descriptive properties.

    name: string

    Name of the component.

    noise: number

    Noise amplitude applied to hair movement.

    renderOrder: number

    Determines the order in which this visual component is rendered relative to others.

    sceneObject: SceneObject

    Scene object this component is attached to.

    selfCollisionEnabled: boolean

    Whether hair-to-hair collisions are enabled.

    selfCollisionFriction: number

    Friction coefficient for hair-to-hair collisions.

    selfCollisionOffset: number

    Distance offset for self-collision detection.

    selfCollisionStiffness: number

    Stiffness applied when hair collides with itself.

    shadowColor: vec4

    Color of the mesh shadow.

    shadowDensity: number

    Opacity of the mesh shadow.

    steppedCutEnabled: boolean

    Whether stepped hair cutting is enabled.

    stiffness: number

    Overall hair strand stiffness.

    strandCut: number

    Length cut from each hair strand.

    strandNeighborCosThreshold: number

    Cosine angle threshold for neighbor strand interactions.

    strandNeighborLengthThreshold: number

    Length threshold for neighbor strand interactions.

    strandNeighborRadius: number

    Search radius for neighboring strands.

    strandTaper: number

    Taper factor for hair strand width along length.

    strandWidth: number

    Width of individual hair strands.

    stretchLimitEnabled: boolean

    Whether stretching limits on hair strands are enforced.

    stretchMode: StretchMode

    How the mesh stretches to fit its container.

    stretchStiffness: number

    Resistance to strand stretching.

    twistStiffness: number

    Resistance to strand twisting.

    type: string

    The entity's type.

    verticalAlignment: Vertical

    Vertical alignment of the mesh visual.

    windEnabled: boolean

    Whether wind force effects are applied.

    windForce: vec3

    Wind acceleration vector affecting hair.

    Methods

    • Returns true if the object is of the specified type.

      Parameters

      • type: string

      Returns boolean