Update is complete, could not quite get through everything so some things will be looked at for the next update.
- Complete
- Making progress
- Next Update
obj-dbo converter application.
Discovered and fixed character controller bug, if deleted it could cause a crash upon program exit.
Bone animated ragdolls.
Add 'joint exists' command.
Add breakable joint commands.
Add more commands to apply forces to limbs/bones.
Add way of determining if actor is kinematic.
Improve 'timing' information.
Add advanced vehicle example.
Add categories to help file.
More CCD skeleton options(check for possible bug - fixed).
Add sleep commands.
Add direction of antistropy commands.
Look at other rendering techniques for particles/fluids - Any input welcomed. New command added with example provided, more could be added in the future.
Obb Job
This application will convert models in the OBJ format to DBO. This is useful when using the PhysX viewer to set up a soft body, it is also useful in its own right when developing with DBPro/DarkGDK.
New to v1.1
//***********************************************//
//************* v1.1 19th June 2012 *************//
//***********************************************//
//-- NEW TOOL
ObbJob - Converts obj to dbo, useful for soft body creation or as a general use tool.
//-- NEW COMMANDS (DBPro and GDK)
bool dynCookConvexMesh(int objectID, int boneID, int meshID, char* file);
bool dynCookConvexMesh(int objectID, int boneID, int meshID, int convexMeshID);
bool dynMakeConvexMesh(int objectID, int boneID, int meshID, int convexMeshID, float density);
void dynBoneSyncActor(int objectID, int meshID, int boneID);
void dynBoneClearMatrix(int objectID, int meshID, int boneID);
int dynUtilGetBoneCount(int objectID, int meshID);
int dynUtilGetMeshCount(int objectID);
void dynSetBones(int objectID, bool physics);
void dynBoneGetPos(int objectID, int meshID, int boneID, int vec3Out);
float dynGetMass(int objectID, int limbID);
void dynSetMass(int objectID, int limbID, float mass);
void dynSetLinearDamping(int objectID, int limbID, float value);
void dynSetAngularDamping(int objectID, int limbID, float value);
float dynGetAngularDamping(int objectID, int limbID);
float dynGetLinearDamping(int objectID, int limbID);
void dynSetLinearMomentum(int objectID, int limbID, float x, float y, float z);
void dynSetAngularMomentum(int objectID, int limbID, float x, float y, float z);
void dynGetAngularMomentum(int objectID, int limbID, int vec3Out);
void dynGetLinearMomentum(int objectID, int limbID, int vec3Out);
void dynActorRaiseFlag(int objectID, unsigned int flag);
void dynActorRaiseFlag(int objectID, int limbID, unsigned int flag);
void dynActorClearFlag(int objectID, unsigned int flag);
void dynActorClearFlag(int objectID, int limbID, unsigned int flag);
void dynWakeUp(int objectID, float wakeCounterValue);
void dynPutToSleep(int objectID);
void dynWakeUp(int objectID, int limbID, float wakeCounterValue);
void dynPutToSleep(int objectID, int limbID);
bool dynMakeBox(int objectID, int boneID, int meshID, float density);
bool dynMakeSphere(int objectID, int boneID, int meshID, float density);
bool dynMakeCapsule(int objectID, int boneID, int meshID, float density);
void dynShapeSetLocPos(int objectID, int LimbID, int shapeID, float posX, float posY, float posZ);
void dynShapeSetLocRot(int objectID, int limbID, int shapeID, float angleX, float angleY, float angleZ);
void dynShapeSetGlobPos(int objectID, int limbID, int shapeID, float posX, float posY, float posZ);
void dynShapeSetGlobRot(int objectID, int limbID, int shapeID, float angleX, float angleY, float angleZ);
void dynBodyRaiseFlag(int objectID, unsigned int flag);
void dynBodyRaiseFlag(int objectID, int limbID, unsigned int flag);
void dynBodyClearFlag(int objectID, unsigned int flag);
void dynBodyClearFlag(int objectID, int limbID, unsigned int flag);
bool dynBodyReadFlag(int objectID, unsigned int flag);
bool dynBodyReadFlag(int objectID, int limbID, unsigned int flag);
bool dynActorReadFlag(int objectID, unsigned int flag);
bool dynActorReadFlag(int objectID, int limbID, unsigned int flag);
int dynControllerMove(int ID, float x, float y, float z, unsigned int activeGroups);
void dynControllerReportSceneChanged(int ID);
bool dynJointExists(int jointID);
void dynJointDescSetMaxTorque(int jointDescID, float value);
void dynJointDescSetMaxForce(int jointDescID, float value);
bool dynJointIsBroken(int jointID);
void dynJointDescSetLocalAnchor(int jointDescID, int AorB, float x, float y, float z);
void dynJointDescSetLocalAxis(int jointDescID, int AorB, float x, float y, float z);
void dynJointDescSetLocalNormal(int jointDescID, int AorB, float x, float y, float z);
void dynJointDescGetLocalAnchor(int jointDescID, int AorB, int vector3Out);
void dynJointDescGetLocalAxis(int jointDescID, int AorB, int vector3Out);
void dynJointDescGetLocalNormal(int jointDescID, int AorB, int vector3Out);
bool dynJointDescIsValid(int jointDescID);
void dynMaterialSetDirOfAnisotropy(int ID, float x, float y, float z);
void dynMaterialSetDynamicFriction(int ID, float value);
void dynMaterialSetDynamicFrictionV(int ID, float value);
void dynMaterialSetStaticFriction(int ID, float value);
void dynMaterialSetStaticFrictionV(int ID, float value);
void dynMaterialSetFlags(int ID, unsigned int flags);
void dynMaterialGetDirOfAnisotropy(int ID, int vec3Out);
float dynMaterialGetDynamicFriction(int ID);
float dynMaterialGetDynamicFrictionV(int ID);
float dynMaterialGetStaticFriction(int ID);
float dynMaterialGetStaticFrictionV(int ID);
unsigned int dynMaterialGetFlags(int ID);
int dynMaterialGetMaterialIndex(int ID);
void dynSetForceMode(int mode);
void dynAddForceAtPos(int objectID, float x, float y, float z, float posX, float posY, float posZ);
void dynAddForceAtPos(int objectID, int limbID, float x, float y, float z, float posX, float posY, float posZ);
void dynAddForceAtLocalPos(int objectID, float x, float y, float z, float posX, float posY, float posZ);
void dynAddForceAtLocalPos(int objectID, int limbID, float x, float y, float z, float posX, float posY, float posZ);
void dynAddLocalForceAtPos(int objectID, float x, float y, float z, float posX, float posY, float posZ);
void dynAddLocalForceAtPos(int objectID, int limbID, float x, float y, float z, float posX, float posY, float posZ);
void dynAddLocalForceAtLocalPos(int objectID, int limbID, float x, float y, float z, float posX, float posY, float posZ);
unsigned int dynRaycastHitGetFaceID();
bool dynMakeCCDSkeletonVertex(int objectID, int limbID);
void dynJointDescSetSwingDrive(int jointDescID, int driveType, float forceLimit, float damping, float spring);
void dynJointDescSetTwistDrive(int jointDescID, int driveType, float forceLimit, float damping, float spring);
void dynJointDescSetXDrive(int jointDescID, int driveType, float forceLimit, float damping, float spring);
void dynJointDescSetYDrive(int jointDescID, int driveType, float forceLimit, float damping, float spring);
void dynJointDescSetZDrive(int jointDescID, int driveType, float forceLimit, float damping, float spring);
void dynJointDescSetSlerpDrive(int jointDescID, int driveType, float forceLimit, float damping, float spring);
void dynJointDescSetGearRatio(int jointDescID, float ratio);
void dynJointSetDriveAngularVelocity(int jointID, float x, float y, float z);
void dynJointSetDriveLinearVelocity(int jointID, float x, float y, float z);
void dynJointSetDriveOrientation(int jointID, float w, float x, float y, float z);
void dynJointSetDriveOrientationFromGlobalAxis(int jointID, float x, float y, float z);
void dynJointSetDriveOrientationFromLocalAxis(int jointID, float x, float y, float z);
void dynJointSetDriveOrientationFromAngleAxis(int jointID, float axisX, float axisY, float axisZ, float angle);
void dynJointSetDrivePosition(int jointID, float x, float y, float z);
void dynFluidFadeObjectsAlpha(int fluidID, int initialObjectID, float particleLife, float fadeIn, float fadeOut);
void dynShapeSetFlag(int objectID, int shapeIndex, int flag, bool value);
void dynUtilSetCameraToObject(int cameraID, int objectID, float offsetPosX, float offsetPosY, float offsetPosZ, float offsetPointX, float offsetPointY, float offsetPointZ, float smooth);
//-- NEW EXAMPLES
Boned Ragdoll
Fluids
CCD
Advanced Vehicles