Tinker

No way to center an object without degradation!

25 posts in this topic

Добрый день.

Возникла проблема. Проблема была давно, но сегодня стала критичной для меня.

Суть проблемы: невозможно центрировать объект в сцене (сбросить его центр координат, pivot point на (0,0,0)) не повредив объект. Команды "To global space" или "move to.." на пустой слой приводят к деградации объекта и потере мелких деталей. Процесс можно легко продемонстрировать если использовать команды для центрирования несколько раз подряд - происодит размытие мелких деталей. Это недопустимо для моделей с высоким уровнем детализации, т.к. происходит потеря деталей.

Если есть возможность, пожалуйста, срочно помогите, работа встала!

Спасибо!

Hello.

There is a problem. The problem was long ago, but now has become critical.

The problem: it is impossible to center the object in the scene (reset the coordinates of its center, pivot point, at (0,0,0)) without damaging the object. Commands "To global space" or "move to .." empty layer leads to degradation of the object and loss of fine detail. The process can be easily demonstrated using commands several times - leads to blur of fine detail. This is unacceptable for models with a high level of detail, because of detail loss.

If possible, please help urgently, work stopped!

Thank you!

Share this post


Link to post
Share on other sites

Попробуй Transform и вручную впиши координаты

Share this post


Link to post
Share on other sites

Так мне надо не объект отцентровать, а его pivot point. Ну оси только подвинуть, без самого объекта. Как в майке если insert нажать, или в 3D-Coat сдвинуть оси с опцией "move only gizmo". Чтобы объект остался на том же месте.

Так воооот, 3D-Coat не запоминает сдвинутые оси с опцией "move only gizmo". Он какбы "делает вид" что сменил их, но на самом деле, если нажать например "reset space" кнопку - объект смещается, и некоторые операции трактуют положение объекта неверно, например: ось симметрии стоит не в центре; merge throu volumes режет дырки не там. Вобщем оси объекта не получается передвинуть и закрепить на новом месте. Вообще, эта особенность является корнем для бОльшего количества проблем, чем кажется.

Share this post


Link to post
Share on other sites

Чтобы не потерять детали можно создать новый Volume со слегка большей плотностью. Клонировать плотность, потом отмасштабировать немного вниз. Потом перемерджить объект в новый Volume.

Но я не совсем понял когда все это может быть нужно.

Share this post


Link to post
Share on other sites

Нужно, нужно еще как! В 3D-Coate ОЧЕНЬ важен хрупкий баланс между скоростью и детализацией, и он для каждого компьютера существует свой. У нас тут расчитано по клеткам на сетке, какого размера должен быть объект чтобы он был детализированным, и в тоже время с ним можно было реально работать. И этот уровень детализации предполагает местами что-то вроде воксельного "пиксел арта" - деталей, стоящих на грани детализации. И от операций по выравниванию центра эти детали просто таят.

Смена детализации не решение. Просто поверь пожалуйста моему опыту. Если потеря деталей от операций по выравниваю детали не аргумент, то это хотя-бы просто идеологически неверно. Информация должна быть точной и стабильной. В сцене должен быть порядок. А эти промежуточные методы слегка смахивают на индийский код :) И передвижение pivot point - это нужная операция и присутствует в любой программе для работы с 3д графикой, ну не должна она изменять модель. Она часто используется.

Share this post


Link to post
Share on other sites

Опять же, если сохранность острых граней и мелких заклепочек моих технических моделей - не аргумент, вспомни пожалуйста с какой детализацией работают скульпторы в Збраше. Врядли пользователи 3D-Coat с такими же требованиями к детализации будут рады, когда у персонажа исчезнут морщинки на лице :)

Share this post


Link to post
Share on other sites

Не, я просто не понял зачем менять положение точки 000 в слое.

Share this post


Link to post
Share on other sites

Как зачем. Чтобы установить объект по центру мира. И выставить ось симметрии объекта точно в центр.

Идет работа над элементом персонажа - над головой например, и внезапно оказывается что несмотря на то, что координаты объекта 0, сама модель внутри этого пространства смещена чуть в бок, вместе с осью симметрии. Что делать тогда? Очень часто возникает эта ситуация. Самое подходящее решение - подвинуть объект так, чтобы ось симметрии совпала с нулем (при этом координаты объекта станут уже не 0 естессно), а потом сбросить pivot point на 0. Это случается очень, очень, очень часто, даже если работать очень аккуратно. У меня это было десятки раз год работы в коате, и в классической 3д графике это делается постоянно. Раньше обходился "copy with summetry, to global space.." и тд, но эти методы восстановления центра разрушают детали.

Share this post


Link to post
Share on other sites

Или например, я смоделил какуюнибудь фигню здоровую, не симметричную, и мне понравился кусочек от нее в дальнем верхнем углу. Я его отрезал и хочу сделать из него симметричную деталь, расположенную по центру мира. Передвигая pivot point я смогу выбрать где у нее центр. Ее можно выставить в нужное место и нажать "To global space" - но эта команда плавит мелкие детали.

