forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Вопросы от новичка (http://forum.boolean.name/showthread.php?t=15809)

ILonion 05.05.2015 00:51

Ответ: Вопросы от новичка
 
Благодарствую, seaman, h1dd3n!

Gector 05.05.2015 16:11

Ответ: Вопросы от новичка
 
Вопрос по анимации характерной для именно кат-сцен.
1. Как в юнити сделать анимацию камеры для кат-сцены?
2. Как вообще проще всего в юнити сделать кат-сцену используя лишь его родной функционал? (на всякий случай, вдруг я чего не знаю)

Nex 05.05.2015 19:21

Ответ: Вопросы от новичка
 
Цитата:

1. Как в юнити сделать анимацию камеры для кат-сцены?
Заходишь в Window > Animation. Открывается окно, выбираем камеру и в появившемся окне жмем на красный кружок, а далее указываем имя и папку для анимации и как в 3дмаксе двигаем камеру, указываем ключи и по окончании создании анимации снова жмем на красный кружок в окне Animation. И через анимацию можно вообще все менять у объектов даже тип проекции камеры.

Цитата:

2. Как вообще проще всего в юнити сделать кат-сцену используя лишь его родной функционал? (на всякий случай, вдруг я чего не знаю)
Например так:

Gector 06.05.2015 00:05

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от Nex (Сообщение 295598)
Заходишь в Window > Animation. Открывается окно, выбираем камеру и в появившемся окне жмем на красный кружок, а далее указываем имя и папку для анимации и как в 3дмаксе двигаем камеру, указываем ключи и по окончании создании анимации снова жмем на красный кружок в окне Animation. И через анимацию можно вообще все менять у объектов даже тип проекции камеры.


Например так:

Уже как раз курил тему аниматора. Только у меня по нему всего один вопрос. Нужно обязательно аттачить все к объекту (как бы root всей кат-сцены) для того чтобы получить на выходе единую для всей кат-сцены анимацию, а не раскидывать все по отдельным файлам анимации? Например, если у меня есть анимированная модель персонажа, который только что управлялся игроком, и мне вдруг нужно сделать его героем кат-сцены (поставить в нужное место и проиграть нужную анимацию уже заготовленную в максе) .

pax 06.05.2015 07:03

Ответ: Вопросы от новичка
 
Можно же сделать копию персонажа специально для кат сцены, и во время проигрывания скрывать управляемого игроком.

Gector 06.05.2015 11:33

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от pax (Сообщение 295614)
Можно же сделать копию персонажа специально для кат сцены, и во время проигрывания скрывать управляемого игроком.

Я тоже об этом думал. Но есть нюанс - эту копию придется обрабатывать в любом случае скриптом (например, чтобы поместить оружие нужного типа). Может сделать запуск анимации из списка (в простом текстовом файле задаешь список объектов на сцене и их анимок, которые запускаются одновременно при проигрывании сцены)?

Перед этим анимки создаются в максе и animation.

Анимация включается программно, и потом этот clip как я понимаю можно "снять" с объекта за ненадобностью.

Что можете сказать на счет такого метода?

Nex 06.05.2015 13:23

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от Gector (Сообщение 295622)
эту копию придется обрабатывать в любом случае скриптом (например, чтобы поместить оружие нужного типа).

Мне кажется, что это годный метод.

Gector 06.05.2015 15:48

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от Nex (Сообщение 295628)
Мне кажется, что это годный метод.

А чем метод со списком плох?

Nex 06.05.2015 16:27

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от Gector (Сообщение 295637)
А чем метод со списком плох?

Мне это показалось слишком замудреным либо я тебя не правильно понял.

pax 06.05.2015 16:34

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от Gector (Сообщение 295637)
А чем метод со списком плох?

Да вроде никто еще не говорил, что он плох. Мне видятся подводные камни такого плана:

В любом случае придется скриптами шаманить, например отключать скрипты игрока, камеры. Для модели игрока придется подменять контроллер анимации видимо, чтобы проиграть анимацию катсцены, а потом восстанавливать.

Gector 06.05.2015 16:50

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от pax (Сообщение 295640)
В любом случае придется скриптами шаманить, например отключать скрипты игрока, камеры.

Ну это придется в любом случае делать. Это да.

Цитата:

Сообщение от pax (Сообщение 295640)
Для модели игрока придется подменять контроллер анимации видимо, чтобы проиграть анимацию катсцены, а потом восстанавливать.

Кстати это не учел. Спасибо).

