Jump to content

Lethal Raptor Games

Supporters
  • Content Count

    652
  • Joined

  • Last visited

Community Reputation

135 Excellent

1 Follower

About Lethal Raptor Games

Profile Information

  • Gender
    Male
  • Location
    Tas, Australia
  • Interests
    Computer graphics; games programming; flying; metal and wood working; story writing; submarine building (see blog); and AI.

Recent Profile Visitors

7,204 profile views
  1. Looking good. If you do release it to Steam will it be a subscription also?
  2. A multiplication operator for Vec4 would be nice. E.g. Vec4() * Vec4()
  3. Instead of the single UpdatePhysics() hook in LUA and the Actors, how about the same hooks that are in newton? PreUpdate() and PostUpdate(). I'm finding them very useful.
  4. I like how he puts the box on his head Good job.
  5. If you change the method they will be available. Those options don't apply to Average Normal.
  6. What you'll need is an Actor in C++. The script is basically an Actor (but in LUA) that attaches to an Entity. An Actor is a class in C++ that attaches to an Entity. Look in the Actor.h and Actor.cpp files for Leadwerks. You derive from the Actor class like this. I named mine cBaseActor, but you can name it anything you like. class cBaseActor : public Actor { private: public: cBaseActor(); ~cBaseActor(); //reDeclare the functions found in Actor.h, create a BaseActor.cpp and define your functions there like in the script void Attach(); virtual void UpdateWorld(); virtual void UpdatePhysics(); virtual void Collision(Entity* ent, const Vec3& position, const Vec3& normal, float speed); virtual void UpdateMatrix(); virtual void PostRender(Context* context); } cBasActor* _actor = new cBaseActor(); myEntity->SetActor(_actor);
  7. Yeah I set mine to 0.1 but it wasn't perfect. Lowering the friction of the kinematic joint changes how it effects the rotation and position of it's child.
  8. As in when using SetTargetPosition()? I found using a very low mass made it accelerate and de-accelerate a lot faster.
  9. Thought I'd update this here too, the above code doesn't get the correct newton world. The code below does; NewtonWorld* GetNewtonWorld() { auto _world = World::GetCurrent(); auto _simulation = (NewtonDynamicsSimulation*)_world->simulation; return _simulation->newtonworld; }
  10. Good idea. I'm keen to see how ray-casting will go, when you get to that.
  11. Looking forward to seeing it develop. What are you working on next?
  12. Thank you! That answer led me to finding the problem. This is how I was getting the NewtonWorld; NewtonWorld* GetNewtonWorld() { return ((NewtonDynamicsPhysicsDriver*)NewtonDynamicsPhysicsDriver::GetCurrent())->collisionWorld; } Which worked for a lot of things but it didn't match when I got the world like this; Model* bn = Model::Box(); mdl->SetShape(Shape::Box()); auto body = ((NewtonDynamicsBody*)mdl->body)->body; MainFrame::newtonWorld = NewtonBodyGetWorld(body); With the later the callbacks worked! I take it then this is a callback in UpdateWorld()? Updating the physics when the timing is correct?
  13. So once again I am attempting to break things - @Josh I have question for you... I am using Newton functions to add a PreUpdate callback to the newton world but the callbacks are not being called unless I call NewtonUpdate myself, is World::Update() not calling NewtonUpdate?
  14. It could be that the character controller dosnt like being inside another physics shape. You may have to find a different way to stop your held item from hitting your player. Maybe a relative height limit?
×
×
  • Create New...