Простой вопрос.

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Простой вопрос.

Сообщение Good1101 28 ноя 2011, 04:52

Здравствуйте!
Может быть вопрос вам покажется слишком нубийским но не судите строго, сишарп начал изучать недавно а юнити и тем более, вобщим запарился я курить мануалы, напишите пожалуйста кому несложно самый простой способ повернуть объект на пару градусов вправо или влево относительно текущего положения. Заранее спасибо за помощь.
Аватара пользователя
Good1101
Адепт
 
Сообщения: 1100
Зарегистрирован: 17 ноя 2011, 14:07
  • ICQ

Re: Простой вопрос.

Сообщение IDoNotExist 28 ноя 2011, 05:12

повернуть объект на пару градусов вправо или влево относительно текущего положения.

Нет такого понятия в 3d пространстве как "Право" и "Лево" есть оси X,Y,Z вокруг них можно повернуть объект.

Синтаксис:
Используется csharp

void Update(){
   Vector3 povorot = new Vector3(0,45,0);
   transform.localRotation = Quaternion.Euler(povorot);


}

 
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: Простой вопрос.

Сообщение Good1101 28 ноя 2011, 06:04

Спасибо работает. Но тут как я понимаю обьект всегда будет поворарачиватся в положение 45 градусов а мне нужно прибавить например 10 градусов к уже имеющемуся положению.
Попробовал сделать так но получилась фигня какая то.
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
public class Pazbros : MonoBehaviour
{
        int i = 10;
        float foi;

        void Start () {
        foi = transform.rotation.y;
        foi += i;
        Debug.Log(transform.rotation.y);
        }
       
        void Update () {
       
        Vector3 povorot = new Vector3(0, foi, 0);
        transform.localRotation = Quaternion.Euler(povorot);
     
        }
}
 

И Debug.Log показывает что transform.rotation.y = 0.3, хотя он находился у меня в положении 40
Как тут стрелять?
Аватара пользователя
Good1101
Адепт
 
Сообщения: 1100
Зарегистрирован: 17 ноя 2011, 14:07
  • ICQ

Re: Простой вопрос.

Сообщение IDoNotExist 28 ноя 2011, 13:20

"Фигня какаято" слишком абстрактное понятие, подробнее пожалуйста. Скорее всего неправильно обратились к компоненте transform.rotation.y, правильно будет transform.rotation.eulerAngles.y. И еще не путайте rotation и localRotation;

Вот правильный код:
Синтаксис:
Используется csharp

using UnityEngine;
using System.Collections;
public class Pazbros : MonoBehaviour
{
        int i = 10;
        Vector3 povorot;

        void Start () {
        povorot = transform.localRotation.eulerAngles;
        povorot.y += i;
        Debug.Log(povorot);

        transform.localRotation = Quaternion.Euler(povorot);
        }
       
     
}

 
Аватара пользователя
IDoNotExist
Адепт
 
Сообщения: 1432
Зарегистрирован: 23 мар 2011, 09:18
Skype: iamnoexist

Re: Простой вопрос.

Сообщение Good1101 28 ноя 2011, 18:35

Спасибо то что нужно!
Как тут стрелять?
Аватара пользователя
Good1101
Адепт
 
Сообщения: 1100
Зарегистрирован: 17 ноя 2011, 14:07
  • ICQ


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 24