Jump to content
3DCoat Forums

Tileable 3d textures


Keytay
 Share

Go to solution Solved by Andrew Shpagin,

Recommended Posts

  • Member

Hello all,

I downloaded the demo a few days ago, which I'm loving so far and one of the things I was hoping 3dc could do is 3d tiling textures. I asked about it in this thread but it's a little quiet over there in the suggestions area so sorry for the double up.

Anyway Andrew was kind enough to share this scene which is set up for tiling.

I'm very new to 3dCoat so I'm not sure of the work flow for this particular procedure.

This is what I have so far for a test.

I've placed down some rocks in the Voxel room (on the same layer as the middle plane)

Tile_Voxel_3dCoat_zpsaf5dd859.jpg

Painted them in the Paint Room. (had to tick 'show beta tools' in preferences to be able to paint on the voxels)

Tile_Paint_3dCoat_zps5bd3cb95.jpg

This is what it looks like in the Retopo room.

Tile_Retopo_3dCoat_zpsed1c5992.jpg

Back in the paint room I go to 'textures/texture baking tool' and bake out the diffuse and normal maps but they look like this.

Diffuse_zps6ec649b0.jpg

Normal_zps03a81a53.jpg

with a scan depth of ( in 300 - out 1000) I get this result below

Diffuse2_zps5c8c529c.jpg

Normal2_zps67f06e54.jpg

I've tried lost of different scan depths but the results are similar.

I'm doing something completely wrong but I'm not sure what.

Also is it possible to get an AO map as well?

thanks for any help

Link to comment
Share on other sites

  • Contributor

It looks like the only 'normals' baked were the ones adjacent to the plane (the bottom of the rocks). Maybe more work with the scan depth will help (it seemed so with the 300-1000 example). I think everyone is trying out the last build.

Link to comment
Share on other sites

  • Member

It looks like the only 'normals' baked were the ones adjacent to the plane (the bottom of the rocks).

Thanks for the reply Tony. I'm not sure I get what you mean though. Could you explain in a little more detail?

ps. I have tried many scan depth variations and this is about as good as it gets.

Link to comment
Share on other sites

  • Advanced Member

