Render.ru

C4d: слетают 2 координаты подобъектов при экспорте

Дежурный Инопланетянин

Пользователь сайта
Рейтинг
2
#1
Приветствую всех!
Прошу помощи в следуюющем вопросе. Я время от времени создаю в Cinema4d 3d-модели для программы разводки плат DipTrace. Для передачи моделей между этими программами использую несколько устаревший формат vrml2 (*.wrl). Так вот, при создании простых моделей (резисторы, конденсаторы, и т.п.) всё получается нормально. А вот при создании и экспорте более сложных моделей (например, дисплей мобилки) смещаются координаты составляющих объектов - скрины экранов прилагаю.
Original_Back_vid_w_C4d.png
Original_Front_vid_w_C4d.png
Posle_Exporta_vid_w_DipTrace.png


При экспорте в формат 3ds - такого сдвига координат не происходит, но там теряются материалы и модель выходит вся чёрная. Мне более интересен vrml-формат, поскольку он сохраняет относительные цвета подобъектов. Подскажите какие-нибудь идеи, как можно совместить системы координат после экспорта.

P.S. Прилагаю для сравнения картинки успешного экспорта более простой модели (резистор):

Screenshot - 28_06 002.png
Screenshot - 28_06.png
Original_Back_vid_w_C4d.png Original_Front_vid_w_C4d.png Posle_Exporta_vid_w_DipTrace.png Screenshot - 28_06 002.png Screenshot - 28_06.png
 
Рейтинг
53
#2
Подскажите какие-нибудь идеи, как можно совместить системы координат после экспорта.
Думаю, что это несложно. С таким сталкивался, когда доводил до ума чужие библиотечные модели и в этом случае я оси подобъектов (компонентов модели) все помещал в общий центр. А если что-то случайно потом сдвинулось, то восстановить положение такого объекта тогда очень легко.
Здесь для примера яхта, состоящая из 14 разных объектов (компонентов), но у всех их оси имеют одинаковые координаты X/Y/Z = 0/0/0 (на скриншоте видно).
Оси Объектов_1.jpg Оси Объектов_2.jpg

Ну а на счёт экспорта с сохранением материалов (несложных), то почему бы не попробовать формат FBX - у него хотя и не всегда всё корректно, но в целом материалы сохраняет.
 

Дежурный Инопланетянин

Пользователь сайта
Рейтинг
2
#3
Спасибо большое, Алек сандр (aler) !
Я и сам, было, допёр до совмещения отсчётов всех подобъектов в некоем общем центре. Весь вопрос в том, как это сделать ПРАВИЛЬНО? Я пробовал так: центрировал родительский объект ("LS020") в начало World-координат, затем выделял сразу все подобъекты и ... перепробовал все доступные опции в меню Structure -> Axis Center -> ... Никакого успешного результата. Кроме того, что при некоторых из тех опций все подобъекты слетаются в центр сцены :(
P.S. Я всеми четырьмя лапами за формат FBX, только ... Его Величество Dip Trace сей формат не приемлет. По этой же причине использую не последние версии Синемы, а давнюю версию R12 - практика показала, что результат VRML-экспорта моделей, созданных мной с применением Булевых вычитаний, именно из этой версии выглядит в просмотрщике Dip Trace наиболее прилично.
Подскажите, пожалуйста, как правильно поместить все оси подобъектов в общий центр.
 

Вложения

Дежурный Инопланетянин

Пользователь сайта
Рейтинг
2
#4
Ещё добавлю: я попробовал начало координат каждого подобъекта принудительно совместить с началом координат сцены и родительского объекта. После того, как подобъекты послетались в кучу в центре вида, я сделал пробный VRML-экспорт, а затем их снова принудительно порастаскивал по нужным местам и сделал окончательный экспорт. Что примечательно - файл промежуточного экспорта выглядит и в Синеме и в Dip Trace одинаково (все подобъекты в одной куче), а вот окончательный вариант (после растаскивания подобъектов по нужным координатам) - только в Синеме выглядит нормально, а в Dip Trace - снова тот самый дефект (сильно смещаются координаты X и Z) :(
 

Дежурный Инопланетянин

Пользователь сайта
Рейтинг
2
#5
После длительных экспериментов, проб и ошибок удалось обнаружить, что претерпевают вышеупомянутое нежелательное смещение только те подобъекты, которые были созданы путём Булева вычитания и затем передвинуты по осям X и Z в нужные позиции. Отсюда - напрашивается решение: создавать их сразу по размеру родительского контейнера, а затем Булем вырезать ненужные фрагменты так, чтобы нужные оставались сразу на своих штатных позициях, без необходимости их последующего смещения (позиционирования). Хлопотно, но - преодолимо. Проверил, работает :)
 
Рейтинг
53
#6
Из 3D программ в данный момент у меня стоит только одна Синема, потому проверить экспорт во что-то другое не могу.
Ну а если говорить про манипуляции с осями объектов внутри Синемы, то здесь диалог Axis Center кажется не нужен, а нужен Coordinate Manager и всё делается вручную с каждым объектом, как на скриншотах:
Оси Объектов_3.png Оси Объектов_4.png Оси Объектов_5.png

Если же после импорта в программу Dip Trace она положение осей подобъектов всё равно изменит, то тут уже и не знаю, чем помочь...
Ещё вариант работы с осями объектов - это Ось объекта можно в режиме Snapping (привязки) приклеить к какой-нибудь угловой точке этого объекта - так тогда проще ставить подобъекты в нужные места в случае их смещения - это как раз по вопросу нехорошестей после Булевых операций. Да и вообще после Буля не будет лишним проверять, а там ли теперь находятся оси объекта? :)
 
Последнее редактирование:

Дежурный Инопланетянин

Пользователь сайта
Рейтинг
2
#8
Да, @Алек сандр (aler), Вы - настоящий знаток! По Вашей иллюстрированной подсказке мне удалось намного быстрее создать необходимый мне файл 3d-модели и даже весьма быстро и просто исправить несколько моих предыдущих моделей. Пожалуй, на досуге я автоматизирую сей процесс (приведение осей "послеБулевых" подобъектов) с помощью C.O.F.F.E.E - когда-то писал на нём несколько макросов для Синемы.
Ещё раз благодарю Вас за помощь!
 
Рейтинг
53
#9
Успехов :)
И, так понимаю, оси объектов теперь не "прыгают" в ненужные места?

p.s. На счёт C.O.F.F.E.E, то разработчики уже довольно давно выпилили его из программы и в современных версиях Синемы он уже не поддерживается. Поэтому несколько странно звучит упоминание про этот язык программирования. Однако если к программированию всё же есть склонность и знания, то более перспективно для автоматизации процесса попробовать применить XPresso или Python.
 

Дежурный Инопланетянин

Пользователь сайта
Рейтинг
2
#10
Да, оси уже не прыгают - стоят, как вкопанные :)
Всё правильно на счёт C.O.F.F.E.E - он был в Синеме до 19-й версии, а после - исключён. Но я выше упоминал, что для лучшей "стыковки" с Dip Trace использую 12-ю версию - в ней послушный C.O.F.F.E.E ещё имеется. А вообще на работе имею 26-ю, но необходимость в ней возникает редко: для моих примитивных задач и 12-ки хватает с головой.
А с Python-ом у меня не сложилось - уж очень сбивает с толку его синтаксис с отступами. Но это уже не по теме :)
 
Сверху