When I create a vrayproxy from a mesh that has a turbosmooth modifier (with render iterations of, for example, 3), does the vrayproxy hold this information so in fact render the higher resolution meshes?
The .vrmesh exporter will take any modifiers into account; however it will use the mesh as it appears in the viewports. So you must make sure that your viewport subdivisions match the render ones.
Best regards,
Vlado
Could this be modified in the future to allow for Turbosmooth-type rendertime mesh smoothing?
I have been using a script lately - Cooper Vremesh Converter or something - and it creates vrayproxies in a sub folder of the open scene at the click of a button. It also works on groups creating a seperate vrmesh file for each ‘bit’. When you run the same script on an already-converted proxy, the full modifier stack is still intact.
I have a bunch of car models. They are all made of a number of groups, and some of the elements have turbosmooth modifiers on them - the body shells for instance - so that at rendertime, we see the smooth mesh. It is a pain to go through all these elements and tweek the turbosmooth modifiers to ‘upres’ the viewport display to enable us to create high-resolution vrmeshes.
why would you need turbosmooth rendertime settings? rendertime settings on both turbosmooth and meshsmooth are only really there for viewport speed benifits. with a vray mesh the viewport should run just fine and the whole thing is a total rendertime calculation. Yes it is a pain to go and upres all of those cars. i hired someone for 2 days to come in and spend it going through my model library and converting all of my majorly reused models into vray mesh for my database so that id have it on call when needed.
I want to make sure my vrayproxies are made using the rendertime (ie higher resolution) meshes. This is why I was hoping vrayproxies held onto the modifier stack ‘internally’ so that I wouldn’t have to manually upres everything before creating the proxy.
This one of the reasons why I made two little macroscript buttons to switch between Turbosmooth display modes using the code below. This works on selected objects.
Disable Isoline display / Render Iterations and set viewport display to 2 Iterations:
for SomeObj in $ do
(
if (SomeObj.modifiers[#turbosmooth] != undefined) do
(
SomeObj.modifiers[#turbosmooth].iterations = 2
SomeObj.modifiers[#turbosmooth].useRenderIterations = false
SomeObj.modifiers[#turbosmooth].isolineDisplay = false
)
)
```Enable Isoline display / Render Iterations and set viewport display to 0 Iterations:
for SomeObj in $ do
(
if (SomeObj.modifiers[#turbosmooth] != undefined) do
(
SomeObj.modifiers[#turbosmooth].iterations = 0
SomeObj.modifiers[#turbosmooth].useRenderIterations = true
SomeObj.modifiers[#turbosmooth].renderIterations = 2
SomeObj.modifiers[#turbosmooth].isolineDisplay = true
)
)
Maybe it's useful for someone :)
Interesting.
Is there any chance this script/code will work on a group that contains some objects with turbosmooth and some without? Basically, could it ‘seek out’ any objects with Tubrosmooth modifiers on them within a group/group of groups?
just open all your groups before clicking it?
There’s no need to open the group
that would be quite a hassle if the model has many groups ![]()
The code loops through all selected objects, whether they are in a group or not, even works on groups within groups. So you can simply select the group(s), click the macro button and it will iterate through the objects contained within the group.
It also checks to see if there’s a Turbosmooth applied to the object. If there isn’t a TS modifier present, it will skip the object (this is what the line with “!= undefined” checks for).
Brilliant mate!
Thanks!
I hope it will be as useful to you as it is to me!
hmmm…then how come it doesnt work with vray displacement modifier?
as Vlado said: “it will use the mesh as it appears in the viewports”.
You cant have vraydisplacement in viewport, so it won’t be in your proxy.
ah right …i ve misinterpreted it :-/ sorry