It might be better to start with the process of how 3D Coat works in a simpler setting than trying to tackle such a large task. I suggest going through the tutorial videos and researching these processes before tackling why you're having these problems. It sounds like you've gotten it down to being able to use the Voxel room enough for this purpose, but 3D Coat, like many 3D programs, mandates an understanding of how topology works with the model, as well as UVs (which I'm recently learning matters a lot more in 3D Coat than I thought). It's a great program and your topic here is very interesting. I'll dig up some links that may help.

Link to comment
Share on other sites

  • Contributor

Thanks for the reply Tony. I'm not sure I get what you mean though. Could you explain in a little more detail?

ps. I have tried many scan depth variations and this is about as good as it gets.

I have nothing beyond seeing what your best normal looks like in a different app. That might give a clue to what you are getting and suggest a way to get more. Where is the topology for the stones? You may need to do an autopo for everything and bake that.

Link to comment
Share on other sites

  • Member

Thanks for the links Alvordr. I was going through the pilgway/youtube and others before I decided to see if 3DC could do this particular thing. I certainly have jumped into the deep end but I'm evaluating the program (with little time) to see if it will do what I need it to. Unfortunately this particular procedure seems to be untouched in the community with no examples anywhere, that I can find so I had to give it a go myself, albeit prematurely.

Tony, the topolgy is a plane that Andrew put in there that's the same size and depth as the middle plane in the voxel room. I gathered it was like baking a high poly down to a low poly and the scan depth was similar to a cage. In the side view I scaled the scan depth so it was engulfing the rocks. I'd show you a pic but the scene crashed and I lost it. I did try an autopo but the baked textures were the just uv layout not a tileable top down render. Thanks for the help though I appreciate it.

Link to comment
Share on other sites

  • Advanced Member

If you're just trying to create tilable textures, there are far easier/cheaper ways to do this (CrazyBump, PixPlant, ShaderMap Substance, etc.). As far as 3D sculpted elements, you need to make sure you have a retopo mesh to bake your sculpt to. It is covered in the videos I linked.

Link to comment
Share on other sites

  • Member

You get way better normal maps and AO etc if you create a ground texture with 3d elements. Crazy etc are great for getting quick dirty normal maps from photos/textures but they aren't correct at all. This is for games btw.

If you haven't seen this vid check it out and you'll see how amazing ground textures can be using this method.

Also I do have a retopo mesh in the scene, the green plane which I tried moving up and down, expanding the cage from 150 to 4000.

Cheers Abnranger, I've seen that video and have been using those parameters to try and raise the cage (but instead of raising it like in the video it expands it above and below - see pic) and have also tried raising the retopo plane with the transform but its giving even worse results (the nasty normal map in the image)

topology-cage_zps0c6ff3f9.jpg

I'm familiar with Max baking also MubBox. Baking to a plane In mudbox you would put the high res model above and the plane below and bake but it doesn't do the tiling thing that ZB and 3DC can do.

If anyone gets a chance please try the scene in the op. Throw down some geo and see if you can get any results. I'm sure you guys would know what I'm doing wrong as soon as you try it.

  • Like 1
Link to comment
Share on other sites

  • Reputable Contributor

You get way better normal maps and AO etc if you create a ground texture with 3d elements. Crazy etc are great for getting quick dirty normal maps from photos/textures but they aren't correct at all. This is for games btw.

If you haven't seen this vid check it out and you'll see how amazing ground textures can be using this method.

Also I do have a retopo mesh in the scene, the green plane which I tried moving up and down, expanding the cage from 150 to 4000.

Cheers Abnranger, I've seen that video and have been using those parameters to try and raise the cage (but instead of raising it like in the video it expands it above and below - see pic) and have also tried raising the retopo plane with the transform but its giving even worse results (the nasty normal map in the image)

I'm familiar with Max baking also MubBox. Baking to a plane In mudbox you would put the high res model above and the plane below and bake but it doesn't do the tiling thing that ZB and 3DC can do.

If anyone gets a chance please try the scene in the op. Throw down some geo and see if you can get any results. I'm sure you guys would know what I'm doing wrong as soon as you try it.

It's one thing to generate displacement from a flat plane, using a map. It's another matter entirely, baking a displacement map from a flat plane. As you could see in the 3ds Max texture baking tut. he mentions you'll get a crappy bake if both your high poly and low poly objects aren't very close in shape. You're trying to get a clean projection from 3 dimensional objects, like rocks onto a flat, 2 dimensional object that is nothing like it, in shape.

Would you please record a video of you doing the same in Mudbox. I'm curious to see how that works, and perhaps Andrew can see how it works, too.

Link to comment
Share on other sites

  • Advanced Member

Hmm...I guess I'm somehow missing the connection between game-oriented tileable texture work and what you're doing. Can you elaborate?

I do understand the difference between normal maps and displacement maps. Are you intending then to use displacement maps to do a game-ready tileable texture?

Link to comment
Share on other sites

  • Member

It's one thing to generate displacement from a flat plane, using a map. It's another matter entirely, baking a displacement map from a flat plane. As you could see in the 3ds Max texture baking tut. he mentions you'll get a crappy bake if both your high poly and low poly objects aren't very close in shape. You're trying to get a clean projection from 3 dimensional objects, like rocks onto a flat, 2 dimensional object that is nothing like it, in shape.

Would you please record a video of you doing the same in Mudbox. I'm curious to see how that works, and perhaps Andrew can see how it works, too.

In this video (not mine) go to 1:02:00, he imports a plane (I know its a plane because he exports it from maya at the very start of part one) and he bakes an AO and others using the High poly (terrain) and the flat plane. Keep in mind I only after textures, I don't need a low poly retopo'd displaced object.

Please send me scene and I will look.

Thanks Andrew. It's the same scene you gave me with some voxel objects.

http://www.mediafire.com/?0gd9iwfljd73qpb

Link to comment
Share on other sites

  • Member
Hmm...I guess I'm somehow missing the connection between game-oriented tileable texture work and what you're doing. Can you elaborate? I do understand the difference between normal maps and displacement maps. Are you intending then to use displacement maps to do a game-ready tileable texture?

I mentioned it was for games because in games you can get very close to them, move around them - real time lighting, day & night cycles etc really show them up. If they're spat out from CB then they're not correct and look amateur. Nothing comes close to a normal map being made from high res and it works for ground textures just as well (if you can get them tiling with no seams or glitches from the program)

ps. I'm not trying to displace geo it's just the textures I'm after (diffuse, AO, Normal, and a cavity/highlight map) but Diffuse and Normal would do for now. I then put these together to create the complete Diffuse and the Normal is already done. And yes they're for terrain textures in a game, it's a game art technique.

Link to comment
Share on other sites

  • Advanced Member

OK, then I still suggest one of the software that I've already mentioned. You can certainly use 3D Coat to do the original hi rez stuff and bake out the maps. I did this using 3ds Max, ZBrush and Photoshop, but then I still took it into PixPlant in the end to fine tune adjust the bump, spec, etc. However, I do like the control that gave me in getting a map that looked close to real without having to find a perfect image for it, so I understand what you're after.

Link to comment
Share on other sites

  • Advanced Member

What you only need is to render via a parallel camera.

You need a 32bit exr or a 16bit tiff at least for good displacement.

So, ask your app to render the depth. (zcamera depth or as it may your app calls it)

You may also apply a shader (a normalmaps colors matcap) and render without shading), so you have your normalmap*.

