-
Posts
4,937 -
Joined
-
Last visited
Content Type
Blogs
Forums
Store
Gallery
Videos
Downloads
Everything posted by gamecreator
-
Character Controller's Jump Height Bugged
gamecreator replied to gamecreator's topic in Leadwerks Engine Bug Reports
Appreciate it Josh. Here's a video too with an exaggerated jump height. Note how the jump off the sloped ground gets less than half the usual height. -
Character Controller's Jump Height Bugged
gamecreator replied to gamecreator's topic in Leadwerks Engine Bug Reports
I totally get that it's a balancing act between what's physically right and what feels and looks natural. But right now the height issue is very extreme and unnatural for those who have played any sort of jumping games. It literally does something like this. The same distance across but you can't make a jump because you're running on a slope. It sounds like your solution above may fix this though. -
Character Controller's Jump Height Bugged
gamecreator replied to gamecreator's topic in Leadwerks Engine Bug Reports
Jumping in place jumps the full height regardless of the slope it's on. Only while moving downhill is the jump height reduced, apparently proportional to the slope angle. -
Character Controller's Jump Height Bugged
gamecreator posted a topic in Leadwerks Engine Bug Reports
When the character controller jumps on a flat surface or up hill, jumps seems to be ok but when it jumps downhill, the jumps become smaller and smaller the steeper the hill is. Was visible in this demo as well: www.leadwerks.com/werkspace/topic/15913-my-first-demo/ Relevant code, just in case I'm doing something wrong: bool App::Loop() { float startheight, maxheight; if(window->Closed() || window->KeyDown(Key::Escape)) return false; float move = (window->KeyDown(Key::Up) - window->KeyDown(Key::Down)) * 6; float strafe = (window->KeyDown(Key::Right) - window->KeyDown(Key::Left)) * 6; float jump = window->KeyDown(Key::S) * 10; if(!player->GetAirborne()) { if(jump>0) { startheight = player->GetPosition().y; maxheight = startheight; } } else { jump = 0; if (player->GetPosition().y > maxheight) maxheight = player->GetPosition().y; } player->SetInput(0, move, strafe, jump); camera->SetPosition(player->GetPosition(true), true); camera->Move(0, 0, -10); Time::Update(); world->Update(); world->Render(); context->SetBlendMode(Blend::Alpha); context->SetColor(1.0f, 1, 1); context->DrawText(String(maxheight-startheight), 10, 10); context->SetBlendMode(Blend::Solid); context->Sync(); return true; } The uphill jump height actually also gets just a touch bigger the steeper the hill but it's not anywhere as drastic. -
I think this may be a character controller issue. I came across this too as I'm playing around with a platformer just now.
-
collisionmesh can't be imported just by itself. Importer relies on a mesh to be in the FBX with it. Not sure if relevant. Loading one collisionmesh per MDL works and solves my problem but Josh may want to look at the bug.
-
Adding a second polymesh by code works as expected: box1 = Model::Box(); box1->SetPosition(4, 0, 0); Shape* shape = Shape::PolyMesh(box1->GetSurface(0)); box1->SetShape(shape);
-
Not sure if this is related to the issue mentioned here but when using a single collisionmesh in a scene, it interacts with the character controller as expected. However, adding additional collisonmeshes results in none of them interacting with the character controller, even the one that was working previously. I'm trying to get a 2.5D platformer going again (with invisible walls front and back). The ground was working fine but when I added the invisible walls as additional collisionmeshes, neither of the three collided with the controller, even though the editor showed them as physics shapes.
-
I think this may be exactly what I'm looking for! I'm going to try it tonight. Thank you macklebee! I haven't done it in a while but the link I posted in the original post shows Max's blend material (half way down under Interface section), which I intend to use to visualize this in the software before exporting.
-
I am interested in blending two textures on a triangle in my modeling application (a lot like how the terrain editor does it) and then importing that into Leadwerks. Is this possible and if so, how is this best done? I assume this has something to do with using two or three texture slots and/or a shader but I'm not sure if it's possible.
-
The link is broken for me.
-
I like it and beat the demo. The music is a perfect fit for the environment. I know you're still working on it but I suggest that when an enemy sees you and starts chasing you, all enemies in his "group" (nearby) also chase you. I was able to pull them away one by one which seemed like cheating. Also, if you jump from the top of a ramp you get a nice jump but if you jump while you're running down a ramp, you get a tiny jump. Not sure why. Great job!
-
Thanks guys. Hopefully this is considered a high priority issue and will be fixed soon (I'm on the release version).
-
I know it seems like we just had this topic but that was camera related. Pretty sure this one's controller related. The ground is an exported collisionmesh (polygonal mesh collision shape). Any idea why the controller jitters in my program? #include "App.h" using namespace Leadwerks; App::App() : window(NULL), context(NULL), world(NULL), camera(NULL) {} App::~App() { delete world; delete window; } Model* model = NULL; Entity* player = NULL; bool App::Start() { window = Leadwerks::Window::Create("Controller Test", 0, 0, 1280, 720, Leadwerks::Window::FullScreen); context = Context::Create(window); world = World::Create(); //Load a map Map::Load("Maps/map2.map"); camera = Camera::Create(); camera->SetRotation(45, 0, 0); camera->Move(0, 1, -15); camera->SetDebugPhysicsMode(true); Light* light = DirectionalLight::Create(); light->SetRotation(35, 35, 0); model = Model::Load("Models/Barbarian/barbarian.mdl"); model->SetRotation(0, 180, 0); player = Pivot::Create(); model->SetParent(player, false); model->SetPosition(0, 0, 0); player->SetMass(1); player->SetPhysicsMode(Entity::CharacterPhysics); player->SetPosition(0, 10, 0); return true; } bool App::Loop() { if(window->Closed() || window->KeyDown(Key::Escape)) return false; float move = (window->KeyDown(Key::Up) - window->KeyDown(Key::Down)) * 3; float strafe = (window->KeyDown(Key::Right) - window->KeyDown(Key::Left)) * 3; player->SetInput(0, move, strafe); camera->SetPosition(player->GetPosition(true), true); camera->Move(0, 0, -5); Time::Update(); world->Update(); world->Render(); context->Sync(); return true; }
-
Leadwerks Game Engine - VR Edition DLC Though it might be a turnoff to have to buy 3 different versions and if I remember right, Josh wasn't a fan of complicating the process.
-
Animation not coming with models from blender
gamecreator replied to j_dawg_zum's topic in Game Artwork
Not sure if you're using the exporter but you should be able to find it somewhere. It was one of the funded goals on the Kickstarter. -
Confirmed here. Also, for some reason, page 7 only shows 11 results instead of 12.
-
Thanks for looking Jorn.
-
Yeah, and here Josh said there's a way to discard navmesh triangles but he never clarified how. I would be really happy with simply being able to toggle them active/inactive by code (after picking them or something). It would make doors/gates/bridges/carts/cars etc. viable in a game.
-
Yeah, while that video seemed responsive enough, I suspect the issue may be that on large terrains, having dozens of vehicles/characters alter the navmesh at once would drop the framerate significantly. I wonder how GTA and other games/engines work around this.
-
I posted a status update asking about dynamic navmeshes to get Josh's attention. Check out the development videos there which would solve problems like this if implemented. Edit: videos:
-
It's a nice cycle to have Leadwerks make games look good make Leadwerks look good.
-
I'm hoping when Josh makes the templates he'll include a solid racing/vehicle one as well that that doesn't bounce around and plays more like a typical racing game car.
-
You compare the character Y position to your water height. For example: Pretend you set your water to a height of 10 in the editor. That means that if the character Y position is 10 or below, it's touching water. The lower it is, the further under water it is. What you want to call shallow is up to you but you can say something like: if(characteryposition<waterheight && characteryposition>waterheight-0.5) // character is in shallow water so run splash effect
-
I think it's possible now. I assume you're talking about the infinite water that comes with Leadwerks. If you use that, it's generally safe to assume that your character is in water if its height is below the water height. If you detect the appropriate height, you can apply whatever sound/particle effect/etc you'd like to at that time.