Jump to content

tjheldna

Members
  • Posts

    938
  • Joined

  • Last visited

Posts posted by tjheldna

  1. The Borrower updated in the Game Launcher with a new puzzle added. Solve the puzzle to open the gate blocking your path.

     

    Puzzle Hint: "The answer is shrouded in darkess".

     

    --Change List--

     

    - New puzzle 'The Combination'

     

    - Changed over flame to Shadmars firepit shader flame till I can work out what's going on with ATI.

     

    - Dungeon extension

     

    - Numerous bug fixes.

  2. 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.

    • Upvote 1
  3. I would just keep using the standard sliding door script as it solves both problems, but the platform itself reacts to physical impact.

     

    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.

  4. 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!

  5. 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

    • Upvote 1
  6. 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!

    • Upvote 1
  7. 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.

  8. 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.

    • Upvote 1
  9. 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.

  10. 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();
    }
    

  11. 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?

  12. I've had hardly any time to look it it but did manage to set up and suit up a few days ago.

     

    The initial setup and suiting up takes a while, but as I get more confident it will get quicker not doubt. It's quite comfortable and nonrestrictive to wear. The look of the wires strapped all around you would not be a good look in public however!

     

    I'm limited to a USB connection to the suit and the computer. I didn't realise you need to buy a power pack if you want it completely wireless. So add on another 20-30 bucks or so, with a quick purchase on ebay, which I'll do soon.

     

    Once everything was connected and calibrated the output of my movements can be seen and recorded in real time in the 3d viewport were close to perfect, if not perfect. I did a quick export of the bvh into Modo and the animation appeared dead on.

     

    So far 98% happy, little disappointed about the power pack, but that's pretty minor.

  13. Received mine a few days ago, my first impressions opening the neat casing is wow. The attention to detail is truly impressive

     

    - Comes in an attractive case.

    - Neurons come in a nice metal casing static bags for everything else.

    - Gloves are comfortable and came with x 2 pairs in a smaller and larger size, easy to transfer the wiring from 1 glove to another as it's all done with velcro.

    - SD card included.

    - Adequate labeling of parts, diagrams, manual.

    - Software seems cool, I think they added in a pro license for a year or something with a stretch goal too.

     

    I haven't put it together yet as it's a tender issue at home with my lack of communication that I made this purchase unsure.png . For now all I can do is look at it.

     

    post-5086-0-10600200-1438906073_thumb.jpg

    • Upvote 5
×
×
  • Create New...