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)

Amatsu 07.02.2013 13:53

Ответ: Вопросы от новичка
 
Я уже 3 раза написал, что уже решил вопрос через рендертекстуру, а вы все продолжаете мне помогать :D

pax 07.02.2013 13:57

Ответ: Вопросы от новичка
 
Не было уточнения про iGUI

Amatsu 07.02.2013 14:30

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

Сообщение от pax (Сообщение 252038)
Не было уточнения про iGUI

Но было про то, что я уже решил проблему через рендертекстуру :) Но в любом случае спасибо

WISHMASTER35 08.02.2013 02:46

Ответ: Вопросы от новичка
 
Сейчас заметил, что если в Editor'е изменять сериализованную переменную скрипта, то автоматически вызывается перерисовка.
Но почему если в такой переменной сохранять текст для EditorGUILayout.TextArea, то после завершения редактирования текста он становится как и до редактирования?

pax 08.02.2013 07:08

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

Сообщение от WISHMASTER35 (Сообщение 252096)
Сейчас заметил, что если в Editor'е изменять сериализованную переменную скрипта, то автоматически вызывается перерисовка.
Но почему если в такой переменной сохранять текст для EditorGUILayout.TextArea, то после завершения редактирования текста он становится как и до редактирования?

http://docs.unity3d.com/Documentatio...ct.Update.html

pie 08.02.2013 22:01

Ответ: Вопросы от новичка
 
Всем привет! Возник вопрос по Offset текстуры. У меня на объект повешено 2 материала. Первый основной, второй с альфой поверх него. Как мне изменять Offset второй текстурки? renderer.material.SetTextureOffset меняет только у основного (первого) материала. Спасибо.

Lestar 08.02.2013 22:48

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

renderer.materials[1].SetTextureOffset

WISHMASTER35 09.02.2013 00:36

Ответ: Вопросы от новичка
 
А переопределить оператор = нельзя?
Пишу такой класс
Код:

        class Container<T> where T : struct {
                public T value;
               
                public Container() {
                }
                public Container(T value) {
                        this.value = value;
                }
               
                public static implicit operator T(Container<T> c) {
                        return c.value;
                }
                public static Container<T> operator =(Container<T> c, T value) {
                        c.value = value;
                        return c;
                }
        }

Хочется сделать неявное присваивание, чтобы не обращаться к полю value.

seaman 09.02.2013 01:03

Ответ: Вопросы от новичка
 
Оператор '=' переопределить нельзя. Более того нет неявного конструктора копирования. Нужно определять его самостоятельно
public Container(Container<T> other){value = other.value;}
Используем:
Container<int> one = new Container<int>(1);
Container<int> two = new Container<int>(one);

WISHMASTER35 09.02.2013 01:13

Ответ: Вопросы от новичка
 
seaman, мне простые типы нужно было записывать в мой контейнер. Ну ладно.

Я пытался сделать для моего MineCraft parallax шейдер без parallax текстуры. Т.е. чем светлее пиксель, тем больше выпирает пиксель.
Но смещение текстурных координат было настолько сильным, что uv заходили на другие тайлы в атласе.
Наверно глупый вопрос, но это никак нельзя исправить?

Как узнать, что ссылка не на объект сцены, а на префаб? И интересно сам объект не может узнать в сцене он или лишь прифаб? На случай если вручную вызывать метод в префабе)

seaman 09.02.2013 12:10

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

И интересно сам объект не может узнать в сцене он или лишь прифаб? На случай если вручную вызывать метод в префабе)
Префаб не объект, а лишь описание объекта. Поэтому первый вопрос лишен смсла. Только объект может что-то узнавать, а описание объекта, естественно ничего узнать не может.
Аналогично вызвать метод в префабе просто невозможно. Сначала нужно инстанцировать префаб. Это аналогично тому, чтобы пытатьс завести чертеж машиныы и поехать на нем. Сначала по чертежу нужно сделать саму машину.

Okay 09.02.2013 14:08

Ответ: Вопросы от новичка
 
Не пойму, как настроить синхронизацию между клиентами. Запускал 2 клиента, результат нулевой(не видно никого).
PlayerIO используется

WISHMASTER35 09.02.2013 14:34

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

Префаб не объект, а лишь описание объекта. Поэтому первый вопрос лишен смсла.
Почему же? Есть у меня ссылка на объект. Мне надо проверить этот объект префаб или нет. Если префаб, то создать объект из него и работать с ним.

Этот объект BlockSet для моего MineCraft. В OnEnable он инициируется, но в префабе OnEnable конечно не вызывается. Хотя можно и вручную вызвать метод инициализации. Вообщем хотел сделать, чтобы BlockSet мог быть и префабом и объектом. Второй вариант, чтобы перед игрой можно было выбрать BlockSet и создать из него не уничтожаемый объект, чтобы передать его в сцену с игрой.

Может я не правильно делаю т.к. после завершения сцены игры он тоже не уничтожится и придется вручную это делать.

seaman 09.02.2013 14:54

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

в префабе OnEnable конечно не вызывается. Хотя можно и вручную вызвать метод инициализации.
Вы в префабе хотите вручную вызвать OnEneble? Чушь какая! Еще раз - префаб не объект, а описание объекта. Чертеж автомобиля! Невозможно у чертежа включить зажигание!
Цитата:

Мне надо проверить этот объект префаб или нет.
Зачем? Почему из объекта не сделать другой объект?

WISHMASTER35 09.02.2013 15:13

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

Вы в префабе хотите вручную вызвать OnEneble? Чушь какая! Еще раз - префаб не объект, а описание объекта.
Но это реально работает. Хотя и не хочу так оставлять.
Цитата:

Зачем? Почему из объекта не сделать другой объект?
Ну и зачем мне в сцене два объекта?


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

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