Profile Picture

Applying Reflection Surface Shader to iClone 8 Objects - Tips

Posted By 4u2ges 3 Years Ago
Rated 5 stars based on 2 votes.

Applying Reflection Surface Shader to iClone 8 Objects - Tips

Author
Message
4u2ges
4u2ges
Posted 3 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (22.3K reputation)Distinguished Member (22.3K reputation)Distinguished Member (22.3K reputation)Distinguished Member (22.3K reputation)Distinguished Member (22.3K reputation)Distinguished Member (22.3K reputation)Distinguished Member (22.3K reputation)Distinguished Member (22.3K reputation)Distinguished Member (22.3K reputation)

Group: Forum Members
Last Active: Last Month
Posts: 5.3K, Visits: 16.8K
Thanks Gerry!




wires
wires
Posted 3 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (15.4K reputation)Distinguished Member (15.4K reputation)Distinguished Member (15.4K reputation)Distinguished Member (15.4K reputation)Distinguished Member (15.4K reputation)Distinguished Member (15.4K reputation)Distinguished Member (15.4K reputation)Distinguished Member (15.4K reputation)Distinguished Member (15.4K reputation)

Group: Forum Members
Last Active: 4 Months Ago
Posts: 5.7K, Visits: 26.5K
Excellently detailed and very helpful explanation for achieving this result. Thank you Gurgen for posting. :cool::smooooth:

Gerry



System: Win 10 Pro (21H2), Asus X99-E WS, CPU i7-5930K -3,5 GHz, 32 GB DDR4 2666-16 RAM, NVidia GTX 1080 Ti GPU - 11 GB VRAM(Driver Studio-536.99), Samsung 850 Pro 512 GB SSD, 6 TB HD storage.


4u2ges
Idea.png
4u2ges
Posted 3 Years Ago
View Quick Profile
Distinguished Member

Distinguished Member (22.3K reputation)Distinguished Member (22.3K reputation)Distinguished Member (22.3K reputation)Distinguished Member (22.3K reputation)Distinguished Member (22.3K reputation)Distinguished Member (22.3K reputation)Distinguished Member (22.3K reputation)Distinguished Member (22.3K reputation)Distinguished Member (22.3K reputation)

Group: Forum Members
Last Active: Last Month
Posts: 5.3K, Visits: 16.8K
As I mentioned in another thread, is it not possible to apply Reflection Shader to objects in iClone/CC and expect satisfactory results.
This shader can only be applied to surfaces (non-volume objects) such as iClone planes or objects which are mostly flat.

This is what happened when I tried to apply Reflective shader to polished dresser material in iClone:

https://forum.reallusion.com/uploads/images/c224f271-aec5-4436-9163-27e6.jpg

So I spent some time trying to uncover a possibility having correct reflections from solid objects.
This is a final result I was able to achieve with above dresser. Polished wood of the dresser is now reflecting with about 90% accuracy:

https://forum.reallusion.com/uploads/images/fbf980bd-0f72-4dec-9184-178f.jpg


I will share how I did it below.

Prerequisites:
Method involves a heavy use of Blender (or some other modeler app). Respective skills required.
Surfaces of the object to which reflection would be applied must be mostly flat and strictly perpendicular to one of the Global Axis.

Goal:
The goal is to split the object into individual surfaces. Essentially extract respective surface meshes from the rest.

Blender 3.0 Workflow:

* Send Object from iClone to empty CC project.
* Export object as FBX. Blender profile, Mesh only, do not Embed texture.
* Import FBX to Blender.

* Select mesh(es), then Alt+P and select "Clear and Keep Transform". This would effectively separate mesh from Armature. Delete Armature.
* Identify what surfaces of the object you would like to have reflection. In my case I selected the top, front and sides.
* Use mesh edit tools and separate each surface from the rest. That is select respective faces and use Mesh > Split > Selection from the menu. Then P > Selection.
Here are 9 parts of the mesh I ended up separating (I hid the rest):

https://forum.reallusion.com/uploads/images/50165d15-5636-4728-b522-fe9b.jpg

* For each separated surface object delete unrelated materials.
* Select all Objects and then Ctrl+A > Rotation and Scale. This is a critical step.
* Select each individual part and Set Origin. In Object mode go to Object > Set Origin > Origin to Center of Mass (Surface) . This is a critical step.
* Export out of Blender as FBX with the following Transform settings (This is a critical step):

https://forum.reallusion.com/uploads/images/c81422c8-d4bb-452d-8b70-1792.jpg

Forward must be: -Y Forward
Up must be: Z Up

* Import FBX to iClone with separated objects.
* Fix non-reflective sub-props materials, setting correct roughness, metallic...etc (it would certainly be off after re-import).
* For all objects which would be reflecting, set Roughness to Black and convert shader to "Reflection Surface". Enable Local Transform and see which Axis is perpendicular to the reflective surface. Choose THAT Axis for the Shader. Optionally play with Strength. I set it to 7 for my dresser.
* Once you are done with shaders and satisfied with the result, you may use "Merge-Sub-props" for the root object to convert it to a single object.

Notes:
In my case, in addition to Reflective Surface I was actively using traditional PBR Reflection for other parts of the dresser. To enable PBR reflection: Set opacity to 99%, check Reflection box and play with its Strength.
PBR reflection is not accurate at all, but for thin parts of the dresser (between top and front), it is quite satisfactory and does not spoil the overall effect.

For curvy sides I split them into 2 parts in the middle of the curve thinking I would use X reflection for the side and Y reflection for the front. It did not go well and I had to use Y reflection for both. That is why I said it is about 90% accurate at the beginning.

Bottom line is, that the flatter your object is, the better chance you have with accurate reflections.








Reading This Topic