Phong13 / BulletSharpUnity3d

A fork of the BulletSharp project to make the Bullet Physics Engine usable from C# code in Unity3d

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Some errors in SoftBody example

houzy opened this issue · comments

commented

Unity3d version: 5.3.6f1
OS: OSX

When I open the HighPolySkinnedMeshDrivenByLowPolySoftBody scene, there is no error. But when I run the scene in editor mode, I got such errors:

BRigidBody component Anchor Kinematic does not have a BCollisionShape component.
UnityEngine.Debug:LogErrorFormat(String, Object[])
BulletUnity.BRigidBody:Awake() (at Assets/BulletUnity/Scripts/BRigidBody.cs:407)

BRigidBody component Anchor Kinematic 2 does not have a BCollisionShape component.
UnityEngine.Debug:LogErrorFormat(String, Object[])

BulletUnity.BRigidBody:Awake() (at Assets/BulletUnity/Scripts/BRigidBody.cs:407)
BRigidBody component Anchor Kinematic 1 does not have a BCollisionShape component.
UnityEngine.Debug:LogErrorFormat(String, Object[])

BulletUnity.BRigidBody:Awake() (at Assets/BulletUnity/Scripts/BRigidBody.cs:407)
There was no collision shape component attached to this BRigidBody. Anchor Kinematic
UnityEngine.Debug:LogErrorFormat(String, Object[])

BulletUnity.BRigidBody:_BuildCollisionObject() (at Assets/BulletUnity/Scripts/BRigidBody.cs:382)

BulletUnity.BCollisionObject:GetCollisionObject() (at Assets/BulletUnity/Scripts/BCollisionObject.cs:165)
BSoftBodyPartOnSkinnedMesh:_BuildCollisionObject() (at Assets/BulletUnity/Scripts/SoftBody/BSoftBodyPartOnSkinnedMesh.cs:415)
BulletUnity.BPhysicsWorld:AddSoftBody(BSoftBody) (at Assets/BulletUnity/Scripts/BPhysicsWorld.cs:480)
BulletUnity.BSoftBody:AddObjectToBulletWorld() (at Assets/BulletUnity/Scripts/SoftBody/BSoftBody.cs:59)
BulletUnity.BCollisionObject:Start() (at Assets/BulletUnity/Scripts/BCollisionObject.cs:201)

NullReferenceException: Object reference not set to an instance of an object
BulletSharp.SoftBody.SoftBody.AppendAnchor (Int32 node, BulletSharp.RigidBody body, Boolean disableCollisionBetweenLinkedBodies, Single influence) (at Assets/Plugins/BulletUnity/BulletSharp/SoftBody/SoftBody.cs:3321)
BSoftBodyPartOnSkinnedMesh._BuildCollisionObject () (at Assets/BulletUnity/Scripts/SoftBody/BSoftBodyPartOnSkinnedMesh.cs:415)
BulletUnity.BPhysicsWorld.AddSoftBody (BulletUnity.BSoftBody softBody) (at Assets/BulletUnity/Scripts/BPhysicsWorld.cs:480)
BulletUnity.BSoftBody.AddObjectToBulletWorld () (at Assets/BulletUnity/Scripts/SoftBody/BSoftBody.cs:59)
BulletUnity.BCollisionObject.Start () (at Assets/BulletUnity/Scripts/BCollisionObject.cs:201)

There was no collision shape component attached to this BRigidBody. Anchor Kinematic
UnityEngine.Debug:LogErrorFormat(String, Object[])
BulletUnity.BRigidBody:_BuildCollisionObject() (at Assets/BulletUnity/Scripts/BRigidBody.cs:382)
BulletUnity.BPhysicsWorld:AddRigidBody(BRigidBody) (at Assets/BulletUnity/Scripts/BPhysicsWorld.cs:412)
BulletUnity.BRigidBody:AddObjectToBulletWorld() (at Assets/BulletUnity/Scripts/BRigidBody.cs:427)
BulletUnity.BCollisionObject:Start() (at Assets/BulletUnity/Scripts/BCollisionObject.cs:201)

There was no collision shape component attached to this BRigidBody. Anchor Kinematic 2
UnityEngine.Debug:LogErrorFormat(String, Object[])
BulletUnity.BRigidBody:_BuildCollisionObject() (at Assets/BulletUnity/Scripts/BRigidBody.cs:382)
BulletUnity.BPhysicsWorld:AddRigidBody(BRigidBody) (at Assets/BulletUnity/Scripts/BPhysicsWorld.cs:412)
BulletUnity.BRigidBody:AddObjectToBulletWorld() (at Assets/BulletUnity/Scripts/BRigidBody.cs:427)
BulletUnity.BCollisionObject:Start() (at Assets/BulletUnity/Scripts/BCollisionObject.cs:201)

There was no collision shape component attached to this BRigidBody. Anchor Kinematic 1
UnityEngine.Debug:LogErrorFormat(String, Object[])
BulletUnity.BRigidBody:_BuildCollisionObject() (at Assets/BulletUnity/Scripts/BRigidBody.cs:382)
BulletUnity.BPhysicsWorld:AddRigidBody(BRigidBody) (at Assets/BulletUnity/Scripts/BPhysicsWorld.cs:412)
BulletUnity.BRigidBody:AddObjectToBulletWorld() (at Assets/BulletUnity/Scripts/BRigidBody.cs:427)
BulletUnity.BCollisionObject:Start() (at Assets/BulletUnity/Scripts/BCollisionObject.cs:201)

Thanks for reporting the problem.

Fixed the problem. It was caused by a bad meta file which caused the BSphereShape not to 'stick' when added to GameObjects.