Проблема с RB и Rotation[РЕШЕНО]
|
|
dzrone3488 | Дата: Среда, 14 Января 2015, 00:47 | Сообщение # 1 |
участник
Сейчас нет на сайте
| У меня объект движется в одну сторону, может прыгать. Мне нужно, чтобы, когда он прыгал он перекручивался в воздухе, но когда он перекручивается он начинает передвигаться в другую сторону.Как это исправить. Делаю кубик на примере кубиков из игр таких как Impossible Game или Geometry Dash если что
Скрипт в студию!
Код using UnityEngine; using System.Collections;
public class CubeController : MonoBehaviour {
public float transformSpeed; public float jumpPower;
public KeyCode keyForJump;
public RaycastHit hitData;
void Start () { } void Update () {
gameObject.transform.Translate(0, 0, -transformSpeed);
if (Input.GetKey(keyForJump)) { if (Physics.Raycast(transform.position, -Vector3.up, out hitData, 0.5f)) {
rigidbody.AddForce(0, jumpPower, 0); } else { transform.Rotate(-15.0f,0,0); } } } }
Я делаю игры, а вы в них играете! :) Моя группа по созданию игр - www.vk.com/dzrone
Сообщение отредактировал dzrone3488 - Среда, 14 Января 2015, 13:10 |
|
| |
MANMANA | Дата: Среда, 14 Января 2015, 02:27 | Сообщение # 2 |
почти ветеран
Сейчас нет на сайте
| Цитата dzrone3488 ( ) gameObject.transform.Translate(0, 0, -transformSpeed); двигай в мировых координатах, а не в локальных http://docs.unity3d.com/ScriptReference/Transform.Translate.html Space.World которые. но тебе придется через sin/cos выдерживать верное направление
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
GECK | Дата: Среда, 14 Января 2015, 08:53 | Сообщение # 3 |
заслуженный участник
Сейчас нет на сайте
| Я бы сделал объект, который только перемещается, и засунул в него дочерний куб, который уже вращается, плющится и делает все что угодно.
Всё гениальное просто. И хреново работает.
|
|
| |
MANMANA | Дата: Среда, 14 Января 2015, 12:39 | Сообщение # 4 |
почти ветеран
Сейчас нет на сайте
| GECK, ога, я такой же костыль делал для вертолета, тудыть его. вешал пустышку на центр объекта в Blendere, делал к ней дочкой вертолет. Пустыху вращал только по двум осям, а вертолет по третьей, чтобы он собака такая в землю не сваливался без пустыхи при .forward в локальных
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
dzrone3488 | Дата: Среда, 14 Января 2015, 13:09 | Сообщение # 5 |
участник
Сейчас нет на сайте
| Всем большое спасибо за внимание! Мне помог ответ MANMANA Цитата MANMANA ( ) gameObject.transform.Translate(0, 0, -transformSpeed);
двигай в мировых координатах, а не в локальных http://docs.unity3d.com/ScriptReference/Transform.Translate.html Space.World которые. но тебе придется через sin/cos выдерживать верное направление
Я просто как было им сказано двигал в мировых координатах добавив
Как четвёртый аргумент Translate
Цитата MANMANA ( ) но тебе придется через sin/cos выдерживать верное направление
Я выравниваю направление моего кубика методом, игнорирования осей X и по осям ротации X Y Z в Компоненте RigidBody и всё!
Я делаю игры, а вы в них играете! :) Моя группа по созданию игр - www.vk.com/dzrone
|
|
| |
allods | Дата: Среда, 14 Января 2015, 19:11 | Сообщение # 6 |
почти ветеран
Сейчас нет на сайте
| крути через Rotate или через eulerAngles
или засунь в префаб, и покрути в префабе или сам префаб покрути.
Сообщение отредактировал allods - Среда, 14 Января 2015, 19:12 |
|
| |