diff --git a/src/animations/three_d_animation.cpp b/src/animations/three_d_animation.cpp index eb280f4c8..e0b1e5c84 100644 --- a/src/animations/three_d_animation.cpp +++ b/src/animations/three_d_animation.cpp @@ -65,6 +65,8 @@ ThreeDAnimation::ThreeDAnimation(const XMLNode &node) /** Creates a bullet rigid body for this animated model. */ void ThreeDAnimation::createPhysicsBody(const std::string &shape) { + if (m_interaction == "ghost") return; + // 1. Determine size of the object // ------------------------------- Vec3 min, max; diff --git a/src/tracks/track_object.cpp b/src/tracks/track_object.cpp index daad21a58..cf31dda8b 100644 --- a/src/tracks/track_object.cpp +++ b/src/tracks/track_object.cpp @@ -58,6 +58,8 @@ TrackObject::TrackObject(const XMLNode &xml_node) std::string sound; xml_node.get("sound", &sound ); + m_interaction = "static"; + xml_node.get("interaction", &m_interaction); xml_node.get("lod_group", &m_lod_group); std::string type; diff --git a/src/tracks/track_object.hpp b/src/tracks/track_object.hpp index 96af41fdb..6e9c22888 100644 --- a/src/tracks/track_object.hpp +++ b/src/tracks/track_object.hpp @@ -91,6 +91,8 @@ protected: /** For action trigger objects */ std::string m_action; + std::string m_interaction; + public: TrackObject(const XMLNode &xml_node); TrackObject(const core::vector3df& pos, const core::vector3df& hpr,