Camera.RenderToCubemap

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Camera.RenderToCubemap

Сообщение jenqa29 17 сен 2012, 18:13

Привет. Недавно столкнулся с созданием отражающих поверхностей, попытался разобраться как создавать cubemaps, пришел к этому:
http://docs.unity3d.com/Documentation/S ... bemap.html

создал текстовый документ с расширением .js , поместил в него код, далее имортировал в юнити, в результате чего появилась дополнительная опция как и написано в описании. далее помещаю камеру на сцену, выделяю ее и применяю данную опцию "render to cubemap" в результате чего получаю 2 ошибки:

Скрытый текст:
Instance of RenderCubemapWizard couldn't be created because there is no script with that name.
UnityEditor.ScriptableWizard:DisplayWizard(String, Type, String)
RenderCubemapWizard:RenderCubemap() (at Assets/editor/camera.RenderToCubemap.js:30)

и
Скрытый текст:
NullReferenceException: Object reference not set to an instance of an object
UnityEditor.ScriptableWizard.DisplayWizard (System.String title, System.Type klass, System.String createButtonName, System.String otherButtonName) (at C:/BuildAgent/work/300357e52574df36/Editor/MonoGenerated/Editor/ScriptableWizard.cs:106)
UnityEditor.ScriptableWizard.DisplayWizard (System.String title, System.Type klass, System.String createButtonName) (at C:/BuildAgent/work/300357e52574df36/Editor/MonoGenerated/Editor/ScriptableWizard.cs:96)
RenderCubemapWizard.RenderCubemap () (at Assets/editor/camera.RenderToCubemap.js:30)


имею про версию 3.5.2f2

не могу понять в чем проблема, в скриптинге не шарю вообще =) помогите разобраться, спасибо...
jenqa29
UNец
 
Сообщения: 34
Зарегистрирован: 27 май 2011, 18:35

Re: Camera.RenderToCubemap

Сообщение waruiyume 17 сен 2012, 18:37

Instance of RenderCubemapWizard couldn't be created because there is no script with that name.

Переименуйте файл в RenderToCubemap.js
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Camera.RenderToCubemap

Сообщение jenqa29 17 сен 2012, 18:48

waruiyume писал(а):
Instance of RenderCubemapWizard couldn't be created because there is no script with that name.

Переименуйте файл в RenderToCubemap.js



переименовал, все то же самое =(

Изображение

быть может это из-за "This function will return false if rendering to cubemap fails. Some graphics hardware does not support the functionality. " ?? как написано в мануале. у меня ATI radeon hd 6950
jenqa29
UNец
 
Сообщения: 34
Зарегистрирован: 27 май 2011, 18:35

Re: Camera.RenderToCubemap

Сообщение waruiyume 17 сен 2012, 19:02

Не из того места скопипастил :o) Файл должен называться так же, как и класс, т.е. RenderCubemapWizard.js
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Camera.RenderToCubemap

Сообщение jenqa29 17 сен 2012, 19:04

waruiyume писал(а):Не из того места скопипастил :o) Файл должен называться так же, как и класс, т.е. RenderCubemapWizard.js


а да точно) сам в ошибке увидел тоже. Теперь все работает, отлично! Большое спасибо за помощь.
jenqa29
UNец
 
Сообщения: 34
Зарегистрирован: 27 май 2011, 18:35

Re: Camera.RenderToCubemap

Сообщение Lian 06 апр 2013, 01:39

Привет. Я тоже только разбираюсь с отражениями и функцией RenderToCubemap.
После копирования скрипта и перенос в папку Editor, и выборе на объекте шейдера Reflective, совершенно ничего не происходило... с отражениями.
Потом, чисто случайно, о чем не было нигде упомянуто, в описании к функции, увидел в меню GameObject новый параметр Render into cubemap - это для тех, кто тоже будет мучаться несколько дней в попытках освоить кубмапу :)
Круто, подумал я, но оказалось не совсем, поэтому хочу задать вопросы и поделиться картинками, для наглядности.

В описании по той ссылке выше написано:
Camera's position, clear flags and clipping plane distances will be used to render into cubemap faces.
1. Сразу же непонятка - параметры какой камеры...о чем говорится? Ведь рендерится просто из указанной позиции (Transform объекта).
Но ладно, попробовал сначала без камеры, просто указав куб, на котором испытывал отражения, для позиции, откуда будет происходить рендер.

Верхняя фото:
Отрендерилась кубмапа, очень низкого кач-ва, глянув в ее параметры поменял Face Size c 64 на 512 и отрендерил снова - стало куда четче, но...
Смотрим картинку - рассматривается отражение на указанную грань. На средней фотке (смотрю на саму грань куба) видно, что отражается синий, красный и фиолетовы шар, но синий обрезан, как-будто в камере использовались Clipping Planes, там же можно заметить и обрезку белого шара, стоящего рядом.

Средняя фото:
Ну ок, тогда я решил все же поставить в центр куба камеру и указав именно ее, а не куб, для позиции, откуда будет вестись рендер, отрендерил.... такую же карту 1в1, несмотря на то, что в параметрах указанной камеры, я снизил Clipping Planes до 0,001, так что обрезки быть ну никак не должно. В инспекторе тоже, на самом материале с кубмапой, виден зеркальный шар, в котором обрезанны эти фигуры.

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

