Несколько вопросов по консоли и выводу инормации.

Программирование на Юнити.

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение wild_r 21 апр 2009, 14:20

1) Ругаеться на строку загрузки, но уже проехали эту багу.
2) Как пылесос сосет из папки функция Resources.LoadAll. Успешно, правда я вижу забавную штуку:
Код: Выделить всё
InvalidCastException: Cannot cast from source type to destination type.
Searching.Start ()   (at Assets\Scripts\Searching.js:31)

Приведение типов не работает, вот зло. Но ведь там файлы ".mat". Сейчас вручную попробую. Моя ошибка, из-за непонимания JS. Все нормально, это не приведение типов.
3) Эх уж этот JS. Просто Java веселее и понятнее. Такое определение массива, как было там по-идее, аналогично
Код: Выделить всё
ArrayList<Material> mats = new ArrayList();

4) Все-таки, как запустить скрипт, если он отноститься к Editor Script, т.е. лежит в папке ../Editor?
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение Neodrop 21 апр 2009, 14:27

Если он лежит в папке Editor, то создаёт какое то действие в Редакторе. Выложите тут код, я скажу какое это действие и скажу как его запустить. Каждый случай уникален.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение wild_r 21 апр 2009, 14:30

Да уже не надо. Это вариант работает. Просто скрипт я хотел знать механизм запуска, по какой функции он происходит? По тем-же самым "Start" и т.д?
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение Neodrop 21 апр 2009, 14:32

Если это Wizard, то у него свои функции, если Editor Script, то свои. Но и некоторые общие для всех. Там довольно много тонкостей, в которых я сам ещё до конца не разобрался.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение wild_r 21 апр 2009, 14:36

Где-бы про это почитать, а то ScriptReference ничего такого не рассказывает.

Кстати, это специально редактор работает только с одним ядром, если в системе их 4, или сразу с двумя если их два?
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение Neodrop 21 апр 2009, 15:05

Сама программа [unity 3D] Юнити, работает только с одним ядром, следовательно и Редактор тоже. С другими ядрами работают компоненты программы. Подгрузка, сеть. Но многопоточность, действительно пока реализована не на высшем уровне. :-?
Больше всего убивает то, что физика считается на том же ядре, что и программа.
Короче, ещё один пост не потеме в этом топике, забаню на сутки.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение wild_r 21 апр 2009, 21:40

Продолжаем... :ymdevil:
Это чудо уйти в бесконечный цикл может? Уж больно долго оно работает.

Код: Выделить всё
function Start() {
   var mats = new Array();
   var objs = new Array();
   var i : Number;
   var j : Number;
   var k : Number;
   mats = Resources.LoadAll("Materials",Material);
   objs = FindObjectsOfType(MeshFilter);
   Debug.Log(mats.length);
   Debug.Log(objs.length);
   for(i=0; i<mats.length; i++) {
      for(j=i; j<mats.length; j++) {
         if(mats[i].GetTexture ("_MainTex")==mats[j].GetTexture ("_MainTex")){
            for (k=0; k<objs.length; k++) {
               if(objs[k].renderer.material == mats[j]){
                  objs[k].renderer.material = mats[i];
               }
            }
            //Destroy(mats[j], true);
         }
      }         
   }
}
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение Neodrop 21 апр 2009, 21:43

Это при 6000 материалов и чёрти сколько объектов в сцене? Даже затрудняюсь сказать, сколько он будет работать. Тем более, что код нисколько не оптимизирован.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение wild_r 21 апр 2009, 22:30

1) Оптимизация невозможна, т.к. материалы пермешаны по текстурам, а не последовательно идут. Также на кусочках меша эти материалы тоже без порядка идут.
2) Закончило оно работу... Долго и неправильно.
3) Нашел багу, нужно сравнивать по имени текстуры, а не тупо матеиралы проверять на равенство.
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение wild_r 22 апр 2009, 16:38

:p
Какой функцией назнчть новй материал, а то .renderer.material = не дает сохранить проект и сцену.
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение Neodrop 22 апр 2009, 16:59

Это нужно делать в Редакторе. То есть Editor скрипты.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение wild_r 23 апр 2009, 10:38

А все-таки, хоть в сторону какого класса Editor'а смотреть? А то уже третий раз пересматриваю в ScriptReference все классы редактора и ничего не вижу. :-s
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение gnoblin 23 апр 2009, 11:18

Вначале скрипта пишешь спец. директиву и он исполняется в редакторе, а не в runtime.
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение wild_r 23 апр 2009, 11:30

А если скрипт уже лежит в папке Editor, то все автоматически будет применяться в эдиторе?
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Несколько вопросов по консоли и выводу инормации.

Сообщение Neodrop 23 апр 2009, 11:32

У вас есть скрипт, назначающий материалы в рантайме?
Пишем на нём в самом верху скрипта @script ExecuteInEditMode() и всё выполнится прямо в редакторе. И сохранится так, как вы желаете.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Пред.След.

Вернуться в Скрипты

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

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