All these are very easily done in blender/cycles.

3dcoat can't do it.

It's on my wish list anyway.

Such operations should take place in render room, IMHO.

Zbrush users can do this easily. Blender users as well.

It's also possible to bake an AO map this way.

*BTW, it's rather useless to bake a normalmap-tiled pattern.

It will work on a flat wall but you can't wrap it via a UV editor, as replacing - rotating the UV islands on a normal map is against tangent principles. Only wrong results will come after this.

I hope these were helpful.

Link to comment
Share on other sites

  • Reputable Contributor

In this video (not mine) go to 1:02:00, he imports a plane (I know its a plane because he exports it from maya at the very start of part one) and he bakes an AO and others using the High poly (terrain) and the flat plane. Keep in mind I only after textures, I don't need a low poly retopo'd displaced object.

Can you provide a link to the video?
Link to comment
Share on other sites

  • Advanced Member

@abn

And all you guys here,

He asked for some help. Is it so difficult for you to just say, 3dcoat can not do this. Is it?

Why are you talking about retopo and such things anyway?

He asked for baking on a plane. On a single face mesh anyway. Why are you taking your time to give irrelevant answers?

Link to comment
Share on other sites

  • Reputable Contributor

Didn't have time to sit through the whole thing, but again, I think you are confusing the ability to GENERATE displacement, using a texture map...with the ability to bake a displacement map itself. The example you are showing is a guy generating displacement (driving deformation) from a map. This does not show the ability to bake a complicated 3D Object onto a flat plane. Using a map and baking one are two different creatures.

When baking textures, you need the low poly and the high poly to be similar in shape. I didn't see that in this video.

Link to comment
Share on other sites

  • Reputable Contributor

@abn

And all you guys here,

He asked for some help. Is it so difficult for you to just say, 3dcoat can not do this. Is it?

Why are you talking about retopo and such things anyway?

He asked for baking on a plane. On a single face mesh anyway. Why are you taking your time to give irrelevant answers?

What are you talking about? I'm pointing out that I haven't seen an app yet that can do this. Can't do it in 3ds Max, either. But I'm willing to be proven wrong, cause I just haven't seen it done, yet. Can you record a video showing the ability to bake a normal map from a bunch of 3D rocks onto a flat image plane? I'd like to see it. If it is indeed possible to do in Blender, please show us, so Andrew can see it, too.
Link to comment
Share on other sites

  • Contributor

You get way better normal maps and AO etc if you create a ground texture with 3d elements. Crazy etc are great for getting quick dirty normal maps from photos/textures but they aren't correct at all. This is for games btw.

If you haven't seen this vid check it out and you'll see how amazing ground textures can be using this method.

Thank you for sharing this video. Oh I wish it was that easy to make seamless maps in 3D Coat. Maybe Andrew will do something about it sometime in the future, but I imagine it would be hard to implement.

About your scene, I was trying to bake the normals the... normal way, but with the same results as yours. Then, I tried two work-arounds and it did bake.

The first work-around - flawed (middle-placement and high ray-casting range):

In Silo I created a simple poly plane consisting of 1 quad (although it's probably better to import a high-poly plane, because it works faster in the paint room). The reason I created a new retopo mesh is because Andrew's gave weird results after baking (I don't know why). Then I moved it and scaled to roughly fit the hi-res geometry exported from 3D Coat with reduced poly count (99% reduction). It was a rough fit, so I don't think it would be 100% seamless, but I was trying to get this baking to work first. Okay, so I imported the plane to 3D Coat as a retopo mesh. The trick was to move it on Y axis roughly in the middle of the volume between the flat floor and the highest point of the sculpture and set baking parameters (in/out) to 200/200. I chose those large numbers because I've noticed that if those numbers were only a little bit greater than needed, it still wasn't enough for 3D Coat and parts of the normal map were cut off.

I have baked the NM PPP with No-subdivision, kept UVs, no UV smoothing and have used a 2k map.

The results can be seen on images. Some chipping occurred on the highest parts of the model. Or at least I think they're the highest ones - it's hard to judge. Unfortunately further tweaking of scan depths didn't change anything, so I wasn't able to achieve better results with this work-around.

The second work-around (top-placement with snapping and a little bit of subdivision).

I was able to achieve very good results with this method. It's a little bit tedious and requires several test bakes to get the most of it, but I think it works pretty nicely.

I used the plane from the first work-around, imported it into 3D Coat and this time, instead of placing it over the volume, I moved it right on top of the sculpture. Then, with auto snapping turned off, I've subdivided it two or three times (no more, because normal map will be weaker!), selected all vertices and auto snapped them to voxels. Now, I left the bake settings from the first work-around (200/200) and baked the NM PPP with some subdivision, kept UVs, smoothed while keeping edges. The result was an uneven surface, but still a square (low-poly). The generated normal map didn't have any parts chopped off. I think it looks acceptable.

Normal maps, as well as diffuse colour, specularity, and whatever maps you might have painted in both work-arounds will of course work on every flat square-shaped mesh.

So, it's entirely possible to bake a very complex sculpture into just a several polygons. It just requires a lot of unnecessary hassle, because it doesn't work "out-of-the-box". :(

If something is not clear, I could possible do a video depicting the process.

I hope it helps.

EDIT: Ah, sorry. I just noticed the normal maps I posted were somehow inverted 180 degrees. Possibly because I was doing screenshots of the other images from a different angle. No biggie, but keep that in mind.

post-12523-0-13165900-1362697251_thumb.j

Link to comment
Share on other sites

  • Member

Thank you ajz3d you have helped enormously. Cheers for watching the video and understanding what I'm trying to do, also for the effort you've gone to to find a workaround, I really appreciate it.

I guess the big question is, does your normal map etc have any seams at all? As fixing those on highly detailed textures would be next to impossible in photoshop etc.

.

If it's not too much trouble a video would be excellent, if not just for me but all the others out there who don't

know this is possible in 3DC. It's also a big plus for 3dc, especially for game/environment artists like myself.

You'd probably get a hell of a lot of hits on youtube too. ;)

------------------------------------------------------------------------------------------------------------------------------------

I think you are confusing the ability to GENERATE displacement, using a texture map...with the ability to bake a displacement map itself.

No, I'm not confused. I have already said in this thread I'm not wanting displacement. I seriously don't know why everyone is talking about displacement.

I have said I'm after a tileable normal map, diffuse and AO.

When baking textures, you need the low poly and the high poly to be similar in shape. I didn't see that in this video.

No that's right you didn't see that in the video because I was showing you baking from high poly terrain with a flat plane as the low poly to get an AO, Normal (not displacement) and diffuse etc out of Mudbox.

The example you are showing is a guy generating displacement (driving deformation) from a map. This does not show the ability to bake a complicated 3D Object onto a flat plane. Using a map and baking one are two different creatures.

The example I'm showing is a guy doing exactly what I've been talking about, minus the tiling.

Link to comment
Share on other sites

  • Reputable Contributor

Thank you ajz3d you have helped enormously. Cheers for watching the video and understanding what I'm trying to do, also for the effort you've gone to to find a workaround, I really appreciate it.

I guess the big question is, does your normal map etc have any seams at all? As fixing those on highly detailed textures would be next to impossible in photoshop etc.

.

If it's not too much trouble a video would be excellent, if not just for me but all the others out there who don't

know this is possible in 3DC. It's also a big plus for 3dc, especially for game/environment artists like myself.

You'd probably get a hell of a lot of hits on youtube too. ;)

No, I'm not confused. I have already said in this thread I'm not wanting displacement. I seriously don't know why everyone is talking about displacement.

I have said I'm after a tileable normal map, diffuse and AO.

No that's right you didn't see that in the video because I was showing you baking from high poly terrain with a flat plane as the low poly to get an AO, Normal (not displacement) and diffuse etc out of Mudbox.

The example I'm showing is a guy doing exactly what I've been talking about, minus the tiling.

The part about confusion over using displacement or normal maps and baking them is because baking from a high poly object onto a flat plane is never ideal, if even possible in many baking engines. It's always optimal to bake onto a low poly object that is similar in shape.

I went back and looked at the steps he took toward the later part of the video, and it seems a lot like using the texture baking tool in 3D Coat, where you project the textures (including Normal and Displacement maps) onto another object of similar shape...even if it has entirely different topology and UV's. But, somehow MB is able to project it onto a flat plane...not sure, cause you never see the low poly mesh he's talking about. Tried a few tests on my end, with a landscape, and got nothing workable.

Hope Andrew is able to look into it. With so much of the work in 3D Coat depending on texture baking, it should have a reputation for having rock solid baking. I almost never get a good result in MicroVertex mode.

Link to comment
Share on other sites

  • Advanced Member

One thing I've found is that even if you're doing normal mapping in 3D Coat, it helps to have enough supporting geometry for the major changes in your model that you would otherwise not want to have all the topology for. I often will surround a big "bump" with a line on either side and if it's a very extruded "bump," then I might add two more spans in between with a bit of spacing between even those. It is a major help with the AO maps, as well. Hope this helps.

Link to comment
Share on other sites

  • Solution

Ok, I discovered and seems rendering Z buffer gives best result in this case. In next build you will be able to export projection from Y-axis to textures (including depth, color, specular, emissive). So this problem will be completely resolved in next build, you will get completely seamless texture in this case. Possibly I will drop link there preliminary to test.

Link to comment
Share on other sites

  • Contributor
(...)

I guess the big question is, does your normal map etc have any seams at all? As fixing those on highly detailed textures would be next to impossible in photoshop etc.

.

If it's not too much trouble a video would be excellent, if not just for me but all the others out there who don't

Frankly, I was more concerned about making the NM to work first and worry about maintaining seamlessness later. But assuming that shape of the retopo plane that Andrew dropped into the scene is enough to get the result we want, then I think it's safe to say that it's possible to get seamless textures. And if it's not enough, then it might be a matter of proper placement of the retopo mesh which, in the worst case, could be done with trial and error.

Right now, the seam on normal map is pretty visible and I'm unsure if it's because an unwanted border was added on baking, or I've not correctly placed the retopo plane. This worries me a bit, to be honest. I will look into it and do some tests.

I'll post the video as soon as possible, but it could take a day.

Ok, I discovered and seems rendering Z buffer gives best result in this case. In next build you will be able to export projection from Y-axis to textures (including depth, color, specular, emissive). So this problem will be completely resolved in next build, you will get completely seamless texture in this case. Possibly I will drop link there preliminary to test.

This sounds really good, Andrew. :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...