管理中心
我的

FluidComponent

展开

Class Info

public class FluidComponent extends Component

3D流体组件。

Public Method Summary

展开

Qualifier and Type

Method Name and Description

FluidComponent

addOrReduceFluid(FluidComponent.FluidOperateType type, float volume)

增加、减少流体量操作。

FluidComponent

applyForce(Vector3 force, Vector3 position)

流体施加力操作。

SdfBoxShape

createSdfBoxShape()

创建流体的长方体边界。

SdfCylinderShape

createSdfCylinderShape()

创建流体的圆柱体边界。

SdfPyramidShape

createSdfPyramidShape()

创建流体的正四棱锥边界。

SdfSphereShape

createSdfSphereShape()

创建流体的球形边界。

static FluidComponent.Descriptor

descriptor()

获取3D流体组件描述符实例。

FluidComponent

setBoundaryFile(String filename)

设置需要加载的流体边界sdf文件。

FluidComponent

setFluidVolume(float fraction)

设置流体体积量的比例系数。

FluidComponent

setGesture(float lx, float ly)

流体触屏交互接口。

FluidComponent

setGravity(Vector3 gravity)

设置流体系统的重力加速度。

Public Methods

addOrReduceFluid

展开

Method

public FluidComponent addOrReduceFluid(FluidComponent.FluidOperateType type, float volume)

增加、减少流体量操作。

Parameters

展开

Name

Description

type

流体操作类型。取值请参见FluidComponent.FluidOperateType。

volume

增加、减少流体的体积量。

Returns

展开

Type

Description

FluidComponent

自身实例。

applyForce

展开

Method

public FluidComponent applyForce(Vector3 force, Vector3 position)

流体施加力操作。

Parameters

展开

Name

Description

force

施加力的方向和大小。其中,向量的方向表示流体受力的方向,向量的模表示受力的大小,取值范围(0,0,0) 到 (1,1,1)。

position

流体施加力的相对坐标位置。取值范围(-16,-16,-16) 到 (16,16,16)。

实际坐标位置 = 流体节点Tranform Component世界坐标 + positon。

注意:设置的相对坐标位置positon不能超出流体边界范围,且不能在流体边界形状内的非流体区域设置,否则无作用力效果。

Returns

展开

Type

Description

FluidComponent

自身实例。

createSdfBoxShape

展开

Method

public SdfBoxShape createSdfBoxShape()

创建流体的长方体边界。

Returns

展开

Type

Description

SdfBoxShape

长方体流体边界实例。

createSdfCylinderShape

展开

Method

public SdfCylinderShape createSdfCylinderShape()

创建流体的圆柱体边界。

Returns

展开

Type

Description

SdfCylinderShape

圆柱体流体边界实例。

createSdfPyramidShape

展开

Method

public SdfPyramidShape createSdfPyramidShape()

创建流体的正四棱锥边界。

Returns

展开

Type

Description

SdfPyramidShape

正四棱锥流体边界实例。

createSdfSphereShape

展开

Method

public SdfSphereShape createSdfSphereShape()

创建流体的球形边界。

Returns

展开

Type

Description

SdfSphereShape

球形流体边界实例。

descriptor

展开

Method

public static FluidComponent.Descriptor descriptor()

获取3D流体组件描述符实例。

Returns

展开

Type

Description

FluidComponent.Descriptor

3D流体组件描述符实例。

setBoundaryFile

展开

Method

public FluidComponent setBoundaryFile(String filename)

设置需要加载的流体边界sdf文件。

Parameters

展开

Name

Description

filename

流体边界sdf 文件名。

此sdf文件需要用户自定义并提供,该文件提供流体边界的有向距离场(signed distance field, sdf),从而使得流体在此边界范围内流动。

若无此sdf文件,可使用 createSdfBoxShape、createSdfSphereShape等方法,指定流体流动的边界范围。

Returns

展开

Type

Description

FluidComponent

自身实例。

setFluidVolume

展开

Method

public FluidComponent setFluidVolume(float fraction)

设置流体体积量的比例系数。

Parameters

展开

Name

Description

fraction

流体体积量的比例系数,取值范围(0,0.8]。值越大,流体体积越大。参考值 0.4。

Returns

展开

Type

Description

FluidComponent

自身实例。

setGesture

展开

Method

public FluidComponent setGesture(float lx, float ly)

流体触屏交互接口。滑动流体,模拟流体晃动的效果。使用时需要首先注册触摸事件,该方法的使用可参见原子化接口3D流体示例代码。

Parameters

展开

Name

Description

lx

触摸屏横坐标值。

ly

触摸屏纵坐标值。

Returns

展开

Type

Description

FluidComponent

自身实例。

setGravity

展开

Method

public FluidComponent setGravity(Vector3 gravity)

设置流体系统的重力加速度。

Parameters

展开

Name

Description

gravity

重力加速度。右手坐标系下,参考值(0,-10,0),表示重力加速度垂直地面向下。

Returns

展开

Type

Description

FluidComponent

自身实例。