Wish - predefine default texture settings

@andy - I really am out of my depth here - do you have an idea whether or not, or how, this could be done?

-Pascal

1 Like

thanks Pascal !

Can someone please take another look at this ? I think I would not be the only one who would like something like this…

2 Likes

+1

This will be very useful if one could change the default mapping method, then the scene preparation workflow will be easier and straightforward.

I too arrived to a conclusion that in order for me to control the materials in the scene file (instead of jumping between the files) I need to have a universal mapping on all the objects (linked blocks/ file geometry). I’m using Vray, it has some limited texture mapping controls.
image

anything?

Good question. We definitely should be able to define the default texture size at a minimum. But it could be even better…

I too am attempting to transition to Rhino for ArchViz type work and really need the ability to better control the texture mapping of all objects and sub objects, especially simple solids like walls and their sub object ‘surfaces’.

In my current software workflow (FormZ), it is easy to use quick solids for basically everything and only surfaces occasionally. This means I need to be able to map each of the solid’s sides separately using the SAME materials, without creating copies of the same material just to handle the different mapping (stupid for archviz).

I asked about this seemingly simple task over a year ago and it appears they are working on it - How to apply 2 materials on the same wall - #13 by wim

If they got this working, then you wouldn’t need to use the silly Render texture map controls, whether it be in Octane or VRay to quickly and accurately adjust the mapping inside Rhino like any other surface. Sub Object Texture Mapping! PLEASE!

1 Like

McNeel → any news here ?

3 Likes

@pascal , @andy @pkinnane

So it´s been 4 years now without an improvement… :frowning:

I will try to raise your attention to this topic again because it is really important especially for anyone doing archviz in Rhino.

In a nutshell this is the main problem:

this one would be a “nice to have”

I think it is not too much to ask to have a working WCS mapping option for the Rhino / Octane ecosystem in 2023!

Andy

@BrianJ - is any of this on your list of complaints yet?

-Pascal

Hi @walther,

Reading back through this thread it looks like the main problem is that Octane’s WCS mapping setting within it’s native materials is not displaying in Rhino’s Rendered display mode. AND that if you reverse this and use a Rhino native material with WCS mapping, it is not displayed properly in Octane’s realtime rendered viewport.

I think both issues would need to be addressed in the Octane plugin. I will try and get @andy to reply here to confirm my guess. The only other idea I have is to select multiple objects in Rhino and convert their texture mapping properties at the same time to box mapping. This will save you time if you have been doing this properties change one object at a time. The difference there is that this is then a custom mapping setting per object that Octane appears to support based on your earlier posts here. The ideal solution though is I think for Octane’s WCS mapping in it’s materials to be converted to Rhino WCS mapping in Rhino’s rendered display mode.

2 Likes

First of all thank you Brian for taking the time to look into this, it is really appreciated!

  1. you are right, we have two issues, however issue no. 2 (a Rhino WCS material is not rendered correctly in Octane) is not such a big issue for me, since if you use the Octane renderer, you normally also use Octane materials. However as I said it would be nice to have and IMHO should work since Octane is a valid render engine for Rhino.

  2. your Idea to of selecting multiple objects and assigning box mapping to them in one single operation, is more or less what I am currently doing, I even wrote a few macros to make the process less painful but it is a very cumbersome workaround, because you always have exceptions like e.g. objects where you need to assign a different mapping mode or other mapping sizes.

The ideal solution though is I think for Octane’s WCS mapping in it’s materials to be converted to Rhino WCS mapping in Rhino’s rendered display mode.

  1. Exactly!
1 Like

You’re welcome! I believe our UV guru @Jussi_Aaltonen will be able to help communicate to the Octane developers on this issue.

1 Like

Please forgive me if I have misunderstood the issue. However I think the problem is that the Octane Material needs to be converted to a Rhino Material via SimulateMaterial() in order to display in the Rhino Viewport. In SimulateMaterial, the Texture would need to have Box Mapping applied. I don’t see a way to do this in a RhinoCommon Texture (to be used in simulatedMaterial.SetTexture()) as per https://developer.rhino3d.com/api/rhinocommon/rhino.docobjects.texture .

Thanks

Paul

Hi @walther

How is Octane converting its materials to Rhino materials at the moment?

Hi Jussi,

that is a question you might want to ask @pkinnane (Paul) who is the developer of the Octane for Rhino plugin.

1 Like

I made a test scene with two Boxes of 10m x 10m x 10m.

One is assigned an Octane material with a Box projection instead of the default “mesh UV projection” (scale 1/1/1).

The other one has a Rhino material with a "WSC / OCS (box style) definition for its texture (texture size 1).

Both should display 10 circles in each of their dimension axis in the Rhino viewport, and the rendered Image.

I attached the scene as a zip file

WCS Test.zip (462.2 KB)

I will send @pkinnane the same file on the octane forum.

1 Like

The plugin is taking the components from the Material and RenderMaterial (in particular the material.GetTexture(TextureType.Bitmap)) to determine the bitmap filename and projection for Octane. I cannot see in the RhinoCommon docs were to access the Texture’s “Mapping”->“WSC/OCS (box style)” property. Where is this contained please?

Thanks

Paul

You’ll be better of using RenderMaterial and RenderTexture. On the latter the projection mode is through the method GetProjectionMode(). Here is how I use that in RhinoCycles integration:

The method documentation is RenderTexture.GetProjectionMode Method

FWIW, these have existed already since before Rhino 6, and the ChangeQueue method already since Rhino 6.

Thanks @nathanletwory - I will try that.

Reversing the question…how is “WSC/OCS (box style)” specified in SimulateMaterial() please?

Thanks

Paul

I don’t know how to get to the mapping settings of an old-style Texture instance through RhinoCommon. That is something @andy will know.