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

Автор
Сообщение
Возраст: 42
Пол: М
На сайте c: 19.02.2009
Сообщения: 83
Откуда: Саратов

Привет всем.

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

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

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

iCubmDS.gif

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

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

Возраст: 38
Пол: М
На сайте c: 14.06.2012
Сообщения: 9487
Откуда: Москва

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

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

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

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

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

Возраст: 33
Пол: М
На сайте c: 10.12.2009
Сообщения: 3619
Откуда: Дефолт-сити

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

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

Возраст: 9
Пол: М
На сайте c: 06.05.2014
Сообщения: 1691
Откуда: Краснодар

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

Возраст: 42
Пол: М
На сайте c: 19.02.2009
Сообщения: 83
Откуда: Саратов

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

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

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

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

RSob9EV.gif

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

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

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

Возраст: 33
Пол: М
На сайте c: 27.07.2009
Сообщения: 670
Откуда: Москва

не благодари

Возраст: 9
Пол: М
На сайте c: 06.05.2014
Сообщения: 1691
Откуда: Краснодар

Taurus_dz

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

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

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

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

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

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

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

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

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

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

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

Возраст: 35
Пол: М
На сайте c: 31.03.2008
Сообщения: 459
Откуда: Москва

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

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

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

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

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

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

Возраст: 35
Пол: М
На сайте c: 31.03.2008
Сообщения: 459
Откуда: Москва
Цитата Taurus_dz:
Дело в том что таких серий много (реально много)

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

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

Скрипт

Возраст:
Пол: М
На сайте c: 20.01.2017
Сообщения: 564
Откуда: fatbbc.github.io
была темка похожая, там мсьё автоматизировал кроп.
Возраст: 42
Пол: М
На сайте c: 19.02.2009
Сообщения: 83
Откуда: Саратов
Цитата -NiK-:
Именно FOV и меняет перспективу. Shinodem прав по обоим пунктам.

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

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

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

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

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

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

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

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

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

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

Читают эту тему: