анимация в Unity

Общие вопросы о Unity3D

Re: анимация в Unity

Сообщение d3gator 08 дек 2009, 00:46

Анимацию в таком случае лучше делать в motionBulder, по началу конечно все очень не понятно но зато все эти проблемы решаются.
skype : oleg_fomenko
d3gator
UNIт
 
Сообщения: 119
Зарегистрирован: 20 май 2009, 21:19

Re: анимация в Unity

Сообщение Zaicheg 08 дек 2009, 11:17

d3gator писал(а):Анимацию в таком случае лучше делать в motionBulder, по началу конечно все очень не понятно но зато все эти проблемы решаются.

Поясните, пожалуйста. Я не понял.
Дьяченко Роман
e-mail: _zaicheg.reg@gmail.com
skype: zaicheg12
vkontakte: _vk.com/zaichegq
Работа: _wie3.com _www.sanviz.com
Аватара пользователя
Zaicheg
Адепт
 
Сообщения: 3024
Зарегистрирован: 19 июн 2009, 15:12
Откуда: Череповец

Re: анимация в Unity

Сообщение 3371 08 дек 2009, 14:34

На 2-й мой вопрос почему-то никто не ответил. но я проблему решил. Кому интересно читаем далее:

Если необходимо программно анимировать/переместить объект (например, платформу), то:

Код: Выделить всё
using UnityEngine;
using System.Collections;

public class csTestScript : MonoBehaviour {

    private GameObject MyObject;
    void Start () {
        MyObject = GameObject.Find("/<ИмяНужногоОбъекта>");  //Находим <ИмяНужногоОбъекта> в иэрархии
        ...
    }

    void FixedUpdate () {
        MyObject.transform.Translate(0.1f, 0f, 0.1f, Space.World); 
        //Каждый FixedUpdate наш объект будет передвигаться на 0,1 по осям Х и Yотносительно предыдущих коорд.
        //Т.е. объект будет двигаться.
        //Space.World - глобальная система коорд. Space.Self - локальная.
        ...
    }
}

И никаких transform.position = ... . Насколько я понял transform.position - координаты объкта, переопределить которые НЕЛЬЗЯ!. (Поправьте если не правильно понял). Перемещение объектов осуществляется только через transform.Translate

Если надо переместить объект из точки А в точку В, то:
Код: Выделить всё
using UnityEngine;
using System.Collections;

public class csTestScript : MonoBehaviour {
   
    private GameObject MyObject;
    private Vector3 PositionA;  //Откуда перемещаем
    private Vector3 PositionB;  //Куда перемещаем
    private Vector3 PositionX;
    ...
    void Start () {
        MyObject = GameObject.Find("/<ИмяНужногоОбъекта>");
        PositionA = MyObject.transform.position;
        PositionX = PositionA - PositionB;
        MyObject.transform.Translate(PositionX, Space.World);
        ...
    }
}
3371
UNец
 
Сообщения: 7
Зарегистрирован: 05 дек 2009, 01:09

Re: анимация в Unity

Сообщение Tolking 08 дек 2009, 15:26

Вау! А как определил что нельзя позицию менять?
Код: Выделить всё
                           
GameObject clon = (GameObject)GameObject.Instantiate(obj);

Vector3 pos = new Vector3(100, 100, 100);

clon.transform.position = pos;


P.S. Выясни для себя разницу между локальными переменными и приватными, и когда чем нужно пользоваться.
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: анимация в Unity

Сообщение 3371 08 дек 2009, 16:06

Все понятно. Спасибо. Просто отталкивался от документации на офф сайте, а именно от этой строчки transform.position = Vector3(0, 0, 0);
http://unity3d.com/support/documentatio ... ition.html
Это что? Они ошиблись? пропустили new перед Vector3(0, 0, 0) или я опять чего-то не понял и это все же верно?

А вот совет про локальные и глобальные переменные не понял. Я прекрасно знаю чем они отличаются и для чего нужны. Может вы мне хотите что-то новое сообщить о них? А то иди то почитай иди сё почитай, а внятно никто ответить не может. И на всем форуме все в таком духе. Иди туда иди сюда.
3371
UNец
 
Сообщения: 7
Зарегистрирован: 05 дек 2009, 01:09

Re: анимация в Unity

Сообщение mvladlin 08 дек 2009, 16:36

Это что? Они ошиблись? пропустили new перед Vector3(0, 0, 0) или я опять чего-то не понял и это все же верно?

на официальном сайте примеры на JS (без new) а у вас примеры на c#
Аватара пользователя
mvladlin
UNIт
 
Сообщения: 112
Зарегистрирован: 11 июл 2009, 19:53
Откуда: MO

Пред.

Вернуться в Общие вопросы

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

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