Вот еще пример: я создал объект с мопомщью инструмента sketch. Но мне понравился не весь он, а его часть. Я ее отрезал - теперь хочу объявить, где у нее центр. Для этого нужно сместить pivot point.

Самый важный для меня пример (из за которого работа встала) - есть несколько объектов, распределенных в нужных местах по сцене (координаты не 0). Хочу сделать merge throu volumes + respect negative volumes, чтобы прорезало все объекты - происходит глюк(отверстия не в том месте), т.к. эта операция работает корректно только для объектов, у которых позиция (0,0,0). Раньше применялось такое решение - для каждого из смещенных объектов делалась операция "to global space", что приводило это объекты в позицию (0,0,0). Но сейчас немогу это сделать из за потери детализации, при использовании этой команды.

Share this post


Link to post
Share on other sites

Короче это важная операция в 3д. Как x=0 в программировании. Хорошо без нее было бы?)

Преимущество вокселей - в свободном дроблении объектов, так? Чтобы в многоэлементных сценах не было бардака, нужна возможность двигать pivot point.

P.S. еще пример придумал - рука с пальцами в виде иерархии объектов. Чтобы обозначить места поворота суставов нужна возможность двигать pivot point.

Share this post


Link to post
Share on other sites

Tinker сделай скрины или видюшку запиши понятней будет.

Андрей,возможно это похоже на мою проблему с топором, что я недавно спрашивал.

Только там я подгонял положение топора под пивот,поскольку его редактировать(пивот) нет возможности.поэтому я трансформом крутил помаленьку модельку,оси сбрасывались и снова крутил, пока не выровнял по пивоту.

Тогда только смог нормально настроить симметрию. так вот если бы у меня не было возможности двигать/вращать модель - в сцене все было бы четко выровнено, то это была бы проблема.

Вообще было бы неплохо иметь возможность регулировать положение пивота. покрутил как надо - ось симметрии без проблем работает при любом положении объекта.

Share this post


Link to post
Share on other sites

Или например, я смоделил какуюнибудь фигню здоровую, не симметричную, и мне понравился кусочек от нее в дальнем верхнем углу. Я его отрезал и хочу сделать из него симметричную деталь, расположенную по центру мира. Передвигая pivot point я смогу выбрать где у нее центр. Ее можно выставить в нужное место и нажать "To global space" - но эта команда плавит мелкие детали.

Вот еще пример: я создал объект с мопомщью инструмента sketch. Но мне понравился не весь он, а его часть. Я ее отрезал - теперь хочу объявить, где у нее центр. Для этого нужно сместить pivot point.

Самый важный для меня пример (из за которого работа встала) - есть несколько объектов, распределенных в нужных местах по сцене (координаты не 0). Хочу сделать merge throu volumes + respect negative volumes, чтобы прорезало все объекты - происходит глюк(отверстия не в том месте), т.к. эта операция работает корректно только для объектов, у которых позиция (0,0,0). Раньше применялось такое решение - для каждого из смещенных объектов делалась операция "to global space", что приводило это объекты в позицию (0,0,0). Но сейчас немогу это сделать из за потери детализации, при использовании этой команды.

Yeah...what he said! :unsure: I have no idea what he said...:blink: actually...but from reading the pretty pictures above, I concur that it is a major pain in the bumpkis having to do the workaround of creating a space copy and merge, just to get the gizmo center mass on the object. Please fixy. :pardon:

Share this post


Link to post
Share on other sites

Exactly.

And the fact that the workaround damages objects.

Share this post


Link to post
Share on other sites

Ok, I can make possibility to make integer shift of the object without losing any details.

But as I understood the main reason of movement is applying symmetry. You can do it without pivot movements. Just move symmetry plane with TAB.

Also if you need to change pivot of rotation you may just use "Move only gizmo" - it remembers shift of the gizmo, I checked it.

Share this post


Link to post
Share on other sites

Было бы супер, если при "to global space" для uniform объектов, происходило какраз смещение без потери деталей.

Не запоминается положение осей, точнее запоминается иногда но чаще оси сбрасываются.