seaman 06.05.2015 23:07

Ответ: Вопросы от новичка
 
Я что-то не пойму...
У Вас же как-то НПС управляется? И не игроком, а скриптами.
Какая разница модели откуда приходят команды - от игрока или от АИ, или от некоего скрипта просто проигрывающего последовательность анимаций. Меняется только один скрипт - подающий эти команды.
Просто изначально сделайте нормальную архитектуру - разграничте скрипт подающий команды от скрипта исполняющего его. Тогда нужно будет переключать только один скрипт. Причем основной можно и не удалять - а просто "выключать" на время.
И еще - мне кажется что большинство анимаций катсцены, если не все это анимации из игры. Что там можно такого придумать, что игрок или НПС не должен делать в игре?
И не надо менять контроллер анимации - надо менять контроллер управления.

ILonion 07.05.2015 02:47

Ответ: Вопросы от новичка
 
Товарищи, а что за ерунда с меш коллайдерами в ю.5?
Происходит некая интерполяция с галкой. Без галки коллайдера нет вовсе.
Как заполучить коллайдер 100% повторяющий меш объекта ?
http://puu.sh/hE3B1/20b88eeb68.png

UPD:
т.е. точный коллайдер сделать удалось через null gameobject>mesh collider>mesh, но в таком виде Physics.CheckSphere почему-то перестает реагировать на всю эту конструкцию. Почему?

pax 07.05.2015 11:12

Ответ: Вопросы от новичка
 
Снимай галочку IsConvex для не выпуклых колайдеров. Physics.CheckSphere работает с габаритными контейнерами колайдеров, т.е. не точно.

ILonion 07.05.2015 16:12

Ответ: Вопросы от новичка
 
Понятно, спасибо.
Стал догадываться о ее неточности оп слову "overlap".
А что может дать точность? Physics.Linecast?

pax 07.05.2015 16:15

Ответ: Вопросы от новичка
 
Linecast, Raycast точны, но используют только линии/лучи. Если нужно тестировать объем, то наверное можно использовать SphereCast или CapsuleCast.

ILonion 07.05.2015 22:29

Ответ: Вопросы от новичка
 
Странная штука: и Linecast и SphereCast срабатывают только "на вход" в коллайдер, но "при выходе" из коллайдера обе молчат. Можно ли как-то их заставить реагировать на факт пересечения, а не "направления" ?

UPD: в общем, direction нужен, как выясняется. Не актуально.
UPD2: все работает. главное: направление)
Спасибо, pax!

Gector 09.05.2015 23:58

Ответ: Вопросы от новичка
 
Вопрос по Editor. Есть там отображение для list<>. Но отображается как-то не очень удобно - с помощью size устанавливается количество полей.
1. Можно ли как то сделать чтобы size не отображался?
2. А в контекстное меню добавить пункт для создания нового элемента?

pax 10.05.2015 01:15

Ответ: Вопросы от новичка
 
Имхо просто делай дубликат итема через контекстное меню.

Gector 10.05.2015 01:25

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от pax (Сообщение 295752)
Имхо просто делай дубликат итема через контекстное меню.

Это ок. Спасибо) А size нельзя убрать или заблочить от редактирования?
Так то можно не обращать внимание, но... раздражет он. :-D

ANIK123 10.05.2015 02:23

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от Gector (Сообщение 295753)
Это ок. Спасибо) А size нельзя убрать или заблочить от редактирования?
Так то можно не обращать внимание, но... раздражет он. :-D

Прикольная штука

Как заставить UI Graphic перерисоваться? Сейчас делаю вот так :) :
PHP код:

gr.gameObject.SetActive(false); gr.gameObject.SetActive(true); 


pax 11.05.2015 08:54

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от ANIK123 (Сообщение 295754)
Как заставить UI Graphic перерисоваться? Сейчас делаю вот так :) :
PHP код:

gr.gameObject.SetActive(false); gr.gameObject.SetActive(true); 


Попробуй http://docs.unity3d.com/ScriptRefere...tAllDirty.html

ILonion 13.05.2015 01:48

Ответ: Вопросы от новичка
 
