Рендеринг предметов различного размера. Нужен совет.

Автор
Сообщение
На сайте c 19.02.2009
Сообщений: 98
Саратов

Привет всем.

Стоит задача выполнить рендеринг образцов продукции на сайт. Продукция - всевозможная упаковка. Сейчас отлаживаем процесс на баночках (ракурсы и их количество, освещение и т.п.) Основное требование заказчика - товар должен выглядеть пропорционально своим размерам, поэтому и маленькие и большие баночки должны рендериться с одной камеры. Проблема в том, что очень большие визуальные отличия между баночками, скажем на 5мл и на 18 унций. И смотрится это плохо.

Пытаясь улучшить ситуацию, заказчик хочет, немного увеличить самые маленькие баночки и немного уменьшить самые большие. Но этого не достаточно, нужно что все остальные размеры тоже изменялись пропорционально. Пытаться делать это вручную на глаз перед каждым рендером - не вариант. Ассортимент очень большой. И заказчик любит точность (Моделинг точно по размерам, нижний отступ на рендере - определенное количество пикселей и т.п.)

Как я себе это вижу: Делать рендер по прежнему из одной камеры, но меняя угол обзора (FOV) пропорционально размеру баночки. Для этого нужно сделать управляющий цилиндр и через контроллер привязать его радиус и высоту к параметру FOV камеры. Так перед рендером задать цилиндру радиус и высоту как у баночки и FOV камеры установится автоматически.

iCubmDS.gif

Но это только теория. Из за отсутствия подобного опыта, на практике я не знаю как сделать так, чтобы два параметра цилиндра (высота и радиус) влияли на один параметр камеры (FOV). Ведь баночки есть высокие но узкие и низкие но широкие. Но даже с одним параметром я не могу понять как сделать точную зависимость. Скажем при радиусе 50 мм - FOV камеры должен быть 25 deg а при радиусе 15 мм - 16 deg.

Возможно я слишком усложняю и есть более простое решение. Так что буду рад любым советам.

На сайте c 14.06.2012
Сообщений: 15471
Москва

Если он настолько любит точность, что хочет увеличить самые маленькие баночки и немного уменьшить самые большие, то я даже не знаю, что советовать. Пусть он выберет решение: или точность, или скейлить баночки.

Вообще даже если мелкую банку отрендерить такого же размера, как большую, то всё равно будет понятно, что она мелкая. У неё ж пропорции другие. Ну или линейку сбоку ставьте, размеры подпишите )))

На сайте c 19.02.2009
Сообщений: 98
Саратов
Баночки скейлить не вариант, видимо я не точно выразился. Сделать так, чтобы они выглядели чуть больше/меньше. То есть изменить угол обзора камеры или приблизить/отдалить камеру
На сайте c 14.06.2012
Сообщений: 15471
Москва
Они не станут особо больше, просто будут сильнее перспективные искажения.
На сайте c 19.02.2009
Сообщений: 98
Саратов

Да, на старом сайте у них линейка есть )))  Убожество то еще.  Была мысль делать рендеры примерно одного размера (просто чтоб гармонично смотрелось), и добавлять один сравнительный рендер со всеми размерами этой серии. Но такой вариант заказчика не устраивает.

Если не приближать и не удалять камеру, а только менять угол, то перспектива не изменится.

На сайте c 10.12.2009
Сообщений: 5680
Kalevan

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

что до метода в конкретно данном случае. Я бы просто выровнял все банки по высоте чтобы их центр был по центру горизонта и отрендерил с единым фокусным и расстоянием до камеры. Просто рендерить в большом разрешении, с расчетом чтобы самая маленькая банка при кропе до "топределённог околичества пикселей до низа кадра) оказывалась в нужном. И все. мне думается что в 2д софте типа фотошопа откропить их будет быстрее и проще чем подгонять камеру под каждую банку. А потом батч ресайз в единое разрешение и готово.

На сайте c 06.05.2014
Сообщений: 3031
Краснодар

делаете одну камеру, фов больше не трогаете, только меняете расстояние до объекта, внизу макса есть кнопки управления камерой для этого. Если зак хочет показать размеры то сделайте на картинке что то вроде условной линейки чтобы видно было единицы измерения которые будут меняться в зависимости от дальности камеры. Или сетку на поверхности. Продуктные рендеры обычно делаются с маленьким фов чтобы не было перспективных искажений

На сайте c 19.02.2009
Сообщений: 98
Саратов

Цитата Revered:
Ну во-первых если изменять фокусное то они будлут немног опо-разному искажаться перспективой и эффект будет так себе, более корректный вариант был бы не трогать фокусное и двать саму камеру вперёд-назад

Цитата shinodem:
делаете одну камеру, фов больше не трогаете, только меняете расстояние до объекта,

Не соглашусь. FOV меняет угол обзора. Угол, под которым вы смотрите на предмет не меняется при этом. Просто в объектив попадает больше или меньше информации, поэтому объект занимает большее или меньшее место на кадре. А вот при приближении/удалении камеры вы меняете угол под которым смотрите на предмет, а это меняет перспективные искажения.

Вот гифка для наглядности

RSob9EV.gif

Цитата Revered:
что до метода в конкретно данном случае. Я бы просто выровнял все банки по высоте чтобы их центр был по центру горизонта и отрендерил с единым фокусным и расстоянием до камеры. Просто рендерить в большом разрешении, с расчетом чтобы самая маленькая банка при кропе до "топределённог околичества пикселей до низа кадра) оказывалась в нужном. И все. мне думается что в 2д софте типа фотошопа откропить их будет быстрее и проще чем подгонять камеру под каждую банку. А потом батч ресайз в единое разрешение и готово.

