Difference between revisions of "Using plane textures for trees, people, etc.. in still rendering"

From Blender for Architecture
Jump to: navigation, search
(Shadow face the main lamp)
(Deal with many 2D planes : a forest)
Line 50: Line 50:
  
 
This a good start, not to say the basis. But one tree is something, a forest is another one. We must be careful using 2D objects.  
 
This a good start, not to say the basis. But one tree is something, a forest is another one. We must be careful using 2D objects.  
First, 2D have to be always facing the camera.  
+
:First, 2D have to be always facing the camera.  
Second, their shadows must fit with you main shadow lamp.
+
:Second, their shadows must fit with you main shadow lamp.
Third, you must be able to duplicate your 2D objects (in our case, trees) to spread them among you scene.
+
:Third, you must be able to duplicate your 2D objects (in our case, trees) to spread them among you scene.
 +
 
 +
Prepare your object to constraints
 +
 
 +
Select you tree object, press N and fill RotZ: to 0. Press CTRL-A to apply size and rotation. This was to fix correct rotation and size before constraint.
 +
Go to material panel (F5).  In texture map input, tick Cube because our plane is vertical now.
  
 
I have UVmapped the plane to see our tree in the 3D view so you can understand what happen easily. (Uvmapping is another topic not explained here)
 
I have UVmapped the plane to see our tree in the 3D view so you can understand what happen easily. (Uvmapping is another topic not explained here)
Line 59: Line 64:
  
 
=== Face the camera ===
 
=== Face the camera ===
 
Select you tree object, press N and fill RotZ: to 0. Press CTRL-A to apply size and rotation. This was to fix correct rotation and size before constraint.
 
 
Go to Object panel (F4) and add a "Copy rotation" constraint. Fill the target object name with the camera name. Switch off X and Y, keep Z.
 
Go to Object panel (F4) and add a "Copy rotation" constraint. Fill the target object name with the camera name. Switch off X and Y, keep Z.
 
Ok, so the tree will follow the camera rotation to always face it.
 
Ok, so the tree will follow the camera rotation to always face it.
  
[[Image:tree scene-03.png|300px]]
+
[[Image:tree scene-03.png]]
  
=== Shadow face the main lamp ===
+
=== Shadows face the main lamp ===
 
Another issue is that if you tree face your camera but not the lamp, you will get a tiny shadow or weak shadow. If it were a real 3D tree, shadow would have been always the same and in the same direction.
 
Another issue is that if you tree face your camera but not the lamp, you will get a tiny shadow or weak shadow. If it were a real 3D tree, shadow would have been always the same and in the same direction.
  
Line 74: Line 77:
 
In the constraint, change the target to the main lamp of your scene.
 
In the constraint, change the target to the main lamp of your scene.
  
[[Image:tree scene-04.png|300px]]
+
[[Image:tree scene-04.png]]
  
 
Thus, we have one tree facing the camera and one tree facing the lamp.
 
Thus, we have one tree facing the camera and one tree facing the lamp.
Line 84: Line 87:
 
Untick "Traceable"
 
Untick "Traceable"
  
[[Image:tree scene-05.png|300px]]
+
[[Image:tree scene-05.png]]
  
Select the tree facing the lamp. tick "Traceable" and "OnlyCast"
+
Select the tree facing the lamp. Create a new Material to unlick the two tree materials. Tick "Traceable" and "OnlyCast"
  
[[Image:tree scene-06.png|300px]]
+
[[Image:tree scene-06.png]]
  
 
[[Media:tree scene-04.blend|Downlad the .blend source file]]
 
[[Media:tree scene-04.blend|Downlad the .blend source file]]

Revision as of 00:09, 6 November 2006

Most of the time, pixel images are more suitable to represent people, cars, trees, etc... than 3D model. If these are not the main subject of your render, it often doesn't worth to model a precise 3D object. Moreover, it's very hard to make human or tree models realistics. In addition, they require a huge modelling which increase a lot rendering times and memory consumption.

So, there is a trick to use plane pixel images to fake 3D model in your render. In fact, we will use a cut out image and use it as texture on a plane facing the camera. The result will be the same as a postproduction in Gimp. The advantage to use this trick in Blender rather postprodction is less time consumption because wherever you move you camera, images will always face you, cast shadow on your 3D model and be cutted by a 3D foreground. However, if you use a tree picture shooted from an human height(~1.7m), you cannot use it to render a "from the sky view" of your model.

Prepare your texture

This is quite a hardwork here. You could find on the web libraries of these cut out pictures of trees and people to skip this part.

Otherwise, take a digicam and shot around you. Prefer to zoom max to avoid perspective effect. Especially for people, make sure feet are horizontal on pictures. Cut out the subject in your favorite image software (Gimp, Photoshop). The best technique is to use masks to have blurred transition between plains and holes. Once it's done save your picture in PNG for example to keep and alpha layer.

Lime.png

Tree cut out picture in PNG

Create your tree in Blender

To make it easier, this a Blender start scene where your tree could grow in serenity. (A green grass plane with a sunlight and a blue sky :)

Tree scene-01.jpg

Blend file of the start scene

First, create a vertical plane object in the center of your grass plot.

Create a new material for this plane object in the shading panel (F5). Create a new texture for this material, choose "bitmap" as type and load your tree picture. Tick "UseAlpha" and the "Alpha" button near the preview to see transparency.

Tree scene-02.png

Go back to the material panel. Tick Ztransp, Shadeless, put Alpha slider to 0. Tick Alpha in the "Map To" tab. That's it for the material.

Tree scene-02b.png

Plane dimensions should be the same ratio as the texture size. For example if your texture is 500x1000px, your plane could be 2.5x5 blender unit. In our example, the texture size is 477x664px so : select the plane object, press "N" and set the dimensions as follow.

Tree scene-02c.png

This also means that our tree is 6.64 units tall. That's a bit small for that kind of tree. We can resize it by the pressing the "S" button and moving until we get 8 units tall. Ratio will be preserved ;-).

Move the plane until the base just reach the ground.

Start a render.

Tree scene-02d.jpg

Blend file of the scene

Tips: If you don't see the tree transparent shadow on the ground, tick the TraShadow button of the ground material (not the tree material).

Deal with many 2D planes : a forest

This a good start, not to say the basis. But one tree is something, a forest is another one. We must be careful using 2D objects.

First, 2D have to be always facing the camera.
Second, their shadows must fit with you main shadow lamp.
Third, you must be able to duplicate your 2D objects (in our case, trees) to spread them among you scene.

Prepare your object to constraints

Select you tree object, press N and fill RotZ: to 0. Press CTRL-A to apply size and rotation. This was to fix correct rotation and size before constraint. Go to material panel (F5). In texture map input, tick Cube because our plane is vertical now.

I have UVmapped the plane to see our tree in the 3D view so you can understand what happen easily. (Uvmapping is another topic not explained here)

Downlad the .blend source file

Face the camera

Go to Object panel (F4) and add a "Copy rotation" constraint. Fill the target object name with the camera name. Switch off X and Y, keep Z. Ok, so the tree will follow the camera rotation to always face it.

Tree scene-03.png

Shadows face the main lamp

Another issue is that if you tree face your camera but not the lamp, you will get a tiny shadow or weak shadow. If it were a real 3D tree, shadow would have been always the same and in the same direction.

Therefore, we need to separate the tree we will see and his shadow. Duplicate (Shift-D to duplicate without link) your tree on the same place.

In the constraint, change the target to the main lamp of your scene.

Tree scene-04.png

Thus, we have one tree facing the camera and one tree facing the lamp.

We must modify materials to get one showing the tree without casting shadows and the other one only casting shadow.

Select the tree facing the camera and go to material panel (F5)

Untick "Traceable"

Tree scene-05.png

Select the tree facing the lamp. Create a new Material to unlick the two tree materials. Tick "Traceable" and "OnlyCast"

Tree scene-06.png

Downlad the .blend source file

Duplicate the trees

(WIP)

around the camera to create a forest :D.

Tree scene-03b.png

Tree scene-03c.jpg

Downlad the .blend source file