Unity3d движущийся объект (куб) простая физика - PullRequest
2 голосов
/ 05 февраля 2012

Есть ли у кого-нибудь демонстрация для простого перемещения куба с помощью клавиатуры по местности с некоторыми горами, которая ведет себя физически правильно.

Я создал ландшафт с несколькими горами, куб, которым я могу управлять с помощью клавиатуры, чтобы перемещать его по этой местности. Это в основном работает нормально, НО, после того, как мой куб перепрыгнул через небольшую кочку (гору) и я продолжаю ускоряться ... он начинает легко улетать, вместо того, чтобы немного летать в воздухе и затем довольно быстро падать обратно на дно. (как машина, перепрыгивающая через кочку).

Я пытался увеличить Массу, все тот же. Он ведет себя как лист на ветру.

Нет необходимости в колесах и сложных подвесках.

Ответы [ 3 ]

1 голос
/ 08 февраля 2012

Если вам нужен простой способ, просто используйте преобразование.

Для опции прыжка вы можете вызвать transform.position.y+ (если у вас 2d игра), а затем добавить rigidbody компонент для гравитации.

var moveSpeed : float;

function Update() 
{
  moveSpeed = Time.deltaTime * 2;

      //Transform your axis (x,y,z)

  transform.position.x+= moveSpeed;
}
1 голос
/ 06 февраля 2012

Если вы можете жить с капсульным коллайдером, я предлагаю использовать символьный контроллер . Там у вас включена гравитация и реагирование на не-триггерные коллайдеры, а также некоторые удобные функции, такие как настройка до какого угла ваш игрок может подняться по наклонной плоскости. Перемещение осуществляется функциями Move и SimpleMove.

0 голосов
/ 25 февраля 2013
function Start () 
{

}
var speed = 5.0;
function Update (){  
    transform.Rotate(0, speed*Time.deltaTime, 0);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...