В момент выстрела стреле передаётся сила с направлением от неё. Что бы стрела полетела. Но вот незадача, появилась необходимость направлять стрелу не прямо перед собой, А в ту точку куда смотрит камера. для этого получаю координату места, куда упёрса взгляд:
Код
if (Physics.Raycast (cameraParent.transform.position, lookDirection, out hit, 50)) { TargetForFire = hit.point; } else { TargetForFire = cameraParent.transform.position+Vector3.forward*50; }
И пытаюсь направить стрелу туда
Код
fireDirection = ArrowObj.transform.TransformDirection(TargetForFire); Debug.Log (fireDirection); force = fireDirection * maxDist*50;
но получаю какую-то ерунду... Стрела летит куда угодно, но не в том направлении, куда смотрит камера.
Буду благодарен за любую подсказку...
Добавлено (21 Фев 2015, 13:50) --------------------------------------------- Разобрался с направлением, теперь бы понять как его превратить именно в вектор единичной длины
seaman, да, решение было более чем на поверхности... Спасибо))
Добавлено (21 Фев 2015, 17:54) --------------------------------------------- Один вопрос остался не решённым: получение точки, находящейся ровно через Эн метров перед тобой... На случай, если взгляд не найдёт никакое препятствие, нужно получить импровизированную точку на конце луча: