Hi,
In ZBrush, There are varieties of methods, which will allow you to apply texture to a 3D object. This tutorial will explain one of these methods.
One common method of applying a realistic texture to a 3D object involves the use of a pre-existing photograph of a real-world object.
This method can easily produces very good results. ZBrush has a 3DCopy function, which is designed to make the texturing process a fun and easy to execute.
In order to better understand the functionality of the 3DCopy, I will point out some items that would have been difficult to overcome without this functionality…
Seamless textures: Most images that are used/available for texturing are not seamless and if simply applied to a 3D object will produce a visible seem.
3D Distortions: When a texture is applied to a 3D object, it will be distorted based on the geometry (and UV coordinates) of the 3D object. This problem is difficult to overcome because it requires the texture to be properly distorted in order for it to be viewed un-distorted on a 3D object. Further more, a texture that needs to be modified by adding new details would have to be modified in such way that the added details would look undistorted when applied to a 3D object. The image below shows a star, which has been added to a texture. When applying this texture to the 3D object, the star shape is distorted and is no longer of the same dimensions as it was originally drawn.
The method that is described below, overcomes these difficulties by allowing ZBrush to automatically distort( apply projection ) the texture to fit the object’s geometry and by utilizing 3D-based blending it produces seamless 3D textured object. The texture can also be modified and painted on by any of ZBrush’s tools and when these modifications are mapped into the object’s texture, ZBrush will automatically apply a proper distortion to the texture, which will allow it to be viewed undistorted when applied to the 3D object.
In this example I have used a simple vase object and a marble base texture, which you can download by clicking the icon below. (It is not necessary to load this file, the instructions below can be used with any texture and any of your created/modified 3D objects or even a simple Sphere3D object)
Let’s get started…
Step 00: Restart ZBrush.This tutorial is written with the assumption that all of ZBrush settings are at their default (Start-Up) configuration.
Step 01: Import the texture into ZBrush by using the TEXTURE.INVENTORY.IMPORT function. We need to fill the canvas area with the texture that we will be using. To do so, you need to select the texture (in the TEXTURE menu) and apply LAYER.MODIFIERS.Fill function (or press ctrl+f keys )
Turn off texture before moving to the next step.
Step02: Load the 3D object and place it in the canvas. As seen in the image below…
The object that we have drawn is - by default - drawn at the same depth as the existing Pixols, which means that half of the object is imbedded within the existing canvas-surface. In order to better understand this point, you can enter TRANSFORM.ROTATE mode and rotate the object. You’ll notice that as you rotating, parts of the object are not visible because they are behind the existing surface. See image below…
(If you are using a simple unmodified Sphere3D object you will not be able to view the imbedded portion because it is exactly the same half of the sphere that would have normally been hidden)
We need to bring the object closer to us in order to make sure that it is fully in front of the existing canvas-surface. To do so, we need to enter TRANSFORM.MOVE or TRANSFORM.ROTATE mode. When in either of these modes, we can click outside the object and ‘drag’ the cursor down. This will bring the object closer. You may repeat this step one more time in order to make sure that we have moved the object close enough.
Enter TRANSFORM.EDIT mode before moving to the next step.
Step03: It is time to create the texture that will be wrapped on top of the 3D object. In this case, I have chosen to create a texture, which is 1024x1024 in size. To do so you need to enter 1024 in the TEXTURE.INVENTORY.WIDTH slider as well as in the TEXTURE.INVENTORY.HEIGHT slider. Press the TEXTURE.INVENTORY.NEW button and a new texture will be created with the specified dimensions.
Step04 Preparing 3DCopy for texturing:
We will be using the 3DCopy function in order to transfer color information from the canvas to the object’s texture. We need to press the TRANSFORM.3DCOPY.AUTOINT button which will activate the orientation-based-auto-intensity of the 3DCopy function. Activating this feature enables the 3DCopy auto-blending function, which allows for seamless texturing. Verify that TRANSFORM.3DCOPY.Sis unpressed.
Step05 The texturing stage:
Press the TRANSFORM.3DCOPY.3D COPY or press ctrl+g to garb and transfer colors from the canvas to the 3D object. As shown in the image below…
After you have applied the 3DCopy function, you’ll see that the portion of the canvas that was under your 3D object has been transferred into the object’s texture, further more, the intensity of the transfer was automatically set by ZBrush based on the orientation of the surface. Take a look at the TEXTURE menu and you’ll see that ZBrush has ‘distorted’ the texture properly in order to have it shown undistorted when mapped to the 3D object.
While still in edit mode, rotate the object (by clicking outside the object and drag to rotate) in order to reveal another portion of your object and apply TRANSFORM.3DCOPY.3D COPY again. Keep rotating and applying 3DCopy as many times as needed in order to fully texture the object.
You may, at any time, exit EDIT mode and enter TRANSFORM.MOVE mode in order to move the object to another location in the canvas and continue 3DCopy from the new location.
Note: Because we were careful to properly position the object in front of the canvas surface, when using the TRANSFOR.MOVE mode you would need to click on the GRAY TRANSFORM ring in order to restrict the movement of the object to 2 dimensions (right/left/up/down) without moving the object in the z axis (in/out).
If done properly, you should have now a fully textured object similar to the image below.
While the object is still in transform mode, press crtl+n to clear canvas (a floating object will not be effected by the Clear function)
Step05:
It is time to draw a star on the vase.
Rotate the object in such way that the indented position of the about-to-be-drawn star will be facing you. Place a Marker by pressing ctrl+m (TRANSFOR.m+). We are placing a marker because we about to switch to another tool and we would like the current position and orientation of the 3D object to be stored. This marker will later be used in order to re-draw the object in exactly the same position, size and orientation.
We can now select any of ZBrush’s other tools and in this example we will be using the PolyMesh3D tool in order to draw a star in the canvas. Select the PolyMesh3D tool. Select yellow color. We will be using the PolyMesh3D tool to draw a star in the canvas. We are only interest in applying color and not any depth information. To do so we need to turn off ZAdd.
Draw a star in the canvas. Similar to the image below…
We can now continue and draw more stars, or select any other tool and continue to draw and modify the texture (do not forget to turn off the ZAdd in each tool that you will be using)
In order to grab and transfer the modified texture to the 3D object, we need to first re-select the 3D object that we are texturing. Locate the marker that we have previously placed and simply click on this marker once. If done properly, the object will be re-drawn in the canvas and its texture will be hiding the modified canvas texture. Activate the TRANSFORM.EDIT(press t) mode and re-apply 3DCopy(press ctrl+g). If done properly, you’ll see that the texture has been updated to reflect the drawings that you have applied to the canvas. You may now clear the canvas (by pressing ctrl+n) click outside the object and rotate the object to reveal another area that you may want to modify and repeat step 5.
Notes:
The quality of the 3DCopy is depended on the size of the of the texture. Larger texture will produce more details.
The intensity that is used by 3DCopy can be controlled in TRANSFORM:3DCOPY.AUTO INTENSITY CURVE.
During the texturing process, you may periodically to use the TEXTURE.INVENTORY.CLONE function in order the create a copy of the texture which will allow you to revert to previous version when you have made a mistake or have changed your mind.
I hope that you’ll find this tutorial helpful
If you try this tutorial, please post your image and finding.
Pixolator
EDIT…
Here is another example that was created by using the same technique.
Digits posted the texture in the following thread.
Using the 3D Copy, I was able to quickly apply it to a 3D object…