- Home /
Question by
wiambt · Jun 22, 2012 at 10:48 AM ·
laserlerpz3dplatformtutorial
Lerpz 3D platform tutorial - Laser Solution
I finished Lerpz 3D tutorial and I solved the dead bodies issues. But I need help in the second problem: "The Laser Traps don’t kick the player away, so it is possible to lose all your health rather quickly." Did anyone have a solution? Thank you.
Comment
Wiki
Answer by $$anonymous$$ · Sep 05, 2012 at 09:00 AM
Here's my crude butchery of a solution, in lasertrap.js Uses same sound as getting hit by robotguards which isn't ideal, because it's using the existing 'Slam'. It works for me using unity 3.4. Edit: and 3.5
function Update ()
{
var offset = (1 + Mathf.Sin(Time.time * speed + timingOffset)) * height / 2;
transform.position = originalPosition + Vector3(0, offset, 0);
if (Time.time > lastHitTime + 0.25 && Physics.Raycast(transform.position, transform.forward, hit, laserWidth))
{
if (hit.collider.tag == "Player" || hit.collider.tag == "Enemy")
{
Instantiate(hitEffect, hit.point, Quaternion.identity);
hit.collider.SendMessage("ApplyDamage", damage, SendMessageOptions.DontRequireReceiver);
lastHitTime = Time.time;
//activate slam on 3rdpersoncontroller to knock player back
var slamDirection = transform.InverseTransformDirection(target.position - transform.position);
slamDirection.y = 0;
slamDirection.z = 0.1;
if (slamDirection.x >= 0)
slamDirection.x = 0;
else
slamDirection.x = 0;
target.SendMessage("Slam", transform.TransformDirection(slamDirection));
}
}
Your answer
Follow this Question
Related Questions
Problems with the Third Person Platformer Tutorial 2 Answers
3Dplatformer tutorial GUI script - adding a timer GUI 0 Answers
Unity Platformer Problems 1 Answer
Timer script & game hud 0 Answers