Jump to content

wadaltmon

Members
  • Posts

    109
  • Joined

  • Last visited

Posts posted by wadaltmon

  1. Is there any way PBR can be implemented in LW4? I have made a lot of stuff in substance painter 2019, but it looks awful when not using PBR. I've seen some projects implement it I think, but I'm not sure if they were through some established method or through just some one-by-one custom solution.

    I am fully aware Turbo will have PBR support built-in. But it isn't out yet as a full release, so...

  2. Hey everyone.

    I wanted to post a status update to ask a simpler question, but it looks like I'm unable to post a status update. The text field is just not there. Is there some kind of user permission you need before you can post one?

  3. 15 minutes ago, gamecreator said:

    A speed test against both Leadwerks 4 and the top engine competitors would be very welcome (I'm aware that you didn't say you'd do all of that).

    I own LW4 of course and I'd be down to test Turbo against it and also as directly as possible against Unity, Unreal, and maybe Godot, Xenko, and others that could be suggested. (not GameMaker Studio 2, as that engine is massively expensive and isn't really suitable for 3D graphics imho). Of course this would be once Turbo goes into full release.

    • Like 1
  4. 30 minutes ago, Josh said:

    Our new game engine will deliver the fastest performance of any game engine available.

    That's a bold claim, one that I'm sure comes with a few implied stipulations, but an intriguing one nonetheless. I'll be sure to test this out once Turbo is available in its full version for subscription. Thanks for the response.

  5. 29 minutes ago, carlb said:

    it is a shame he took them down as they did help a lot 

    it be nice if he come back and update them to the latest version of leadwerk

    as josh is now keep version 4 updated for a while and turbo is a long way away

    I think he's disappointed that new features are not being added to LW4 as they are programmed, as they are instead being relegated to Turbo (for example, PBR could be added to LW4, and in fact already exists in user-made projects, but is being relegated to Turbo while competing engines surpass what LW or Turbo will have the capability to do at the same time). Josh does keep LW4 updated, but it's mostly with bug fixes and long-needed improvements anyway. All that said, I don't speak for Jorn, this is just speculation.

    I'm okay waiting for Turbo for such features to be implemented, but the real question is what features Turbo will employ to make it actually appealing to use over competitors.

  6. On 6/13/2019 at 11:45 AM, cassius said:

    I too have been mystified by this blank project problem. I replace all the default source files and substitute my own files but if I use the default files instead  where do I start to enter my own code?

    Generally I've seen 2 schools of thought: delete all of App.cpp and put your code in here while leaving main.cpp alone, or delete all of main.cpp and leave App.cpp alone. 

    I've had success by leaving App.cpp be and writing all my code in main.cpp. Delete all the code that's in that file, stick an include for Leadwerks.h and using namespace Leadwerks at the top, and then create a bool main() with a while (true) loop in there, and you're set to go.

  7. I was just talking about this with someone on Discord and immediately after I posted this topic they directed me to his website. Apparently in April he expressed disdain with the stagnation of development on LW (given the focus on Turbo's development) and has stopped using and recommending it for games. Also he felt that the amount of messages he was getting due to some of the outdated stuff in those tutorials was not a good look, so he took them down. Unfortunate, as they were extremely helpful. I still found some of his source code on Github though.

  8. On 6/9/2019 at 5:23 PM, havenphillip said:

    Maybe you could create a box around the player and use this Enter/Exit code from Aggror? But set it for Collision.Prop or whatever in an "if" statement?

     

    Script.enabled = true
    Script.entered = false
    Script.exited = false
    Script.collided = false

    function Script:UpdatePhysics()
        if self.enabled then
            if self.entered then
                if self.collided == false then
                    System:Print("Exited the trigger")
                    self.exited = true
                    self.entered = false
                end
            end
            self.collided = false
        end
    end

    function Script:Collision(entity, position, normal, speed)
        if self.enabled then
            self.collided = true
            if self.entered == false then
                System:Print("Entered the trigger")
                self.entered = true
                self.exited = false
            end
        end
    end

    So I'm a little fuzzy on how Lua functions, but when I was porting the carry objects Lua scripts, I saw a function like this Collision function. So if you write a function Script:Collision(entity, position, normal, speed), it's called whenever a collision happens with a given entity? How would I go about creating/using such a function in C++?

  9. 25 minutes ago, Lethal Raptor Games said:

    As in when using SetTargetPosition()?  I found using a very low mass made it accelerate and de-accelerate a lot faster.

    How low are you talking? My masses are at 0.5. Perhaps setting the friction of the joint could work?

     

    23 hours ago, TheConceptBoy said:

    There's a video for leadwerks on moving objects using the Editor. We need THAT same thing but in C++

     

    Righto! I ported this code to C++, exactly what I needed.

  10. 4 minutes ago, TheConceptBoy said:

    I'm guessing my ball join solution was no bueno right?

     

    It worked, but it didn't really fix the magic carpet problem. Certainly made it more forgiving like you said, but still possible. Also the slow and random way your held object moved toward the mouse was not quite what I was looking for. Definitely a good solution, but as far as what I want to accomplish in the final game, not quite the type.

    That said, the quality of the tutorial was still top notch. 

    • Like 1
  11. 9 minutes ago, Lethal Raptor Games said:

    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?

    I don't think that's it. If I set the character model to be taller, remove the outer cylinder, and make it so the held object can collide with Characters, it does the same thing with the character model itself.

    And yes @TheConceptBoy: If we had that in C++ in an extensible form, this would be a non-issue.

  12. 16 minutes ago, Lethal Raptor Games said:

    Not sure exactly but you could try calling these three lines after moving your heldObject and just before Time::Update();

    
    .......
    
    player->SetInput(mouseX, walk, strafe, jump);
    carryPivot->SetInput(mouseX, walk * 2, jump);
    cam->SetRotation(mouseY, 0, 0);
    
    Time::Update();

    SetInput() uses physics for controlling the character controller and shouldn't break the simulation.  I take it as your moving your mouse is still being held down?

    Hm. If it uses physics then why can my object clip through the cylinder? Shouldn't it be prevented from doing so at all? That change did not solve it unfortunately.

    Also occasionally when I try to pick the object up a 2nd time I fall through the floor.

  13. Okay. Take a look at this video. I show all the code here and a demo. You can see how there are 2 cylinders around the player, one is the player object itself and the larger one is the player buffer. You can see when I pick up the smaller box and move it around, it collides with the outer buffer cylinder. But when I move, it can clip through that outer buffer cylinder and slip behind the player. This should not happen; if the cylinder is moving, it should push the box along if it gets too close, right? Also, you can see when I pick up the larger box, it collides with the outer cylinder (and spazzes out a little, but I will fix that later). But when I move, I can clip into the box, causing it and me to shoot away from each other if I put it down while carrying it and am inside it. Again, this should not happen.

    I know that Move() and SetPosition() can mess with the physics simulation. Is SetInput() this way as well? If so, how can I move my player where I want to go without using such a command?

  14. It's almost functional... but here's something interesting. I have a cylinder that provides a buffer around the player for the held object to collide with so it doesn't get too close to the player (or let the player clip into the held object). It works, except when I'm moving... if I move my player, the object suddenly is able to clip through the held object. I'm using SetInput to move my player... is this like the Move() function where it messes with the physics simulation? If so, is there an alternate way to provide movement to my player to make it so this doesn't happen?

  15. I got some of it fixed, but it seems that part of the problem is the fact that once you're in a certain distance of a low object, you instantaneously step up onto it. How do I lower the distance at which this happens? Should I just scaled down the player model (Model*)? If that would work, how would I do that? (playerController->SetScale() sets the scale of all objects!!)

  16. 11 minutes ago, havenphillip said:

    You want to stop the player from rotating too far?

    No, I've already got a pitch limit code in effect. But, without limiting the pitch max/min to be ridiculously limiting, the heldObject will still slip the player around as it moves toward the pivot used for object carrying. I'd like to essentially make a solid buffer zone around the player for the object to collide with if it gets too close, rather than making it collide with the player and make the player flya round.

  17. Can anyone think of a way to implement it such that I could create essentially a very tall cylinder over the player that would interact with nothing but the heldObject, such that you can't bring the heldObject directly beneath you (or directly atop you for that matter)?

  18. 3 minutes ago, Iris3D Games said:

    Where documentation SetResponse??

    It doesn't exist for some reason. But the function works as it should for disabling collisions between the held object and the player, then re-enabling them once it's dropped.

  19. I thought maybe a good idea would be to create a new Model* that is 1.25 times the size of the player and is parented to the player, and had a different collision type than the player (such that it was like there was a cylindrical shield around the player that the picked up object would bang against if it got too close, but didn't cause the player to drop the object. But I'm not sure if this is a good approach to the problem. My implementation doesn't work.

     

    //player model created
    
    Model* playerHb = Model::Create();
    playerHb->SetPosition(0, 4, 0);
    playerHb->SetScale(1.25, 30, 1.25);
    playerHb->SetCollisionType(COLLISION_HBCHAR);
    
    //other collision code happens
    
    Collision::SetResponse(HELDITEM, COLLISION_HBCHAR, Collision::Collide);
    Collision::SetResponse(COLLISION_HBCHAR, COLLISION_PROP, Collision::None);
    Collision::SetResponse(COLLISION_HBCHAR, COLLISION_SCENE, Collision::None);
    Collision::SetResponse(COLLISION_HBCHAR, COLLISION_CHARACTER, Collision::None);
    

    Shouldn't the box bang against this invisible barrier around the player? Why is it not?

    • Confused 1
  20. I'm surprised there isn't a simple bool IsColliding (Entity* e1, Entity* e2) or something of that sort in Leadwerks. That seems like something that would be pretty fundamental for a 3D engine.

×
×
  • Create New...