MasterSergius | Дата: Суббота, 09 Июня 2012, 12:21 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Как правильно вычислить скорость объекта, если Я его перемещаю мышью? А после отпускания, он должен с такой же скоростью двигаться дальше сам, причём из затуханием, типа по инерции, но при этом не потерять возможность отбиваться от преград. Вот, что у меня получилось, и оно получилось плохо:
Vector3 worldPos = Camera.main.ScreenToWorldPoint(Input.mousePosition); pos_a=selfTransorm.position.x; selfTransorm.position = new Vector3(worldPos.x,selfTransorm.position.y,selfTransorm.position.z); pos_b=selfTransorm.position.x; speed=Mathf.Abs(pos_b-pos_a);
это узнали скорость, но походу она будет ничтожная, ибо это же всё по одному кадру... а здесь думал, толкнуть его в рандомном направлении и начиная с рандомного места, ну чтобы интересней было )
float fx,fy; fx=10*speed*Mathf.Cos ((float)randangle/360*Mathf.PI); fy=10*speed*Mathf.Sin ((float)randangle/360*Mathf.PI); selfTransorm.position = new Vector3(randx,randy,selfTransorm.position.z); rigidbody.AddForce(fx, fy, 0, ForceMode.Impulse);
В результате - иногда отбивается в замкнутом пространстве бесконечно, иногда после одного удара, резко замедляется... Кароче, помогите )
|
|
| |