ChangeEnvironmentDynamicsOperator

導入

v5.0

詳細

指定の環境におけるリジッド ボディのダイナミクス エンジンを変更します(physX から ODE、またはその逆)。

スクリプト構文

ChangeEnvironmentDynamicsOperator( [InputEnvironment], [DynamicsEngine] );

パラメータ

パラメータ タイプ 説明
InputEnvironment SimulationEnvironment リジッド ボディのダイナミクス エンジンを変更する環境。

デフォルト値:現在の環境

DynamicsEngine siRBDEngine 指定された環境を切り替えるダイナミクス エンジン。

デフォルト値: siPhysXEngine

JScript の例

/*

	This example illustrates how to create a simple RigidBody simulation

	and then switch the dynamics engine

*/

var oCone = ActiveSceneRoot.AddGeometry("cone","MeshSurface");

var oModel = ActiveSceneRoot.AddModel();

oModel.Name = "Model";

var oGrid = oModel.AddGeometry("grid","MeshSurface");

// Move the cone

oCone.posy.value = 6.0;

// Modify the grid

oGrid.ulength.value = 24;

oGrid.vlength.value = 24;

oGrid.subdivu.value = 24;

oGrid.subdivv.value = 24;

// The following line creates the SimulationEnvironment object.

CreatePassiveRigidBody( oGrid );

CreateActiveRigidBody( oCone );

CreateForce( "Gravity" );

var oEnvironment = ActiveProject.ActiveScene.ActiveSimulationEnvironment;

// Switch the rigid body dynamics engine to PhyX by NVIDIA 

ChangeEnvironmentDynamicsOperator(  oEnvironment, siPhysXEngine);

// Results of running this script:

//  * If the currently used engine is the same as the one specified in

//    the command, there is no output.

//  * Otherwise the following output will be echoed (as appropriate):

//    //INFO : Switched to physX

//    or

//    //INFO : Switched to ODE

// Simulate

for(i =0 ; i < 100 ; i++)

{

	NextFrame();

	Refresh();

}

// Switch the rigid body dynamics engine to ODE

ChangeEnvironmentDynamicsOperator( oEnvironment, siOpenDynamicsEngine);

// Simulate again

FirstFrame();

Refresh();

for(i =0 ; i < 100 ; i++)

{

	NextFrame();

	Refresh();

}

関連項目

CreateActiveRigidBody CreatePassiveRigidBody RemoveRigidBody AttachRigidBodies