Render.ru

MergeMaxFile XRef

FDS

Мастер
Рейтинг
154
#1
Собсна проблема описана в названии. при мердже макс фаила один в другой не мерджится XRef геометрия. (руками все работает хорошо, кодом нет) в чем причина? подмогните братцы, срочно нужно. :)
 

igorznag

Мастер
Рейтинг
103
#2
MaxScript пишет какую-нибудь ошибку?
Объясните как вы руками делаете мердже макс фаила один в другой.
Допустим у нас есть 3 сцены:
1. "x_ref_source.max". В этой сцене создаем один объект Teapot (чайник) и конвертируем его в Editable Poly.
2. "x_ref_objects.max". В этой сцене создаем один объект Xref Object и указываем файл "x_ref_source.max".
3. "main_scene.max". Основная сцена. Сцена пустая (в сцене нет объектов).
Из какой сцены и в какую сцену нужно делать Merge?
Какой тип (Xref Object, Editable Poly) должен быть у объекта после команды Merge.
 

FDS

Мастер
Рейтинг
154
#3
И так. совсем по порядку:
У меня есть 2 фаила. в одном лежит просто геометрия и прочий хлам куда мне и надо примержить второй фаил. Во втором фаиле лежит (грубо говоря) 2 чайника, один из них простая геометрия, второй XRef объект (его другие люди иногда меняют, текстурки перерисовывают и прочее)

Если я в первом фаиле нажимаю File -> Merge и выбираю второй фаил с чайниками то все отлично, оба чайника мерджатся и я рад.
Если я пишу код MergeMaxFile "собсна адрес фаила" то примердживается только чайник который был геометрией, XRef объект как будто не существует. и я грустный

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

Заметил в справке по мерджмаксфаилу такую строчку missingXRefsList: <&variable> - но что это к чему я не разобрался.

никаких ошибок макс не выдает. была б хоть какая то зацепка. Он тупо игнорит эти объекты.
После мерджа XRef объект должен быть XRefom что бы его все так же могли изменять прям на ходу, в этом то и смысл его использования был. Руками все выходит как надо, но фаилов так много и они будут еще долго появляться что это не выход.
 

igorznag

Мастер
Рейтинг
103
#4
Если я правильно понял, тогда по моему примеру нужно открыть сцену "main_scene.max" и запустить код:
Код:
MergeMaxFile "путь к ... x_ref_objects.max"
objXRefMgr.UpdateAllRecords()
 

FDS

Мастер
Рейтинг
154
#5
огромнейшее спасибо.
Ты спас мои нервы и прочее. все работает.
Как я понял проблема в том что он примерлжил XRefyj но не обновил его, По этому он не появился, да?
 
Сверху