Вообщем, вот конкретные вопросы, после того как вы прочли описание проблемы:
1. Вопрос вначале - про какую камеру говорится?
2. В чем же проблема с картой, сделанной непосредственно с помощью RenderToCubemap, что происходит обрезка ближних фигур?
3. Есть ли где-то параметр, задающий этой карте лучшее/четкое изображение (чтоб как на принт-скринах)?
4. Можно ли вытащить эти 6 картинок из созданной карты, для дальнейшей корректировки в шопе?
5. Где указать, сколько сторон рендерить, если все 6 не нужны? И ухудшается ли производительность, при использовании "камера в кубмапу"?

Спасибо :)
У вас нет доступа для просмотра вложений в этом сообщении.
Lian
UNец
 
Сообщения: 5
Зарегистрирован: 11 янв 2013, 01:52
Откуда: Украина

Re: Camera.RenderToCubemap

Сообщение Lian 06 апр 2013, 01:58

Решил написать отдельным постом следующий вопрос по кубмапе. А именно, про отображение отражения на объекте.
Так же, прикрепляю пояснительные картинки :)

Сделав отражение на свой куб, я начал крутиться вокруг него, проверяя как оно выглядит. И мозг начал немного ломаться... тк отражение выходит какое-то неправильное.
Долго думал, как это описать, но на ум приходит примерно такое сравнение - мы смотрим в окно, видим парк. Отдаляясь от окна, его размер уменьшается, но парк, как буд-то плоскость, приставленная к окну, остается в том же размере, совсем не уменьшаясь с нашим отдалением от окна, ну и соответственно, уже в уменьшенном окне, мы видим не парк, как чначала, а лишь ствол дерева.
На картинке будет видно наглядно :) Отдаляясь от куба ортажение на его грани, остается таким же. Пометил в рамках полупрозрачный слой того отражения, когда стоял прямо перед кубом..
Ну я решил проверить, как на самом деле будет в жизни, а то мозг вскипел, пытаясь понять что происходит. За неимением зеркала рядом, использовал экран телефона. Ну тут все ясно :) С отдалением камеры от экрана, отражение в нем оже уменьшается.

Не подскажите где тут хитрость... ну, чтоб сделать как надо?
Кстати, видел такие же "глюки" в одной демке на ютубе - отражение плавает. Но тогда я вообще не знал чем это сделано и решил, что автор чего-то напутал.
У вас нет доступа для просмотра вложений в этом сообщении.
Lian
UNец
 
Сообщения: 5
Зарегистрирован: 11 янв 2013, 01:52
Откуда: Украина

Re: Camera.RenderToCubemap

Сообщение Lian 08 апр 2013, 15:54

UP.
Отпишитесь кто-нибудь плз, чтоб снять проблему с плеч )
Lian
UNец
 
Сообщения: 5
Зарегистрирован: 11 янв 2013, 01:52
Откуда: Украина

Re: Camera.RenderToCubemap

Сообщение Lian 15 апр 2013, 19:38

Up.
Кто-нибудь может помочь с ответом?
Lian
UNец
 
Сообщения: 5
Зарегистрирован: 11 янв 2013, 01:52
Откуда: Украина

Re: Camera.RenderToCubemap

Сообщение alt3d 23 апр 2013, 13:25

Не понял почему у тебя обрезается изображение.

>>1. Вопрос вначале - про какую камеру говорится?
Насколько я понял, камера из которой рендерятся изображение для кубмапы, создается после того как ты нажал кнопку Render и удаляется после его окончания. Причем именно эта самая временная камера не имеет "flags and clipping plane" о чем говориться в описании скрипта.
А в сцене камер может не быть совсем.

Скрытый текст:
Хотя в скрипте написано: cam.farClipPlane = 100; // don't render very far into cubemap
Что похоже означает что дальше 100 единиц не рендерит, по умолчанию.


>>2. В чем же проблема с картой, сделанной непосредственно с помощью RenderToCubemap, что происходит обрезка ближних фигур?
Не знаю. Может потому-что ты указал точку в которой происходит съемка внутри куба. Но это только догадка.
Вообще для съемки кубмапы просто создай пустой геймобъект и указывай его в качестве точки откуда будет происходить рендеринг.

>>3. Есть ли где-то параметр, задающий этой карте лучшее/четкое изображение (чтоб как на принт-скринах)?
В настройках кубмапы можно указать до 2048 px. В принципе, на принскринах, у тебя наверняка даже меньше. )

>>4. Можно ли вытащить эти 6 картинок из созданной карты, для дальнейшей корректировки в шопе?
Не знаю. Наверняка где-то храняться в папке Temp. Но это надо у программистов спрашивать.

>>5. Где указать, сколько сторон рендерить, если все 6 не нужны? И ухудшается ли производительность, при использовании "камера в кубмапу"?
Наверное нигде, если только самому скрипт переписывать.
Производительность уменьшается само-собой, при риал-тайм записи в текстуру. Насколько критично - не могу сказать. Нужно тестировать, и наверняка сильно зависит от настроек качества.

По поводу изменения кубмапы в зависимости от удаления/приближения - пока нет соображений.
Хотя да, выглядит это не здорово.
alt3d
Старожил
 
Сообщения: 687
Зарегистрирован: 04 сен 2011, 21:19
  • Сайт
  • ICQ

Re: Camera.RenderToCubemap

Сообщение waruiyume 26 авг 2013, 18:09

Rise the thread from abyss of oblivion.
http://forum.unity3d.com/threads/113784 ... nt-Mapping
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21