Выполнение такого куска:
int a = 34000;
float b = 0.01f;
a = (int)(b * a);
Debug.Log(a);
дает 339.
Подскажите, а куда единица девается ?

Nex 13.05.2015 02:34

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от ILonion (Сообщение 295798)
Выполнение такого куска:
int a = 34000;
float b = 0.01f;
a = (int)(b * a);
Debug.Log(a);
дает 339.
Подскажите, а куда единица девается ?

Возможно из за не точности float. Попробуй использовать Double, а не float.

pax 13.05.2015 09:15

Ответ: Вопросы от новичка
 
Да, это из-за не точности float, просто отбрасывается дробная часть (которая равна например 0,99999999). Можно так:
PHP код:

Mathf.RoundToInt(a); 


ILonion 13.05.2015 18:49

Ответ: Вопросы от новичка
 
Спасибо! Понятно.
double тоже дала 339.
Mathf.RoundToInt дала нужное.

ILonion 13.05.2015 19:02

Ответ: Вопросы от новичка
 
Уточнение-вопрос:
Мне нужно чтобы в результате вычисление флоат*флоат, инт*флоат, флоат*инт, получалось целое без дробной части. Но главное без округления. Т.е. даже если 100.9999999999, чтобы давало на выходе - 100.
Mathf.RoundToInt может такое только делать гарантировано? хотя оно как раз вроде и округляет.
Или просто приведение (int) не будет округлять, а только отбрасывать дробное?
*имеется ввиду на случай если что-то будет заковыристое описанное в пред. вопросе

pax 14.05.2015 09:47

Ответ: Вопросы от новичка
 
приведение к int отбрасывает дробную часть
Mathf.RoundToInt округляет до целого
Mathf.CeilToInt Возвращает наименьшее целое число, которое больше или равно заданному числу
Mathf.FloorToInt Возвращает наибольшее целое число, которое меньше или равно заданному числу

ILonion 14.05.2015 18:01

Ответ: Вопросы от новичка
 
Спасибо!

seaman 14.05.2015 19:58

Ответ: Вопросы от новичка
 
http://poqxert.ru/page/matematika-un...uglenie-chisel

ILonion 17.05.2015 00:02

Ответ: Вопросы от новичка
 
Подскажите, пожалуйста, как правильно действовать:
Дано: огромное кол-во 3д объектов. По надобности делается копия одного из, и "забрасывается" в игровой процесс.
В блитце делал так: загружал все сразу на старте и hideentity. По надобности: копировал, showentity, использовал.

В юнити, с выключенным setactive, Instantiate не делается. Решил выключать компонент renderer. Далее то же самое что в блитце.

Правильный ли это подход в юнити для данного случая?

pax 17.05.2015 10:12

Ответ: Вопросы от новичка
 
В Unity для копирования используются префабы. Не надо их в сцену помещать.

По поводу Instaniate и SetActive - вероятно ты забыл включить снова скопированный объект (SetActive(true))

ANIK123 18.05.2015 02:05

Ответ: Вопросы от новичка
 
Не ожидал, что застряну на такой мелочи, но: как достать исходный обьект из SerializedProperty?
Пишу это:
PHP код:

List<Level.Cell> list = (List<Level.Cell>)(object)property.objectReferenceValue

компилит, но вызывает такое:
type is not a supported pptr value
А других вариантов гугл вроде не выдает
(Пытаюсь достать данные из элементов вышеупомянутого List-а, а не просто нарисовать их)

Или иначе: как, будучи внутри своего PropertyDrawer-а, достать обьект, который он рисует?

pax 18.05.2015 07:28

Ответ: Вопросы от новичка
 
Я боюсь у тебя это не получится, property может указывать на свойства нескольких объектов одновременно, т.к. в редакторе можно выделить сразу много объектов. Самый простой путь - преобразовать target к типу своего скрипта и все рисовать с помощью EditorGUI/EditorGUILayout для одного первого объекта. Но появится проблема с Undo/Redo.

ANIK123 18.05.2015 16:56

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от pax (Сообщение 295933)
Я боюсь у тебя это не получится, property может указывать на свойства нескольких объектов одновременно, т.к. в редакторе можно выделить сразу много объектов. Самый простой путь - преобразовать target к типу своего скрипта и все рисовать с помощью EditorGUI/EditorGUILayout для одного первого объекта. Но появится проблема с Undo/Redo.

Но... target ведь у Editor, а не у PropertyDrawer-a? (
Да и Undo/Redo не нужен, а если понадобится, то его же можно вручную сделать

pax 18.05.2015 17:06

Ответ: Вопросы от новичка
 
Вручную сложно, а у Editor target это первый из targets

UPD: сорри я немного не понял сначала о чем речь. в PropertyDrawer никак не получить что рисуешь. Вроде кто-то пробовал через рефлексию. Но это геморрой еще тот.

ILonion 20.05.2015 19:47

Ответ: Вопросы от новичка
 
Подскажите ответ на такой вопрос:
Мне нужно чтобы можно было определять объект под мышкой, но при этом, чтобы никаких столкновений между объектами не происходило.
В блитце была возможность сделать так без вызова UpdateWorld.
А как такое организовать в юнити? Как выключить расчет столкновения у всего?

UPD: или если у меня нет ни одного fixedUpdate(), то никакие столкновения рассчитываться нигде никогда не будут ?

pax 20.05.2015 21:26

Ответ: Вопросы от новичка
 
Вешай на объекты Collider'ы с Rigidbody в режиме IsKinematic

Жека 21.05.2015 11:42

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от ILonion (Сообщение 295973)
UPD: или если у меня нет ни одного fixedUpdate(), то никакие столкновения рассчитываться нигде никогда не будут ?

Наличие этой функции в твоём скрипте никак не повлияет на работу физики, она лишь позволяет тебе вклиниться в логику в момент обработки физики.

ILonion 21.05.2015 18:10

Ответ: Вопросы от новичка
 
Понятно..
Спасибо, pax, Жека!

ILonion 21.05.2015 21:36

Ответ: Вопросы от новичка
 
Посоветуйте, пожалуйста, как поступить. Штука такая:
Образно: есть массив 3д объектов. Большое кол-во. Те, что находятся на расстоянии от камеры n, должны определяться мышкой, прочие - нет. Камера перемещается, соответственно и объекты подверженные лучу камеры меняются.
Каким образом эффективно включать\выключать у объектов коллайдеры? Я так понял, что только через getcomponent>collider.
Но вопрос в том, что "id' объектов постоянно меняются (перманентно instantiate и destroy делаются) и создать массив ссылок на коллайдеры перед запуском скрипта не получается.
В руководстве же, написано, что getcomponent (в свете производительности) хорошо бы использовать по-реже (что и смущает).
getcomponent на лету единственный способ в данном случае?

ANIK123 21.05.2015 23:59

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от ILonion (Сообщение 295990)
Посоветуйте, пожалуйста, как поступить. Штука такая:
Образно: есть массив 3д объектов. Большое кол-во. Те, что находятся на расстоянии от камеры n, должны определяться мышкой, прочие - нет. Камера перемещается, соответственно и объекты подверженные лучу камеры меняются.
Каким образом эффективно включать\выключать у объектов коллайдеры? Я так понял, что только через getcomponent>collider.
Но вопрос в том, что "id' объектов постоянно меняются (перманентно instantiate и destroy делаются) и создать массив ссылок на коллайдеры перед запуском скрипта не получается.
В руководстве же, написано, что getcomponent (в свете производительности) хорошо бы использовать по-реже (что и смущает).
getcomponent на лету единственный способ в данном случае?

Вешай на объекты компонент, который имеет поле myCollider, которое можно вручную назначать, или в Start-е Getcomponent выполнять
И в массиве держать ссылки имеено на этот компонент
Как-то так?

pax 22.05.2015 07:29

Ответ: Вопросы от новичка
 
У Physics.Raycast есть много параметров, задай дистанцию действия луча и не парься о включении/выключении колайдеров.

ILonion 22.05.2015 19:10

Ответ: Вопросы от новичка
 
Спасибо, pax, так и сделаю!
ANIK123, спасибо, но предустановленный массив делать в моем случае нельзя - нет постоянных id объектов.

ANIK123 23.05.2015 09:18

Ответ: Вопросы от новичка
 
Пытаюсь смастерить свой Dictionary, который умеет сериализироваться
PHP код:

[Serializable]
public class 
DictionarySerializable<KV> : IEnumerable<KVPSerializable<KV>> {
    [
SerializeField] protected List<KVPSerializable<KV>> list = new List<KVPSerializable<KV>>();
    public 
int Count {get{return list.Count;}}
    protected 
void Add(K KeyV Value){
        list.
Add(new KVPSerializable<KV>{Key KeyValue Value});
    }
    public 
void Remove(K Key){
        list.
Remove(Find(Key));
    }
    public 
V this[K Key]{
        
get {return Find(Key).Value;}
        
set {
            
bool finded false;
            foreach (var 
v in list){
                if (
v.Key.Equals(Key)){v.Value valuefinded true; break;}
            }
            if (!
finded){Add(Keyvalue);}
        }
    }
    public 
KVPSerializable<KVFind(K Key){
        foreach (var 
v in list){
            if (
v.Key.Equals(Key)){return v;}
        }
        throw new 
System.InvalidOperationException();
    }
    public 
IEnumerator<KVPSerializable<KV>> GetEnumerator(){
        foreach (var 
v in list){
            yield return 
v;
        }
    }
    
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator(){
        return 
this.GetEnumerator();
    }
}

[
Serializable]
public class 
KVPSerializable<KV> {
    public 
K Key; public V Value;


PHP код:

EditorGUI.BeginChangeCheck();
foreach (var 
v in myTarget.dict){
        ....
    
v.Value.strength EditorGUILayout.IntField(v.Value.strength);
        ....
}
if (
EditorGUI.EndChangeCheck()){
    
EditorUtility.SetDirty(target);



Но он не сериализируется (при запуске "игры" и при выходе с нее - данные сбрасываются)
Не могу понять где налажал

pax 23.05.2015 10:32

Ответ: Вопросы от новичка
 
Твой пример, это не словарь, а простой перебор. Нет никаких преимуществ поиска. Ведь словарь это хэш таблица.

И зачем тебе мастерить свой словарь, ведь можно сериализовать любой другой.

Вот готовый пример сериализации стандартного словаря:
http://docs.unity3d.com/ScriptRefere...rialize.h tml

Я обычно поступаю так:
PHP код:

using UnityEngine;
using System.Collections.Generic;

public class 
ExampleMonoBehaviour
{
     [
System.Serializable]
     public class 
DictionaryItem
     
{
            public 
string key;
            public 
int value;
     }

     public List<
DictionaryItemitems;

     public 
Dictionary<stringintdic;

     
void Awake()
     {
            
dic = new Dictionary<stringint>();
            if(
items!= null)
            {
                 foreach(var 
item in items)
                   
dic[item.key] = item.value;
            }
     }
    


И не надо писать никакие свои редакторы для типов.

ILonion 29.05.2015 03:19

Ответ: Вопросы от новичка
 
Доброго времени!
Такой вопрос:
луч должен возвращать компонент объекта в сцене - скрипт, и из него метод, но при попытке запуска юнити говорит, что ссылается не на экземпляр (Object reference not set to an instance of an object):

PHP код:

hit.collider.GetComponent<xcalss>().xmethod(); 

энное кол-во объектов в сцене со скриптом с классом xclass.
как быть в данном случае?
нужно запускать методы xmethod().

pax 29.05.2015 06:56

Ответ: Вопросы от новичка
 
Вот так
PHP код:

var component hit.collider.GetComponent<xcalss>();
if(
componentcomponent.xmethod(); 


FREE MAN 29.05.2015 10:51

Ответ: Вопросы от новичка
 
Привет, как сделать что бы LensFlare не увеличивал свой масштаб от расстояния камеры? То есть зафиксировать его размер. Опция Zoom ничего не дает, что она включенная, что она выключенная. У кого есть какие идеи для решения этой задачи?

pax 29.05.2015 11:23

Ответ: Вопросы от новичка
 
Написать свой LensFlare? Есть еще такое https://www.assetstore.unity3d.com/en/#!/content/12845

FREE MAN 29.05.2015 11:34

Ответ: Вопросы от новичка
 
Мда, такой движок, а такой функции простой нету - печаль. Буду решать самостоятельно.

pax 29.05.2015 11:41

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от Phyton (Сообщение 296232)
Мда, такой движок, а такой функции простой нету - печаль.

Так есть же! Только тебе стандартный Lens Flare не нравится)

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

ILonion 29.05.2015 14:04

Ответ: Вопросы от новичка
 
Спасибо огромное!

ANIK123 07.06.2015 21:22

Ответ: Вопросы от новичка
 
Здравствуйте
Я наткнулся на баг, или накосячил
Даже не знаю как описать
Вот ссылка на ассет со сценой, в которой есть две "менюшки", в каждой расположено по одной кнопке. Кнопки эти анимированные аниматором. Нажатие на кнопку закрывает текущее окно, и открывает другое. Закритые и откритые сопровождается деактивацией/активацией флажка CanvasGroup-а окна "Interactable", с последующим отключением/включением Геймобджекта. Если разок так открыть окно, то все хорошо. Если второй раз, то по кнопке будет видно, что она не интерактивная. Но при этом она нажимеатся, и если глянуть в аниматор то мы сможем пронаблюдать как проигрывается анимация Normal, хотя в действительности это вранье О_О

ILonion 09.06.2015 02:44

Ответ: Вопросы от новичка
 
Подскажите, пожалуйста, как в List<T> получить постоянный указатель на элемент списка (кол-во элементов списка постоянно изменяется)?
В блитце использовал Handle для этого.

pax 09.06.2015 07:09

Ответ: Вопросы от новичка
 
Ты используешь не тот список. В Blitz был связанный список на сколько я помню. https://msdn.microsoft.com/ru-ru/lib...(v=vs.90).aspx

ILonion 10.06.2015 01:36

Ответ: Вопросы от новичка
 
Спасибо!
Но мне так и непонятно как хранить ссылку\индекс\указатель на конкретный элемент\узел списка безо всяких first, last и пр.
?

UPD: не хранить, а получить ссылку\индекс\указатель.
В блитце был type с динамически изменяемым размером и полями:
Код:

type aaa
    field x
    field y
    field z
end type

Вот мне нужна подобная штука с полями и возможностью получить указатель на конкретный экземпляр type с полями.
Где это реализовать в c#?
LinkedList<T> ? он мне всю голову поломал
Или вообще через экземпляры struct?

pax 10.06.2015 07:41

Ответ: Вопросы от новичка
 
PHP код:

// элемент списка
public class aaa
{
    public 
float x;
    public 
float y;
    public 
float z;
}

// объявление 
public LinkedList<aaaaaaList = new LinkedList<aaa>();

//добавление элемента в список и получение ссылки
var addedItem aaaList.AddFirst(new aaa{x=3});
// или 
LinkedListNode<aaaaddedItem aaaList.AddFirst(new aaa{x=3});

//изменение добавленного элемента
addedItem.Value.5

// удаление из списка
aaaList.Remove(addedItem); 


Andvrok 10.06.2015 16:25

Ответ: Вопросы от новичка
 
Можешь хранить в словаре, а не в списке, и присваивать уникальный ключ каждому значению, как вариант.

pax 10.06.2015 16:35

Ответ: Вопросы от новичка
 
Да можно собственно и обычный список использовать для ссылочных типов (class).

PHP код:

// список элементов типа aaa
List<aaaitems = new List<aaa>()

// создание экземпляра, он же и ссылка на самого себя
aaa aaaItem = new aaa{z=1};

// добавление в конец списка
items.Add(aaaItem);

// изменение
aaaItem.y=42;

// индекс в списке
int index items.IndexOf(aaaItem);

// удаление из списка
items.Remove(aaaItem)

if( 
items.IndexOf(aaaItem) == -1){
   
Debug.Log("Нет в списке этого элемента уже");



ILonion 10.06.2015 21:33

Ответ: Вопросы от новичка
 
Теперь всосал. Большое спасибо!

ANIK123 12.06.2015 19:44

Ответ: Вопросы от новичка
 
Обновился с 5.0.1 до 5.1, пропала возможность импортировать аудио



-_-

ARA 12.06.2015 19:55

Ответ: Вопросы от новичка
 
Цитата:

Обновился с 5.0.1 до 5.1, пропала возможность импортировать аудио
Лол! Попробуй патчрелиз Patch 5.1.0p1
http://unity3d.com/unity/qa/patch-releases

ANIK123 12.06.2015 21:46

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от ARA (Сообщение 296588)
Лол! Попробуй патчрелиз Patch 5.1.0p1
http://unity3d.com/unity/qa/patch-releases

Не помогло


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

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