Страница 1 из 1

Непонятно работает RayCast

СообщениеДобавлено: 21 авг 2011, 16:15
[LUkARD]
HTML код для вашего блога :
Код: Выделить всё
<script language='javascript' type="text/javascript"> document.write("<iframe marginheight='0' src='http://unity3d.ru/distribution/player.php?url=http://dl.dropbox.com/u/33447202/WebPlayer.unity3d&w=600&h=450&t=true&preview=1' height='"+(450+30)+"' width='600' frameborder='0' scrolling='no'></iframe>"); </script>

как видно из веб демки при приближении шара к "двери" она открывается как-то непонятно(если подъехать к двери задом она открывается, а передом нет)
с фест персон контроллером все нормально
что это такое?
скрипты проиланаю:
Синтаксис:
Используется javascript
var speed = 10.0;

var gravitypull = 0;







function FixedUpdate() {

        rigidbody.AddForce (Vector3(0, gravitypull, 0));

       

        var cameraTransform = Camera.main.transform;

       

        // Forward vector relative to the camera along the x-z plane

        var forward = cameraTransform.TransformDirection(Vector3.forward);

        forward.y = 0;

        forward = forward.normalized;

       

        // Right vector relative to the camera

        // Always orthogonal to the forward vector

        var right = Vector3(forward.z, 0, -forward.x);

       

       

        if (Input.GetKey ("a")) {

               

                rigidbody.AddTorque(forward * speed * Time.deltaTime);

               

        }

       

       

        if (Input.GetKey("d")) {

                rigidbody.AddTorque(forward * -speed * Time.deltaTime);

               

        }

       

        if (Input.GetKey("w")) {

                rigidbody.AddTorque(right * speed * Time.deltaTime);

        }      

       

       

        if (Input.GetKey ("s")) {

                rigidbody.AddTorque(right * -speed * Time.deltaTime);

               

        }

       

}


Синтаксис:
Используется javascript
/*

function OnControllerColliderHit(hit : ControllerColliderHit)

{

        if(hit.gameObject.tag == "door")

        {

                hit.gameObject.animation.Play("door_open");

        }

}

*/




var rayCastLength = 5;



function  Update()

{

        var hit  : RaycastHit;

       

        if(Physics.Raycast(transform.position, transform.forward, hit, rayCastLength))

        {

                //with a door

                if(hit.collider.gameObject.tag == "door")

                {

                        //open door!

                        hit.collider.gameObject.animation.Play("door_open");

                }

        }

}

               

               

               

               


Оба скрипта висят на шаре

Re: Непонятно работает RayCast

СообщениеДобавлено: 21 авг 2011, 16:39
HacKeR
пробуй в " if(Physics.Raycast(transform.position, transform.forward, hit, rayCastLength))" поменять на "if(Physics.Raycast(transform.position, -transform.forward, hit, rayCastLength))"

Re: Непонятно работает RayCast

СообщениеДобавлено: 21 авг 2011, 17:02
[LUkARD]
да это работает, но только при соприкосновении с дверью независимо от рэйкастленгтх
да и через раз оно срабатывает
может дело в том, что он пускает луч из одной точки а надо из нескольких?

Re: Непонятно работает RayCast

СообщениеДобавлено: 21 авг 2011, 17:16
[LUkARD]
хм...
если поменять transform.forward на transform.up то все работает незавизимо от разворота мяча!

Re: Непонятно работает RayCast

СообщениеДобавлено: 21 авг 2011, 17:17
[LUkARD]
у меня есть еще ворос: как заставить камеру реагировать на столкновения(коллайдеры)?

Re: Непонятно работает RayCast

СообщениеДобавлено: 21 авг 2011, 18:58
defint
прикрепить к камере физ объект?

Re: Непонятно работает RayCast

СообщениеДобавлено: 22 авг 2011, 05:15
[LUkARD]
неа
я пытался сделать рэйкастом но камера все равно проходила сквозь землю и приближалась к персонажу

Re: Непонятно работает RayCast

СообщениеДобавлено: 22 авг 2011, 15:03
gnoblin
[LUkARD] писал(а):у меня есть еще ворос: как заставить камеру реагировать на столкновения(коллайдеры)?

посмотреть как сделана камера в 3rd person shooter примере на офсайте

Re: Непонятно работает RayCast

СообщениеДобавлено: 22 авг 2011, 15:22
[LUkARD]
она там все равно проходит сквозь стены, я проверял

Re: Непонятно работает RayCast

СообщениеДобавлено: 22 авг 2011, 16:52
seaman
Я Вам еще месяц назад советовал взять камеру из уроков с моего блога. Там она не проходит...

Re: Непонятно работает RayCast

СообщениеДобавлено: 22 авг 2011, 16:53
gnoblin
она их огибает

Re: Непонятно работает RayCast

СообщениеДобавлено: 22 авг 2011, 17:22
[LUkARD]
я просто не понимаю таких заумных скриптов