Hi,
The issue with intersecting geometry can be handled in one of two ways:
1. Increase the ‘Ray Bias’. This will cause the rays to be offset away from the low-res object. You should increase this value until you see the black areas disappear.
2. Change the ‘Unwrap Method’ to ‘Trace Closest Surface’. This will cause the trace to happen in both directions, picking the direction that hits the high-res object.
If you would like to attach your scene I can set up some examples that show how this setup can work.
~M
Found 37 posts.
Search results Show results as topic list.
Technical Discussion » Bake Texture 15.5 example
- mdavies
- 110 posts
- Offline
Technical Discussion » Bake Texture 15.5 example
- mdavies
- 110 posts
- Offline
Hi,
This issue has been resolved in the latest build of H15.5. Please find attached a scene and render showing the output with that build. Let us know if you get a chance to test this out. Thank you.
~M
This issue has been resolved in the latest build of H15.5. Please find attached a scene and render showing the output with that build. Let us know if you get a chance to test this out. Thank you.
~M
Technical Discussion » VR Camera Pz & Options +
- mdavies
- 110 posts
- Offline
Hi Anodin,
It is possible to add a fisheye lens shader; if this would be of use I can set something up for you. I could send you the VEX shader directly for now, which would be included in Houdini 16.0.
~M
It is possible to add a fisheye lens shader; if this would be of use I can set something up for you. I could send you the VEX shader directly for now, which would be included in Houdini 16.0.
~M
Technical Discussion » VR Camera Pz & Options +
- mdavies
- 110 posts
- Offline
Hi Anodin,
There could be a toggle added to disable “Eye Separation” and “Eye To Neck Distance”, however I believe this is more suited to a mono latlong lens (as opposed to a VR lens). Though if you would find it useful I'll add this parameter.
~M
There could be a toggle added to disable “Eye Separation” and “Eye To Neck Distance”, however I believe this is more suited to a mono latlong lens (as opposed to a VR lens). Though if you would find it useful I'll add this parameter.
~M
Technical Discussion » VR Camera Pz & Options +
- mdavies
- 110 posts
- Offline
Hi,
I've made the changes to the VR lens shader and attached the updated code here. The VR camera is a bit more involved, but the update will be available in the next daily build of Houdini 15.5. Please let us know if you have a chance to test out the new feature. Thank you.
~M
I've made the changes to the VR lens shader and attached the updated code here. The VR camera is a bit more involved, but the update will be available in the next daily build of Houdini 15.5. Please let us know if you have a chance to test out the new feature. Thank you.
~M
Technical Discussion » VR Camera Pz & Options +
- mdavies
- 110 posts
- Offline
Hi,
Thanks for the feedback on the VR Camera. We currently don't support partial lat-long renders with the camera, though this control could be added. This will be added on Monday, ready in the next daily build of H15.5.
For Z-depth output you should be able to shade using ‘length(P - Eye)’, but I will need to confirm this. I will let you know shortly.
~M
Thanks for the feedback on the VR Camera. We currently don't support partial lat-long renders with the camera, though this control could be added. This will be added on Monday, ready in the next daily build of H15.5.
For Z-depth output you should be able to shade using ‘length(P - Eye)’, but I will need to confirm this. I will let you know shortly.
~M
Technical Discussion » Can Mantra be configured for Mikk Tangent Space?
- mdavies
- 110 posts
- Offline
In addition to the baking tools, there will likely be a few areas that expose a choice over tangent frame. For example, the ‘PolyFrame’ SOP, which stores tangents as vertex attributes. Currently the SOP uses UV derivatives, but these are matched to the ordering used by Mantra. It would be good to offer alternate spaces here as well. This should bring us in-line with applications using meshes in that space.
The timing of the feature is still under review, though I believe this would fall under the H16 release. If this is a more pressing issue that may change, though.
The timing of the feature is still under review, though I believe this would fall under the H16 release. If this is a more pressing issue that may change, though.
Technical Discussion » Can Mantra be configured for Mikk Tangent Space?
- mdavies
- 110 posts
- Offline
The tangent space used by the texture baking tools is based on derivatives of S/T, which may be ordered differently depending on the application. We will add support shortly for alternate tangent bases, which will include the ‘Mikk’ standard. This will likely be exposed as a parameter on the ‘Tangent Normal ’ VOP, which is used by the baking tools.
Houdini Indie and Apprentice » Baked Texture Seams
- mdavies
- 110 posts
- Offline
Hi Pete,
Yes, if you are using border expansion there must be an alpha channel in the image, otherwise it is not possible to reliably determine where the UV islands are. You should render to .rat or .exr if possible, post-converting to whatever format you require.
To post-process baked textures you can use Mantra's filter callbacks. I've attached a script that shows how to convert a texture rendered as .rat to .png. Note that you can do all sorts of post-processing on the generated images as well as geometry (eg. prepare as assets for your games engine).
To use the filter, you can either add the script to the command line:
mantra -P filter.py test.ifd
…or set this via the Bake Texture ROP (see attached).
Please let me know if this answers your questions. Thanks.
~M
Yes, if you are using border expansion there must be an alpha channel in the image, otherwise it is not possible to reliably determine where the UV islands are. You should render to .rat or .exr if possible, post-converting to whatever format you require.
To post-process baked textures you can use Mantra's filter callbacks. I've attached a script that shows how to convert a texture rendered as .rat to .png. Note that you can do all sorts of post-processing on the generated images as well as geometry (eg. prepare as assets for your games engine).
To use the filter, you can either add the script to the command line:
mantra -P filter.py test.ifd
…or set this via the Bake Texture ROP (see attached).
Please let me know if this answers your questions. Thanks.
~M
Houdini Indie and Apprentice » Baked Texture Seams
- mdavies
- 110 posts
- Offline
Hi Pete,
I should also mention that if you update to the latest build of H15.0 you will pick up the latest example files (not sure which build you are running).
~M
I should also mention that if you update to the latest build of H15.0 you will pick up the latest example files (not sure which build you are running).
~M
Houdini Indie and Apprentice » Baked Texture Seams
- mdavies
- 110 posts
- Offline
Hi Pete,
Out of curiosity, are you rendering directly to MPlay or to disk? The border expansion only works when rendering to disk, which is possibly why you're seeing the seams. Let me know if this resolves the issue for you. Thanks.
~M
Out of curiosity, are you rendering directly to MPlay or to disk? The border expansion only works when rendering to disk, which is possibly why you're seeing the seams. Let me know if this resolves the issue for you. Thanks.
~M
Technical Discussion » Basic questions about H15 texture baking tools
- mdavies
- 110 posts
- Offline
Hi Dimitri,
Thanks for your input on the baking setup. In answer to your questions:
1. The Bake Shader is only there to offer output for common baking tasks (eg. displacement, normal maps, occlusion). You are free to bake out any shader, which you've noticed. In general, if you're baking geometry between low-res and high-res objects then you probably want to use the Bake Shader.
2. We do not support a separate “cage” object for the trace, but you can do this by creating a copy of your low-res object and modeling the shape to better fit your high-res object. As long as the UVs match with your low-res object the bake will be fine.
3. Yes, when rendering between low-res and high-res objects the trace looks in both directions along the normal. Your low-res object does not need to be smaller than the high-res. There is also a maximum distance used to limit the distance of the trace. For holes we have an alpha output plane that shades as white for rays that miss the high-res object. This lets you trace from simple to complex geometry (eg. a low-res plane to a detailed fence with holes).
4. We do not have baking at the primitive level yet, but you could output the sampled attribute from a shader and bake that. You can sample the resulting texture at the UV coordinates and set your primitive attribute with the result. Would you find it useful in your work to have primitive attribute baking (ie. per-point)?
Hopefully this answers your questions, but if not please let us know.
~M
Thanks for your input on the baking setup. In answer to your questions:
1. The Bake Shader is only there to offer output for common baking tasks (eg. displacement, normal maps, occlusion). You are free to bake out any shader, which you've noticed. In general, if you're baking geometry between low-res and high-res objects then you probably want to use the Bake Shader.
2. We do not support a separate “cage” object for the trace, but you can do this by creating a copy of your low-res object and modeling the shape to better fit your high-res object. As long as the UVs match with your low-res object the bake will be fine.
3. Yes, when rendering between low-res and high-res objects the trace looks in both directions along the normal. Your low-res object does not need to be smaller than the high-res. There is also a maximum distance used to limit the distance of the trace. For holes we have an alpha output plane that shades as white for rays that miss the high-res object. This lets you trace from simple to complex geometry (eg. a low-res plane to a detailed fence with holes).
4. We do not have baking at the primitive level yet, but you could output the sampled attribute from a shader and bake that. You can sample the resulting texture at the UV coordinates and set your primitive attribute with the result. Would you find it useful in your work to have primitive attribute baking (ie. per-point)?
Hopefully this answers your questions, but if not please let us know.
~M
Work in Progress » H15 Baking
- mdavies
- 110 posts
- Offline
@MagnusL3D: Thanks for passing along this script. It will be useful for others to see the automated workflow you have set up.
In terms of TGA output, I've verified that this works (see attached). In your case was it mainly the color space that was the issue (ie. linear vs. sRGB)?
In terms of TGA output, I've verified that this works (see attached). In your case was it mainly the color space that was the issue (ie. linear vs. sRGB)?
Work in Progress » H15 Baking
- mdavies
- 110 posts
- Offline
@MagnusL3D: Here is an example of how to output thickness from a shader. The VOP is copied directly from the Bake Shader, so you should get similar output.
Work in Progress » H15 Baking
- mdavies
- 110 posts
- Offline
@MagnusL3D: Yes, these are visible as VEX names in the drop-down menu. I will remove these as they don't make sense outside of baking tasks. Thanks for spotting this
Work in Progress » H15 Baking
- mdavies
- 110 posts
- Offline
@MagnusL3D: Yes, please post any workflow tips that you're finding useful. It will help others who might be trying to do something similar.
In terms of using the Thickness plane in regular renders, this is not currently supported. You could build your own shader that output this plane, though. Let me know if you need any examples. The baking-specific planes do not show up under any ROP except Bake Texture.
In terms of using the Thickness plane in regular renders, this is not currently supported. You could build your own shader that output this plane, though. Let me know if you need any examples. The baking-specific planes do not show up under any ROP except Bake Texture.
Houdini Indie and Apprentice » How can you output to point or mesh colours with H15?
- mdavies
- 110 posts
- Offline
@peteski: This is something that is on the roadmap for baking, however it is not currently supported in H15.0. The slides should probably be updated to reflect this fact.
As a workaround, you could build points from your vertices, coloring them with the result from a shader evaluation. This could be written out as a point cloud and loaded by an engine to get per-component colors. Or you could read the point cloud back in and assign values to an attribute (Attribute Wrangle). The final bake node would bake to attributes directly, but would be doing the same operation (evaluating shaders at vertices).
As a workaround, you could build points from your vertices, coloring them with the result from a shader evaluation. This could be written out as a point cloud and loaded by an engine to get per-component colors. Or you could read the point cloud back in and assign values to an attribute (Attribute Wrangle). The final bake node would bake to attributes directly, but would be doing the same operation (evaluating shaders at vertices).
Work in Progress » H15 Baking
- mdavies
- 110 posts
- Offline
@MagnusL3D: Yes, it may be necessary to append the $HIP directory to the path to the Python filter. I usually test within the $HIP directly, which finds the filter with ‘-P filter.py’.
Yes, if you've changed the output filename then you will need to adjust the renaming script. The attached will rename files from:
CTEMP/H15/Bake_Test/name_test/CrossA.baketexture2.diff_clr.1001.tga
…to:
CTEMP/H15/Bake_Test/name_test/CrossA_d.tga
It will ignore the base texture:
CTEMP/H15/Bake_Test/name_test/CrossA.baketexture2.1001.tga
Hopefully this works for you; please let us know if you have any other questions.
Yes, if you've changed the output filename then you will need to adjust the renaming script. The attached will rename files from:
CTEMP/H15/Bake_Test/name_test/CrossA.baketexture2.diff_clr.1001.tga
…to:
CTEMP/H15/Bake_Test/name_test/CrossA_d.tga
It will ignore the base texture:
CTEMP/H15/Bake_Test/name_test/CrossA.baketexture2.1001.tga
Hopefully this works for you; please let us know if you have any other questions.
Work in Progress » H15 Baking
- mdavies
- 110 posts
- Offline
@MagnusL3D: No, all you should need is ‘mantra -P filter.py’ in the ROP. I'll verify that this is working as expected.
I see: in your case you're using $F to signify the asset number. I'm not sure we'll be able to move the separator around like you mentioned as it is hard to agree on a naming format that will satisfy everyone. We could use a ‘_’ like so:
filename.plane.$F.ext
filename_plane.$F.ext
…though in your case you'd still need to rename, so I'm not sure this buys us anything. At least with the ‘.’ it is easy to split the filename on consistent tokens. There may be ‘_’ characters as part of the basename, which would complicate matters. If you're Ok with the renaming script I'd suggest we stick with what is there.
Are there any asset preparation utilities for Unreal, or are you typically loading the components (ie. mesh, textures) into an editor to build the final asset? Is there Python support for Unreal?
I see: in your case you're using $F to signify the asset number. I'm not sure we'll be able to move the separator around like you mentioned as it is hard to agree on a naming format that will satisfy everyone. We could use a ‘_’ like so:
filename.plane.$F.ext
filename_plane.$F.ext
…though in your case you'd still need to rename, so I'm not sure this buys us anything. At least with the ‘.’ it is easy to split the filename on consistent tokens. There may be ‘_’ characters as part of the basename, which would complicate matters. If you're Ok with the renaming script I'd suggest we stick with what is there.
Are there any asset preparation utilities for Unreal, or are you typically loading the components (ie. mesh, textures) into an editor to build the final asset? Is there Python support for Unreal?
Work in Progress » H15 Baking
- mdavies
- 110 posts
- Offline
@MagnusL3D: Just thinking about your automation project, if you do end up with a script that prepares the asset for Unreal would you mind sharing it? It would be a great addition for other folks treading the same path. Provided it is vetted, it may even be possible to include it as part of the Houdini distribution.
-
- Quick Links