Jump to content

SpiderPig

Members
  • Posts

    2,411
  • Joined

  • Last visited

Posts posted by SpiderPig

  1. If you want you could just add some invisible walls to the platform to stop you falling off.  Make some code that enables or disables them depending on what you want to do.

  2. Just a few thoughts that may or may not help;

    Quote

    roadModel:UpdateAABB(Entity.LocalAABB+Entity.GlobalAABB)

    Shouldn't it be;

    roadModel:UpdateAABB(Entity.LocalAABB | Entity.GlobalAABB)

    Unless LUA is different to C++ in this aspect...  I see it's commented out here though..

    Does surface:Update() update the vertex normals?  I'm not sure if that's needed to create a polymesh though...

    Only other thing I can think if is too make sure the vertices aren't too close together?  I recall something ages ago where this caused a null polymesh for me.

  3. 4 hours ago, Slastraf said:

    surface->Update();

    model->UpdateAABB(Entity::LocalAABB | Entity::GlobalAABB);

    This should probably outside your loop as well.  It won't effect render performance but it will generate the mesh faster as updateAABB() I think loops through all vertices in the model and finds the extents of the mesh for the AABB.

    • Like 1
  4. For me, I'll never look back at LE4.  It's super fast.  Can handle so much more scene complexity.  Actually I'm under the impression that it will be more documented and supported than LE4.  There's a few new things to learn with shared pointers, and the fact the engine is multithreaded.  But overall it's pretty rad.   For the shader side of things it's not hard to grasp.  I'm actually 80% through a node editor for shader development in LE5 which will make it even easier.

    • Like 1
  5. On 11/21/2020 at 8:03 AM, DoomSlayer said:

    More shaders would be great, let's hope Josh make LE5 compatible with LE4 shaders :)

    I've been working with Leadwerks 5 shaders and while LE4 shaders will need converting, the process shouldnt be too hard.  Depends on how complex the shader is.

    • Like 2
  6. I think what I ended up doing was adding another surface to my model in which I added 2 vertices not linked to a triangle.  I placed one vertex at the location that I wanted for the AABB's min position and the other vertex at the location that I wanted for the AABB's max position.  Then I called Model::UpdateAABB().  I have a feeling this worked but can't be sure.

    Another option might be to disable culling;

    SetOcclusionCullingMode(false, true);

    I'm not even sure if that's the right command.  It's been a while since I used LE4.

    • Like 1
  7. I think this is because the bounding box of the original entity does not include the instance you made in the geometry shader.  I recall having the same issue a while back.  I can't remember if the bounding boxes in LE4 can be manually adjusted or not...

    • Like 1
  8. I think the issue above is that your placing a decal at the tire position and rotating it to that of the cars current angle (or the tires angle, I can't quite tell).

    An approach I would try is to collect the points under the tires over time.  When you have the current point and the last point, you can draw a decal between them.  Every frame you can check the distance from each tire to the last point that tire was at.  When it is equal to the length of the decal, make a decal between those two points.  Place the decal at the first point and rotate toward the second point.  In my mind you should get something like this;

    Tires.thumb.png.a21c806328097fe61ad8bf4bcb963771.png

    • Like 1
  9. I do know an algorithm that will calculate the centre of rotation for the car.  You could use that centre of rotation and radius to then draw the decals in a circle, but I'm not sure how it will perform if the player is constantly changing directions.

    An easier and more accurate way may be to grab each tire position and draw decals on the terrain at those locations.  I've not used decals before, how are you drawing the tracks so far?  If you show some code I may be able to help more.

×
×
  • Create New...