How to blend imported object with terrain

Started by Aleksei, October 18, 2015, 05:40:28 AM

Previous topic - Next topic

Aleksei

Hello!
1. Is it possible to import UV textured object to terragen scene and blend it with terrain it is standing on?
2. And is there a way to apply the same shader which is used on terrain to the imported object (on top of UV texture)?

Here is the illustration of what I mean:



I was trying to import object as population and as non-population. In the 1st case it creates thousand of objects and I cannot control the number. I actually need only one object. In the 2nd case (non-population) this object imports, but it doesn't interact with the world at all.
Unfortunately, I couldn't find enough information on this topic online.
Multi-purpose Design Tool: • NORDSKILL •

Hetzen

If you can create a bitmap out of that object, ie take a top down orthographic view with a greyscale gradient texture through it's altitude. Then you will be able to blend it in Terragen. Then you maybe able to import the object and offset it slightly to get any lateral displacements to show through a combined extrusion in TG.

TheBadger

or depending on the kind of object and how it was built, use a Vector map. In this way you can keep overhangs and such. And also populate on it more easily  then as an OBJ.
It has been eaten.

Oshyan

Hetzen and Badger's suggestions are both worth considering as using native displacement (either heightfield or vector displacement) will give you the best blending with the terrain, since the native terrains are also handled with displacement (as are imported heightfields). There are various discussions of using Zbrush and Mudbox output for vector displacement here:
http://www.planetside.co.uk/forums/index.php/topic,19551.0.html
http://www.planetside.co.uk/forums/index.php/topic,16110.0.html
http://www.planetside.co.uk/forums/index.php/topic,20084.0.html
http://www.planetside.co.uk/forums/index.php/topic,16183.0.html
http://www.planetside.co.uk/forums/index.php/topic,16480.0.html

If you do want to use an object for some reason you can import it into Terragen (single object, not population) and you'll want to make sure both UVs and Normals are exported from your source app (Zbrush does not export normals as far as I know, so you may have to calculate them in another app, such as PoseRay as TG does not currently autocalculate normals). If you then want to apply Terragen shaders (like you would to the terrain) *over* the UV mapped textures that already exist on the object you would use some kind of blending approach, a Merge Shader is a good example, but you would need to run the native object's textures through a Transform Shader with World Space checked to convert to World Space first. This will put the texturing in World Space, which should match the terrain if you apply the same shaders (just literally link the same shader chain to terrain and to the object Shader input). It would be simpler if you just use all-Terragen texturing and avoid the UVs altogether (i.e. just import an untextured model), but it sounds like you need them.

If you then need to displace the object along with the terrain, just be sure to switch the object's rendering method to "Force Displacement". And you should still avoid extreme displacements for the object as that may not be handled well. If you wanted to add larger displacement to the terrain (and not affect the object), you'd need to work out a way to do that separately from the shading/color so that you can still apply the same shader network to both elements. One way to do that would be to create your entire color shader network as a Child Layer of a Surface Layer node and connect the output of the first child node to the Shader input of your object. This allows the displacement from the Terrain group to flow down through the network and through the parent Surface Layer, but gives you a whole separate shader chain that you can plugin to your object and avoid that additional displacement.

- Oshyan