-
Posts
938 -
Joined
-
Last visited
Content Type
Blogs
Forums
Store
Gallery
Videos
Downloads
Everything posted by tjheldna
-
Normap map disappears on shadows
tjheldna replied to YouGroove's topic in Leadwerks Engine Bug Reports
Hi YouGroove, normal maps will not show anything if unlit . You will need to add a bit of AO in your texture to show a bit of depth it totally unlit. What I do is generate an AO map (There are plenty of programs to do this in i.e xnormal, crazybump, Substance) add it as a top layer in your image editing software have the diffuse map as a first layer and the second layer the AO map set the blend mode of the AO map to 'multiply'. The dark values of the AO map will blend nicely into your diffuse map. -
I had the same issue here, what I did was create a custom collision type for the platform which only collides with the character. I don't know if that solution will work for you but it might.
-
Cool thanks, will take that on board and will see how we can improve. There will be more voice overs to help guide you too, which we only just touched on. A delete of cache and a computer restart and the Gameplayer is working for me again FYI. Yay!
-
That's good to know. Is it too hard? We want it to be reasonably difficult however. There are no tutorials in it at the moment which probably adds the difficulty. It will be tough to gauge the difficulty as we know exactly what to do. Hopefully that's going to be a benefit of Gameplayer feedback.
-
Not sure if this helps but the failed to download is happening to every workshop item, not just the one we uploaded.
-
This is such a useful shader! The downloads below the video above say I don't have permission to download, so don't know what's going on with that. No matter I'll add that line in. Had do add in the decal code in to a few scripts now so that's cool. I got it all in fine, Thanks again!
-
Hey Shadmar, Using the dissolve shader which is really cool. Just wondering how you got the edge glow with dissolve like in the video? Trying to make something look like its burning away. Cheers
-
Yeah that is cool, but if my level geometry is a model too (which for now it's a brush but that's just a stand in) that solution wont work.
-
Is there a way to make a decal do a one time projection? If not... I want to project a moss material onto a wall for variation, however if the player moves in front of the decal the texture gets projected onto the player. I can move a decal close to the wall and scale it but it's not a great solution. If it currently isn't possible could we have a way to set a decal to do a one time projection when the world loads? Then everything else afterwards are not be effected if they cross paths with that decal. Cheers
-
If you assign a texture then right click on it and remove, the texture name does not update and stays there.
-
With the latest beta with the the fps increase (ty) I'm getting a crash while moving the camera in the perspective viewport. Took a little while to work out what's going on, turns out I had a placeholder brush that had no material assigned every time the brush entered the viewport that's when the crash happened. I assigned a texture in the scene view and I can now view that place holder model. It was just lucky that the camera wasn't facing the brush when I saved the level last. Cheers!
- 1 reply
-
- 1
-
Yep that one is fixed now thanks, but can't find these ones now: #include "isteaminventory.h" #include "isteamvideo.h" Cheers
-
After updating this morning and compiling it appears there is a file missing. Manually checking the folder structure from VHACD_Lib isn't there. Leadwerks.h #include "Libraries/VHACD/src/VHACD_Lib/public/VHACD.h"
-
Don't know if this is a bug or a new feature so take it as you will. I'm playing with the camera's SetRange with max values from to 10 - 1000. There seems to be no performance increase at all if the numbers are low even though practically the entire mapis not being rendered. Stats tell me shadows, lights, geometry etc are still being rendered in some way when passed the max range or before the min range. I would think that if an object is passed the range everything about it rendering wise would be discarded.
-
I've had my concerns for a long time now and it looks to me that projects are growing fps issues are becoming more apparent. In the grand scheme of things my projects don't have that much content in them, but I feel the engine is struggling already on my desktop. My hardware is a little dated, but still plays every game I throw at it, and with respectable graphics quality too. Just setting the view distance to medium in LE does nothing to help my fps. I don't know where the problem lies I don't even think its with the lighting. I just keep coming to the conclusion that there is an issue somewhere. I really hope/depend on more work done in the optimisation space.
-
Possible: Model::Free() Deletes another model aswell
tjheldna replied to Ruki's topic in Programming
I've never used Free() before, I would use Release() instead. I think the way you are doing it is right setting the swords parent to NULL and wouldn't call it hackish. If you don't it looks like it will get deleted along with the dress model. As long as you keep some sort of reference to the sword so you can delete it too later when you unload the world or otherwise. -
This is taken from my code, obviously it wont just work if you copy paste but it might help lead you in the right direction. Hope this helps. void GameCharacter::SetAnimationSequence(float blendTime) { blendStart = Time::GetCurrent(); blendFinish = blendStart + blendTime; } void MagicUser::CharacterAnimate(long sequence) { GameCharacter::CharacterAnimate(sequence); entity->LockMatrix(); switch (sequence) { case kStateIdle: { if (GetState() != GetPrevState()) SetAnimationSequence(200); float animSpeed = 0.008F; float blend = (Time::GetCurrent() - blendStart) / (blendFinish - blendStart); blend = Math::Min(1.0, blend); frame = (Time::GetCurrent() - blendStart) * animSpeed; entity->SetAnimationFrame(frame, blend, sequence, true); break; } case kStateWalk: { if (GetState() != GetPrevState()) SetAnimationSequence(500); float animSpeed = 0.0327F; float blend = (Time::GetCurrent() - blendStart) / (blendFinish - blendStart); blend = Math::Min(1.0, blend); frame = (Time::GetCurrent() - blendStart) * animSpeed; entity->SetAnimationFrame(frame, blend, sequence, true); //if ((int)(frame) % 5 == 0 || (int)(frame) % 14 == 0) //{ // entity->EmitSound(Sound::Load("Sound/Player/footstep1.wav"), 5); //} break; } case kStateJump: case kStateDoubleJump: { if (GetState() != GetPrevState()) SetAnimationSequence(500); float animSpeed = 0.008F; float blend = (Time::GetCurrent() - blendStart) / (blendFinish - blendStart); blend = Math::Min(1.0, blend); frame = (Time::GetCurrent() - blendStart) * animSpeed; entity->SetAnimationFrame(frame, blend, sequence, true); break; } case kStateAttack1: { if (GetState() != GetPrevState()) SetAnimationSequence(500); float animSpeed = 0.05F; float blend = (Time::GetCurrent() - blendStart) / (blendFinish - blendStart); blend = Math::Min(1.0, blend); frame = (Time::GetCurrent() - blendStart) * animSpeed; float length = entity->GetAnimationLength(sequence, true); if (frame >= (length - 1)) { frame = length - 1; SetState(kStateIdle); SetActorFlags(GetActorFlags() & ~kActorAttacking); } entity->SetAnimationFrame(frame, blend, sequence, true); break; } case kStateShoot: { if (GetState() != GetPrevState()) SetAnimationSequence(50); float animSpeed = 0.045F; float blend = (Time::GetCurrent() - blendStart) / (blendFinish - blendStart); blend = Math::Min(1.0, blend); frame = (Time::GetCurrent() - blendStart) * animSpeed; float length = entity->GetAnimationLength(sequence, true); if (frame >= (length - 1)) { frame = length - 1; SetState(kStateIdle); SetActorFlags(GetActorFlags() & ~kActorAttacking); } entity->SetAnimationFrame(frame, blend, sequence, true); break; } case kStateDeath: { if (GetState() != GetPrevState()) SetAnimationSequence(50); float animSpeed = 0.045F; float blend = (Time::GetCurrent() - blendStart) / (blendFinish - blendStart); blend = Math::Min(1.0, blend); frame = (Time::GetCurrent() - blendStart) * animSpeed; float length = entity->GetAnimationLength(sequence, true); if (frame >= (length - 1)) { frame = length - 1; } entity->SetAnimationFrame(frame, blend, sequence, true); break; } case kStateDamage: { if (GetState() != GetPrevState()) SetAnimationSequence(50); float animSpeed = 0.02F; float blend = (Time::GetCurrent() - blendStart) / (blendFinish - blendStart); blend = Math::Min(1.0, blend); frame = (Time::GetCurrent() - blendStart) * animSpeed; float length = entity->GetAnimationLength(sequence, true); if (frame >= (length - 1)) { frame = length - 1; SetState(kStateIdle); } entity->SetAnimationFrame(frame, blend, sequence, true); break; } } entity->UnlockMatrix(); }
-
In 3.0 it was possible but was removed around the time mobile devices were not supported anymore. It was really nice working on it in OSX, and personally I would prefer this over linux support any day. There has been mention it will be back, so I guess it's a question of when?
-
Terrain Textures Removed on Map Load
tjheldna replied to Haydenmango's topic in Leadwerks Engine Bug Reports
Yep happened here too after update -
Beta update available with deferred decals
tjheldna commented on Josh's blog entry in Development Blog
Only had a quick look before work and my first impressions of the decals are really good. Would have had more time but had a few shaders to update like Shadmars vegetation one, but that was quick enough to do. Looking forward to looking at the particles with collision. Thanks! -
Looking into Time::Pause and Time::Resume() would be a good place to start. Pretty sure that stops the physics simulation too. http://www.leadwerks.com/werkspace/page/api-reference/_/time/timepause-r498
-
It was hard to track down but I found it!!! I did this years ago so you will need to test it and you will need to bundle the oalinst.exe in your application as the script suggests. [code] var OpenALFound: Boolean; function CheckOpenAL(): Boolean; begin if (FileExists('c:\Windows\System32\OpenAL32.dll')) then begin MsgBox('OpenAL detected. OpenAL installation skipped', mbInformation, MB_OK); OpenALFound := True; end; if (not OpenALFound) then begin MsgBox('OpenAL not detected. Click OK to install OpenAL', mbInformation, MB_OK); OpenALFound := False; end; Result := OpenALFound; end; [Run] Filename: "{app}\oalinst.exe"; StatusMsg: "Installing OpenAL"; Check: Not CheckOpenAL();
-
I recon I did the code to make that happen in inno a while back. I'll see if I can dig it up.
-
The Tessellation is fantastic Josh, it's made terrain editing fun again!
-
Thanks shadmar for looking at it, that worked. Ha didn't realise I'm re-inventing the wheel. No matter it's all good practice as i'm trying to get my head around shaders.