Сейчас нет проблемы с определенным количеством пикселей до низа. Это уже решено. Кстати да - в 2д софте.

Сейчас проблема  с пропорциональным размером баночек. 

На сайте c 27.07.2009
Сообщений: 906
RU

не благодари

На сайте c 06.05.2014
Сообщений: 3031
Краснодар

Taurus_dz

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

Не ужели не понимаете что меняя фов вы меняете визуальное восприятие размера объекта? чем фов больше тем кажется что объект больше, поэтому все объекты должны быть показаны в одинаковых условиях и нужно менять только расстояние камеры, а не фов. 

На сайте c 19.02.2009
Сообщений: 98
Саратов
Хорошо, я не буду спорить. Тем более вопрос не в этом. Как автоматизировать если не FOV то приближение/удаление камеры в зависимости от размеров баночки?
На сайте c 21.01.2019
Сообщений: 5734

Если бы у меня возникла такая задача, я бы наверное отрендерил все как оно есть в натуральную величину, а размеры потом подогнал бы в фотошопе.

ЗЫ Клиент у Вас забавный, да )

На сайте c 19.02.2009
Сообщений: 98
Саратов
Цитата Denis_21:
Если бы у меня возникла такая задача, я бы наверное отрендерил все как оно есть в натуральную величину, а размеры потом подогнал бы в фотошопе.

В фотошопе на глаз? Каждую картинку отдельно?

На сайте c 21.01.2019
Сообщений: 5734
Цитата Taurus_dz:
В фотошопе на глаз? Каждую картинку отдельно?

Почему на глаз? Если я правильно понял Вашу схему, размеры объектов известны, можно вычислить увеличение/уменьшение в процентах и пакетно обработать. 

Ну, т.е. грубо говоря, рендерим объекты размера 1 (самый левый на Вашей схеме), затем все их уменьшаем на 20%. Следующей партией рендерим объекты размера 2 (вторая слева), этот пакет изображений уменьшаем на 15% и т.д.

Или я чего-то не понимаю?

На сайте c 31.03.2008
Сообщений: 1112
Москва

"Если не приближать и не удалять камеру, а только менять угол, то перспектива не изменится."

Именно FOV и меняет перспективу. Shinodem прав по обоим пунктам. Просто когда вы увеличиваете FOV вы не приближаете камеру, чтобы компенсировать это.

Не будет особой разницы будете вы масштабировать банки или двигать камеру к ним, если линза одна и та же. И да, линзу лучше брать около 100мм.

На сайте c 19.02.2009
Сообщений: 98
Саратов
Цитата Denis_21:
Почему на глаз? Если я правильно понял Вашу схему, размеры объектов известны, можно вычислить увеличение/уменьшение в процентах и пакетно обработать. Или я чего-то не понимаю?

Если бы это касалось одного типа баночек, я бы это и вручную сделал. ))

Дело в том что таких серий много (реально много). Очень большой ассортимент. И в каждой серии разное количество баночек, разные размеры даже при одинаковом объеме (Есть высокие но узкие, а есть низкие но широкие). Все разношерстные короче. Так что размеров очень много и так просто не рассчитать. 

На сайте c 31.03.2008
Сообщений: 1112
Москва
Цитата Taurus_dz:
Дело в том что таких серий много (реально много)

Скриптом можно отмасштабировать их под единый максимальный габаритный размер.

https://dl.dropboxusercontent.com/s/9nw54j29fo478jt/2020-02-14_15-05-16.gif 

Скрипт

На сайте c 19.02.2009
Сообщений: 98
Саратов
Цитата -NiK-:
Именно FOV и меняет перспективу. Shinodem прав по обоим пунктам.

Я понимаю откуда такие утверждения. В интерьерах именно FOV влияет на искажения объектов. При увеличении FOV в кадре появляются новые объекты с искаженной перспективой. Это верно. При дальнейшем увеличении FOV в кадре появляются еще больше объектов c еще больше искаженной перспективой. НО!!! Перспектива тех объектов которые уже находятся в кадре уже не изменяется! Просто эти объекты становятся меньше. Я прикрепил гифку выше, там все видно. Попробуйте поставить перед собой любой предмет и посмотрите на него через рамку, сделанную из рук Ну или через дырку в листочке.

Теперь передвигайте эту рамку вперед/назад. Так вы меняете угол обзора на предмет (FOV). Вы не сможете изменить перспективные искажения как бы вы не передвигали рамку. Это похоже на кадрирование в фотошопе. Перспектива не изменится! А именно приближение и удаление изменяет перспективу.

Цитата -NiK-:
Скриптом можно отмасштабировать их под единый максимальный габаритный размер.

Спасибо, подумаю, как это можно применить

Цитата Jähman':
была темка похожая, там мьсе автоматизировал кроп.

Вот это кажется уже биже. Спасибо, изучу

На сайте c 31.03.2008
Сообщений: 1112
Москва
Цитата Taurus_dz:
А именно приближение и удаление изменяет перспективу.

Мы с вами по разному смотрим на вещи :) если вы возьмете большой объект и отрендерите с линзой 50мм, а потом возьмете маленький объект и отрендерите с линзой 100мм, то получите "разную перспективу" потому что это блин разные линзы. Их габаритный размер в кадре будет похож, а перспективные искажения будут разные.

Для меня лично это недопустимо в серии изображений, если для вас норм, то ок.

Я имею в виду это. 35 и 140 мм. Разница очевидна и на мой вкус омерзительна.

На сайте c 16.05.2012
Сообщений: 993
Москва
Я бы попытался через какой нибудь параметрик, или исходил из какого нибудь lathe
Читают эту тему: