forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Unity (http://forum.boolean.name/forumdisplay.php?f=144)
-   -   Фак по Юнити. (http://forum.boolean.name/showthread.php?t=12966)

Lowlet 03.11.2011 23:49

Ответ: Фак по Юнити.
 
Цитата:

Сообщение от pax (Сообщение 208215)
Эм... что-то странно это дело выглядит и я на js не программирую.
Странно потому что в обоих функция Add вызывается так же функция Add - перекрестная рекурсия получается... Unity не падает?

извините ,не знал..
Нет,компилируется нормально,никаких ошибок не выбивает

pax 03.11.2011 23:58

Ответ: Фак по Юнити.
 
C#
Proba_1.cs
PHP код:

using System.Collections.Generic;
using UnityEngine;

public class 
Proba_1 MonoBehaviour
{
    public List<
MyClassarr = new List<MyClass>();

    public class 
MyClass
    
{
        public 
string info;
        public 
string value;
    }

    public 
void Add(string infostring value)
    {
        var 
= new MyClass();
        
i.info info;
        
i.value value;
        
Add(i);
    }

    public 
void Add(MyClass k)
    {
        
arr.Add(k);
    }


Proba_2.cs
PHP код:

using UnityEngine;

public class 
Proba_2 MonoBehaviour
{
    public 
string info;
    public 
string value;

    
void OnGUI()
    {
        var 
plr GameObject.Find("Player");
        var 
inv plr.GetComponent<Proba_1>();

        if (
GUI.Button(new Rect(00100100), "Запилить"))
        {
            
inv.Add(infovalue);
        }
    }



pax 04.11.2011 00:07

Ответ: Фак по Юнити.
 
Работа со списками на js
PHP код:

import System;
import System.Collections.Generic;

var 
myList: List.<int>;

function 
Update () {
 
myList.Add(123);



Lowlet 04.11.2011 00:07

Ответ: Фак по Юнити.
 
Cпасибо большое,будем разбираться)))

Amatsu 06.11.2011 13:40

Ответ: Фак по Юнити.
 
Очень тупой вопрос. Какие 3д-форматы понимает юнити? Есть ли какой-то конвертер из сторонних форматов в родной для юнити?

pax 06.11.2011 13:51

Ответ: Фак по Юнити.
 
FBX - родной формат, можно в проект кидать непосредственно max файл, тогда Unity сама запустит макс в фоновом режиме и конвертирует файл сама в FBX.

Внизу табличка: http://unity3d.com/unity/editor/importing

Так же вроде поддерживается нативно COLLADA

Amatsu 06.11.2011 14:03

Ответ: Фак по Юнити.
 
Спасибо. Поставлю сегодня макс
Ах да, еще вопрос. Для макса нужно ставить какой-нибудь плагин экспорта?

pax 06.11.2011 14:06

Ответ: Фак по Юнити.
 
Скорее всего хватит штатного, но можно обновить, если надо http://usa.autodesk.com/adsk/servlet...12&id=10775855

Amatsu 06.11.2011 14:40

Ответ: Фак по Юнити.
 
Удачно, оказывается милка давно умеет экспортить в этот формат. Причем даже с группами, материалами и анимацией. Просто замечательно

Amatsu 07.11.2011 11:28

Ответ: Фак по Юнити.
 
Еще пара вопросов:
1) есть ли в юнити аналог pivot, к которому можно было бы привязать другую модель или такой же pivot? Чтобы допустим вращать главный pivot по оси Y, а привязанную к нему модель - по оси Z.
2) Какой командой можно получить сущность в иехархии модели (аналог команды FindChild из блитца). Загрузил модель своего кораблика из Kefir Fighter, Юнити так же видит в браузере, что у модели есть все чайлды, которые я ему задал в милке. С теми же именами. Как их получить в коде?

Lestar 07.11.2011 19:18

Ответ: Фак по Юнити.
 
1)Чтобы приаттачить один обьект к другому делаем
PHP код:

obj1.transform.parent=transform 

Мне удобнее вращать через Transform.eulerAngles .Можно и через Transform.RotateAround .Через кватернионы лично мне никак не удобно.
Вращаем вокруг оси Y
PHP код:

void Update()
{
  var 
objAngels=transform.eulerAngles ;
  
objAngels.y+=2f;
  
transform.eulerAngles objAngels;


Чтобы вращать чалд ,сначала его ищем через Transform.Find ,а затем вращаем по такой же логике как и выше.
PHP код:

Gameobject objChild;

void Start()
{
  
objChild=transform.Find("obj/obj1/_child")
}
void Update()
{
  var 
objAngels=objChild.transform.eulerAngles ;
  
objAngels.z+=2f;
  
objChild.eulerAngles objAngels;


2) Если я правильно понял,то через Transform.Find по имени и согласно иерархии чалдов.

pax 07.11.2011 19:50

Ответ: Фак по Юнити.
 
Поправил примеры в предыдущем посте.

Для изменения трансформации в локальных координатах используются свойства transform.localPosition, transform.localRotation, transform.localScale, transform.localEulerAngles

Пивот - это пустой объект. Создать в редакторе - GameObject->Create Empty, создать в коде
PHP код:

var pivot = new GameObject("myPivot");
// закрепим установку парентов
this.transform.parent pivot.transform


Amatsu 08.11.2011 16:51

Ответ: Фак по Юнити.
 
А в чем преимущество этих кватернионов перед обычными командами трансформации (поворота, движения и т.д.)?

Lestar 08.11.2011 17:28

Ответ: Фак по Юнити.
 
На мое мнение кроме гемороя манипулирования его переменными значимых отличий нет.Единственное,что в качестве аргументов в методах используються кватернионы(Instance например), а не эйлеровы углы.То есть в случае манипулирования ,через трансформ получаем лишнюю операцию.

Amatsu 08.11.2011 18:03

Ответ: Фак по Юнити.
 
Подскажите, пожалуйста, вот я загрузил в проект модель. Как мне кодом загрузить ее инстанс в сцену? Какого типа должна быть переменная для присваивания ей модели? Какой командой можно найти загруженную в проекте но не перенесенную в сцену модель?


Часовой пояс GMT +4, время: 07:47.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot