| Проблема с 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 |  |  |  |  |