Render.ru

Material

#1
допустим есть такая задача:
в сцене есть кубик с материалом Standart, нужно скриптом создать новый материал Directx9 shader, перенести некоторые настройки с Standart на DX9
и сообственно заменить старый материал новым.
Проблема возникла в следующем, во первых поместить материал нужно не с помощью кнопочки assign material to selection а с помошью кнопочки put material to scene. Естественно до этого шага я уже присвоил имя стандартного материала директиксовому и данная кнопочка в редакторе загорелась. Пересмотрел хелп, но там этого не нашёл, попробовал сам использовать PutMtltoScene, ошибки ни какой невыдаёт но и не работает, в рекордере данная кнопочка тоже не регистриться. Кто знает как всё таки поместить материал в сцену ?

и ещё вопросик как определить- макс работает под OGL или DX

Всем спасибо.
ICQ 309684979
 

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
#2
На счет матерьяла
Такого метода в скрипте нет, но вполне можеш написать и сам
такую функцию:
тебе нужно просто в цикле проверить имена всех обьектов в сцене
и поменять матерьял с совпадающим именем
 
#3
Это то понятно, но тогда придётся заморачиватьсяуже не с выделеныыми объектами а с ID материала, а если у меня ещё буду и группы то вобще засада .
Жаль , такой простенький скрипт, а написать почеловечески нельзя...придётся возится с ID и все группы разгруппировывать.
 

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
#4
Все можно только болтать меньше надо давно бы написал
ладно лови на 3dcentre там вроде сайт поправок в код не вносит :)
 
#5
Я его уже и написал почти, всё делается кроме функции putmtltoscene. Её напишу надеюсь сегодня. Посмотрел я твой скрипт на 3дцентре. Ну что я могу сказать, да ничего. Я со скриптами знаком 4 день всего и хотя суть мне слегка понятна я всё таки до этого ещё не дошёл, узлы, классы и т.д. пока решаю проблеммы более простым кодом :) Спасибо огромное за помощь, щас буду разбираться с твоим кодом, хотя пока я опять встрял с диалогом выбора файлов. Я научился открывать макс-файл, научился открывать текстовый файл и растровые изображения, но как вызвать окно выбора файлов не привязанное к типам я не понял. Используется это здесь: Создаём directx9_shader и самой первой кнопочкой мы можем выбрать *.fx файл, то есть сам шейдер. Пока я прописал жёсткий путь без возможности его смены, но не у всех же макс стоит там же где и у меня.

Ещё раз огромное спасибо за помощь.
 

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
#6
Незабывай F1 полезная клавиша я все-таки не ходячий хелп ;)
это ты и сам был способен найти

getOpenFileName [ caption:<title> ] \

[ filename:<seed_filename_string> ] \

[ types:<description1>|<pattern1>|<description2>|<pattern2>|...| ]

getSaveFileName [ caption:<title>] \

[ filename:<seed_filename_string> ] \

[ types:<description1>|<pattern1>|<description2>|<pattern2>|...| ]

For example:

f = getOpenFileName \

types:"Data(*.dat)|*.dat|Excel(*.csv)|*.csv|All|*.*|"
 
#7
Премного благодарен в очередной раз. F1 вообще не отпускаю, читаю хелп день и ночь, просто этот скрипт нужен срочно, скоро сдача этапа и переделывать все используемые материалы ручками в напряг. вот и решил облегчить жизнь коллегам, я допустим сразу с директиксовыми шейдерами работаю но это один сплошной глюк, поэтому нужно помочь всем страждующим, да и на будущее пригодится. Вообще я занимаюсь моделированием. Но это всё лирика. спасибо ещё раз. Кстати врубился в классы, до узлов пока не дошёл :)
 

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
#8
Молодец, теперь можеш проних завыть :)
и смело стирать строчки типа ocls=classof origMtl
избыточный код остался, для шестерки не требуется.

Node это и есть класс обьекта в сцене проще говоря
любой обьект.
 
#9
Вот именно из-за проблем DX и возникла необходимость написания данного скрипта :)
Работаю на geforce 4200 ti с 64mb, с ATI какие то проблеммы даже при использовании сочетания ALT+TAB, но это вопрос в принципе не ко мне а к программерам, я так, краем уха слышал и ососбо не вникал.
Да софт есть. MaxTreme называется, на официальном сайте можно скачать, НО т.к. он работает только под quadro то приходится с помошью различных ухищрений програмно переделывать карту, ну или как то читал, это уже для слишком больших энтузиастов, можно и паяльником поработать. С помошью утилиты Rivatuner и дополнительного скрипта, он там же где и тюнер лежит можно попробовать карту переделать, но так так за пару минут возни у меня ничего не получилось я это дело забросил, и так в принципе всё нормально работает и не тормозит. Короче специальный софт я не ставлю. Работаю щас под детонатором 52.14 до этого работал на 53.03 особой разницы не видел, баги везде одни и теже и везде они присутствуют, и в DX и в OGL.
Моделю под DX, только по той причине что в будущем будет лень переделывать все материалы, хотя с этим скриптом следующий этап попробую делать, наверное, под OGL. и со стандартными материалами
Под DX есть 2 типа проблеммы , как я понял,с невидимыми гранями.
1: Когда делаешь один мульти материал и ко всем объектам применяешь разный ID, в итоге после ID=20 возникает эта самая проблемма.- не лечиться хотя периодически проблемма на время пропадает
2: когда делаешь разные материалы, не заморачиваешься с ID, конечно для этого приходится дробить сцену на объекты, то проблемма периодически возникает случайным образом. Лечится просто - рестарт и возникает вообще крайне редко. Вывод: DX не любит мульти материалы.ну или большое кол-во ID что в принципе одно и тоже
Провели мы здесь маленький тест на эту тему и пришли к выводу что если на карте есть аппаратная поддержка dx9 то эти проблеммы не возникают, то есть линейка от nvidia - FX всё отображает нормально.
Ещё под DX возникает проблемма увеличения размера окна, но это только если одновременно с максом запущена игра, например я часто запускал раньше wolfenstain для просмотра некоторых деталей и работал одновременно в максе - сущий ужас.
Шейдеры сам не пишу, для этого есть программеры, вот они то всё это дело и пишут, я как говорил - моделер, но так как по образованию программист решил вот облегчить немного трудовые будни с помощью скриптов. Хотя потом хочу как-нить с шейдерами попробовать, но это уже под mental ray.
От себя смогу добавить то что проблемы есть везде и под dx и под ogl, придётся выбирать что меньше нервирует, да и ещё dx пошустрее будет.
 

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
#11
Я так понял ты работаеш под DX, тут накопиолось
несколько вопрос по этому делу
заодно может ты меня просветиш ?
Прошу прошения за оффтоп.

Вопервых какя утебя карточка NV или ATI ,др ... ?
пользуешся ли дополнительным софтом или дровами ?(у NV помнится какойто софт под это дело на макс ставился)
Пишеш ли сами шейдеры ? какими пользуешся ?
Моделируеш тоже под DX? как при этом обходиш проблему с невидемыми гранями ?
Что еще от себя можеш добавить хорошего/плохого по этому поводу ? ;)
Вобщем проблема интересует.
 
Сверху