Baking Light Projection And Shadows

Материал из Blender3D.

Перейти к: навигация, поиск

Содержание

Запекание проекции света и теней

By Mackraken

image:Baking_light_projection1.png

Введение

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

In this tutorial we will bake light projection and shadows on a room. This is a way to emulate an object’s shadows. This method doesn't work if the object or light is moving.

Подготавливаем сцену

1. Открываем в Blender'е новую сцену

Давайте сделаем куб стенами нашей комнаты. Выделите куб, вызовите окна трансформации (N Key). Введите эти значения для каждого объекта. 1. Open Blender into a new scene. Lets get that default box to be our room walls. Select the box, bring up the transform properties windows (N Key). Insert these values for each object.

image:Baking_light_projection2.png image:Baking_light_projection3.png

Теперь у нас есть комната, свет и камера. Давайте добавим ещё объекты - UVsphere и Cone и произведем следующие трансформации:

Now we have our room, light and camera in place. Lets add some objects, a UVsphere and a Cone and set up these transformations:

image:Baking_light_projection4.png

Мы поменяем цвет сферы и конуса путем создания двух материалов. Выделите сферу и нажмите F5 (Shader section), выберите Add new и добавьте чистый красный цвет используя движки RGB(1,0,0). Тоже самое применяем к конусу, но поменяем цвет на голубой RGB(0 , 0.5 , 1). Одно замечание напоследок: нормали куба смотрят наружу, поэтому при предварительном просмотре нашей сцены мы не увидим стен. Давайте исправим это - выделяем куб, переходим в режим редактирования (TAB Key), выбираем всё (A key) и нажимаем CTRL+F для вызова меню плоскостей.Выберите Flip Normals и выйдите из режима редактирования (Tab Key). Теперь комната готова. Ок, наша сцена приготовлена.

We will change the sphere and cone's color by creating two materials.

Select the sphere and hit F5 (Shader section) Select Add new and add pure red using the RGB Sliders RGB(1,0,0). Do the same for the cone but change to a different color, try Blue RGB(0 , 0.5 , 1).

One last thing: the cube`s normals are looking outside, so if we preview our scene we will not be able to see the walls. Lets fix this by selecting the cube, changing to edit mode (TAB Key), selecting all (A key) and pressing CTRL+F for face specials menu. Select Flip Normals and exit Edit mode (Tab Key again). Now the cube room is ready.

Ok, our scene is done.

2. Подготовка стен к запеканию .

Теперь мы будем создавать UV вычисление для каждой плоскости внутри куба. Чтобы сделать это мы разделим 3D окно для того чтобы видеть также окно UV/image.

Setting up the walls for baking.

Now we will create a UV Calculation for every face inside the cube. In order to do this we will split the 3D viewport to see the UV/image window.

image:Baking_light_projection5.png

В 3D окне: выберите куб. Перейдите в режим редактирования (Tab). Выберите все внутри (A). Нажмите U (UV Calculation Menu) и выберите “Lightmap UVPack” .


At 3D view: Select the cube. Enter edit mode (Tab). Select all inside (A). Press U (UV Calculation Menu) and choose “Lightmap UVPack” .

image:Baking_light_projection6.png

Нажмите New Image и 1024 для размера изображения. 512 было бы также хорошо. Очень важно выбрать “New Image” ТОЛЬКО в первый раз, когда мы делаем это вычисление. Если нужно пересчитать UV снова, то снимите выделение с этой опции. У нас есть новая черная текстура для нашего куба и координаты UV . Выйдите из режима редактирования. Нажмите F10 для захода в опции рендера и далее в меню “Bake”.

Press New Image and 1024 for image size. 512 would also be fine. It's important to select “New Image” ONLY the first time we are doing this calculation. If we need to calculate the UV’s again deselect this option. Ok. We have a new Black coloured texture for our cube and the UV coordinates. Exit edit mode. Press F10 to go to render options and go to “Bake” menu.

image:Baking_light_projection7.png

Выделите наш куб, если он не выбран до сих пор, нажмите кнопку “Bake” и вуаля(как говорят французы)! Мы получили красивую, затененную комнату!

Запечённые текстуры нужно сохранить. Если вы сохраните сцену и завершите работу, то потеряете запечку, так что в редакторе UV выберите image-> save или pack чтобы включить снимок в .blend file. Вы можете повысить качество вашей тени выбрав свет, нажав F5(Shading) и увеличив размер Soft, samples и threshold.

Select our cube if not selected, press the “Bake” button and voila! We got a nice, shadowed room!

The baked texture must be saved. If you save your scene and quit, you will lose the bake, so in the UV editor, select image-> save, or pack to include the image in the .blend file. You can improve your shadow quality by selecting the light, hit F5(Shading) and increasing Soft size, samples and threshold.

image:Baking_light_projection8.png

Если вам нужно поменять настройки света(место, цвет,...) вы должны запечь все сначала, как мы только что сделали.

If you need to change your light properties (location, color, …) you will have to bake again as we just did.

image:Baking_light_projection9.png

Некоторые хитрости напоследок:

Вы можете анимировать вашу камеру внутри комнаты, изменив окно UV/Image на редактор Ipo Curve . Идем в кадр 1, выбираем камеру, нажимаем (I key), и в меню выбираем LocRot для того, чтобы сделать первый ключ. Продвигаемся до 100 кадров. С выбранной камерой нажимаем (Shift + F)“fly mode”(режим полета), используя клавиши W,A,S, и D передвигаем камеру и кликаем ЛКМ если вы удовлетворены видом. Нажмите (I key) и выберите LocRot снова. Вставьте столько ключей, сколько вам нравиться...как закончите, нажмите F4 для перехода в Logic Panel. Добавьте sensor, controller и actuator и установите их вот так (камера выбрана). Это все...да, нажмите Р для предварительного просмотра.

You can animate your camera inside the room by changing the UV/Image window to the Ipo Curve editor. Go to frame 1, select the camera, press (I key), and select LocRot to make the first key.

Advance about 100 frames. With the camera selected, press (Shift + F) “fly mode”, use the W,A,S, and D keys to move your camera, and click the LMB when you are satisfied with the view. Press (I key) and select LocRot again.

Insert as many keys as you like... once you are finished, hit F4 to go to the Logic Panel. Add a sensor, controller and actuator and set up like this (Camera selected). Ok that's all… oh, and press P to preview. :P

Идем дальше

Я не был удовлетворен темным тенями и их качетсвом и подумал, что это поможет понять как работает свет в Blender'е. Для более полной информации пожалуйста обратитесь к уроку tutorial Olivier Saraja. I wasn't satisfied with the dark shadows and their quality, and thought that will help to understand how blender’s light works. For a deeper information about this matter please refer to a tutorial by Olivier Saraja.

Продолжаем. Сначала мы немного подразделим куб. Это для регулирования границ когда у нас есть больше сложных мешей для запекания. Moving on. First we are going to subdivide the cube a little. This is for adjusting the margins when we have more complex meshes to be baked.

Выделите куб. Войдите в режим редактирования (TAB Key), выделите все (A Key). Нажмите W для вызова Specials Menu. Выберите Subdivide. Subdivide еще один раз. Выйдите из режима редактирования. Select the cube. Enter Edit Mode (TAB Key) Select All (A Key). Press W for Specials Menu. Select Subdivide. Subdivide once more. Exit Edit Mode.

Давайте их зажжем

Теперь источник света Лампа может отбрасывать тени, но вы не можете с ними работать. Мы будет использовать точечные источники света (spot), которые более настраиваемы для отбрасывания теней на наши объекты и для иммитации теней, отбрасываемых нашим источником света Лампа.

Nowadays, the Lamp light can cast shadows but you can't work with them. We will use spot lights which are more configurable to cast shadows for our objects and emulate the shadows cast by our Lamp light.

Для того чтобы сделать это:

In order to do this:

Выделите лампу и дезактивируйте “Ray Shadow”. Теперь у нас нет никаких теней. С выделенной лампой, нажмите Shift+D для дублирования и не двигая мышь нажмите ЛКМ, таким образом у нас есть еще один источник света в том же самом месте, где и оригинал.

First select the lamp and disable “Ray Shadow”. Now we don't have any shadows. With the lamp selected, press Shift+D to duplicate and without moving the mouse press LMB, so we have the duplicated light at the same exact position as the original one.

Так как будет очень трудно выбрать один из источников света, поменяйте окно UV/Image на Outliner. В этом окне выберите Lamp.001 и пройдите к Lamp Options.

Because it will be hard to select one or the other light, change the UV/Image window to the Outliner. Within the outliner, select the Lamp.001 and go to Lamp Options.

image:Baking_light_projection10.png

Нажмите для выбранной лампы кнопку Spot. Как вы видите, теперь у нас больше настроек. Если все нормально, то источник света будет направлен на нашу Красную Сферу (Red Sphere). А если нет, то поверните лампу. Пока лампа выбрана, нажмите ALT+D чтобы создать пример. Не двигая мышку нажмите ЛКМ снова. Мы это делаем, потому что хотим такую же интенсивность тени на двух объектах.

Change the selected Lamp button for Spot. We can see we have more options now. If all goes well the spot will be heading for our Red Sphere. If not, just rotate the spot to do that. With the spot selected hit ALT+D to create an instance. Without moving the mouse LMB again. We do this because we want the same shadow intensity on both objects.

Поверните Lamp.002 в направлении конуса. Теперь выберите “Only Shadow” для Lamp.002. Так как Lamp.001 и Lamp.002 это примеры, то опции измененные для одного источника света, будут изменены и для другого. Нажмите F12 для предварительно просмотра сцены. У нас должно получиться что-нибудь такое.

Резкость наших теней можно контролировать изменяя Spot Energy. Поставьте значение 0.5.

Rotate Lamp.002 to head toward the cone. Now Select “Only Shadow” for this Lamp.002. Because Lamp.001 and Lamp.002 are instances the options changed in one light will change the other too. Hit F12 to preview the scene. We should have something like this.

Ok, we will handle our shadow's Hardness by controlling the Spot's Energy. Lets try 0.5.

image:Baking_light_projection11.png

Нажмите F12 для просмотра теней.

Кажется они намного лучше сейчас.

Давайте запечем куб снова, чтобы нарисовать наши новые тени на стене. Нажмите Р для просмотра в реальном времени. Теперь гораздо лучше, но если мы будем ближе к объектам то сможем увидеть, что у них недостаточное разрешение.

Hit F12 to preview the shadows. It seems much better now.

Lets bake the cube again to draw our new shadows on the wall. Press P to preview in real time. This is much better now, but if we are too close to the objects we can see that they don't have enough resolution.

Увеличьте значение samples для источника света до 16 и запеките снова. Вы можете попробовать различные значения в “Shadow and spot section” для достижения желаемого эффекта. Не забудьте сохранить или перепаковать изображение до выхода из Blender'а. Вот теперь все. Любые вопросы посылайте мне на mackraken2023@hotmail.com

Благодарю! Max the light’s samples to 16 and bake again. You can try different values at “Shadow and spot section” to get the desired effect. Don't forget to save or repack the baked image before quitting Blender. Ok, that's truly all.

Any questions mail to me at mackraken2023@hotmail.com

Cheers!

Личные инструменты