Вот элементарно: открываю Коат, создаю примитив, включаю transform с move only gizmo, сдвигаю оси, меняю инструмент, снова включаю transform - позиция осей сбросилась :(

Насчет движения симметрии с TAB - оно же приблизительное, и фиксация с нажатым ctrl в случае восстановления симметрии бесполезна, ведь интересует уже не старый центр объекта, а новый.

It would be great, if "to global space" operation for uniform objects do that integer shift of the object without losing any details.

It do not remember shift of the gizmo, or rather remembers sometimes but more often the axis reset.

That's simple: open Coat, create a primitive, turn transform to move only gizmo, move it, change tool, switch transform back - pivot position resets : (

As for move symmetry with TAB - it is not strict, and fixation with ctrl in the case of symmetry restoration is useless, because we need not old center of the object, but new one.

Share this post


Link to post
Share on other sites

Андрей, беда! С системой координат творится полный бардак!

Я отцентровал объекты с помощью "to global space" (детали поплыли, но работать надо), довольно долго работал над моделью и внезапно обнаружил что центровка объектов сама собой снова сбилась! Теперь pivot point нескольких объектов снова не в центре и я ничего не могу сделать. Если еще раз разблурить детали центровкой, модель можно выбрасывать.

Из за того что объект не отцентрован, мерж работает неправильно, детали смещаются:

post-1407-12808877190438_thumb.jpg

Движение осей не помогает, ничего сделать не могу.

Вобщем напиши сегодня пожалуйста, будешь/сможешь исправить или нет, чтобы я внес изменения в техпроцесс.

Share this post


Link to post
Share on other sites

Вообще не понял как мердж связан с центровкой. Пусть объект трансформирован, но это никак не должно влиять на мердж.

Кроме того, я так до сих пор не могу понять чем же плох трансформированный объект. Потому пожалйста поясни по вопросам -

- неудобно трансформировать? Основная проблема что точка поворота сбивается?

- неудо применять симметрию? Неточно позиционируется с ТАБ?

Share this post


Link to post
Share on other sites
Вообще не понял как мердж связан с центровкой. Пусть объект трансформирован, но это никак не должно влиять на мердж.

Если делать мерж с опцией "through volumes" на родительский объект (Volume1 на скриншоте), если не отцентрованы его дочерние объекты - мерж смещается. (на предыдущем скриншоте показано, иногда съежжает вообще на пол экрана).

post-1407-12809260633928_thumb.jpg

Воркфлоу завязан именно на мерже с опцией through volumes, потомучто объект состоит из переплетающихся деталей, и если замержить на него большой элемент, он должен пересечь несколько слоев сразу:

post-1407-12809262891859_thumb.png

Как видно на скриншоте, пока не произошел глюк, большие объекты нормально мержились, но теперь большие детали присоединять нельзя - отверстия от негатива будут смещены.

Центровка объектов соответственно сбивается переодически, а выравнивание объекта разрушает детали. Это основная проблема.

Кроме того, я так до сих пор не могу понять чем же плох трансформированный объект. Потому пожалйста поясни по вопросам -

- неудобно трансформировать? Основная проблема что точка поворота сбивается?

- неудо применять симметрию? Неточно позиционируется с ТАБ?

- да, на сцене беспорядок. Да, переодически сбивается, после каких-то операций.

- да, неудобно менять плоскость симметрии. да, было бы лучше чтобы плоскость симметрии прилипала к pivot, а pivot можно было управлять.

но это не так важно как проблема с мержем.

Короче самое обидное то, что сейчас выполняю задачу, для которой Коат и мой новаторский техпроцесс с мерджем идеально подходит, такой задник создается буквально за пару дней (нужно сделать еще 6 штук) и очень-очень не хочется перелазить на майку, качество будет не такое, скорость ниже (надо к 16 августа закончить) и модели будут отличаться от предыдущих по стилю :(

Share this post


Link to post
Share on other sites
Если делать мерж с опцией "through volumes" на родительский объект (Volume1 на скриншоте), если не отцентрованы его дочерние объекты - мерж смещается. (на предыдущем скриншоте показано, иногда съежжает вообще на пол экрана).

Теперь все ясно. Могу поправить, но не уверкен что смогу скомпилить 64-битную версию. Просто я на даче с ноутбуком. Гарантированно сделаю апдейт в воскресенье.

Центровка объектов соответственно сбивается переодически, а выравнивание объекта разрушает детали. Это основная проблема.

А вот этого понять не могу. Если не применяется трансформ то проблемы с мержем возникнуть не может. Я еще понимаю что может сбиться pivot из - за "Move only gizmo", но Move only gizmo НИКАК не может влиять на результат мерджа если сцена не трансформирована.

Share this post


Link to post
Share on other sites

I have fixed the merging problem. Merge will be correct even if child objects are transformed.

I can't compile 32 bit version with CUDA and send you. But I can't compile 64 bit version. There is probability that I will be able to do it tomorrow. But anyway I will make update this Sunday.

Share this post


Link to post
Share on other sites

Сбивается точно. Буду внимательнее, постараюсь выяснить после чего. Я довольно часто отменяю мерж undo, может как-то связано с этим?

Супер! Спасибо большое! Ничего страшного, я использую 32 битную версию.

Share this post


Link to post
Share on other sites

There are changes to fix merge problem. It does not solve the smoothing while "To global space". Btw, everyone who wants to check latest changes may try this.

There are only changes to 32-bit CUDA version. They should be copied overwrite the existing.

http://www.3d-coat.com/files/changes3_3_09.7z

Share this post


Link to post
Share on other sites

Ура! Работает! Спасибо большущее! :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now