Vray Power Shader 3d Max Download 16

0 views
Skip to first unread message
Message has been deleted

Fabulously Favuzza

unread,
Jul 10, 2024, 12:04:32 PM7/10/24
to drunjedwellcec

I have same problem. I have huge 3ds max vray model/material archive. Our studio try to use these models in blender. But we cant found correct way to converter 3dsmax vray to blender. Models are good but materials are not correct. Do you know any workflow to converting? We try maxtoblender addon, bmax addon. fbx exporting etc. no proper solution yet.

I just convert Vray materials to Standard materials in Max and then export the scene like fbx.
The materials need tweaking but at least this way maps are connected properly. (Unless there are some special maps connected directly to the slot, like color correct). But you are correct, there is no proper solution which would convert correctly Vray materials to Cycles materials.

vray power shader 3d max download 16


Download File https://byltly.com/2yML52



I basically rewrote all the mayor parts of this script. This is not an easy task to handle properly many of the VRay production features into Blender and Cycles. Lights has to handle IES, spot, area, point, and HDRI and power intensity is very different, Materials in VRay have many important difference compare to Cycles from diffuse, metallic, reflection, refraction, opacity and PBR. Their also cameras, environment and FBX importer issues.

I took me about 3 months to finally have an importer for VRay 3dsmax production type archviz scenes. See below an example of an Evermotion scene AI-50. This scene has over 100+ lights, 200+ materials and 800+ textures. Did some minor material adjustments and adjusted the light intensities. I did change the tone-mapping and light intensities for my own preference. Export time of 1 minute and the same for the import. My custom script save me days of manual work in converting this scene. Render time for both were about 1min and 20sec.

As you notice the import part of MaxToBlender addon is in poor state that is the one that complete rewrote for production fixing all issues and added important functionality for Vray production scenes.

Fastest solution i found bmax. After importing blender manualy fix materials. If model have too many materials like plants grass try lime exporter plugin for 3dsmax to lumion converter. Its create fbx file and only diffuse maps. (I think fbx doesnt support pbr system.) ı research babylon.js its have pbr support gltf 2.0 exporter. I was try write my own script but cant figureout because fixing materials straight forward. I can be tester for your script if you want.

PBR import does work for FBX. I tested with some Evermotion FBX scenes with PBR and it works. I have other tips and issues that I discover when importing from V-Ray that I added on another thread see link ArchViz from V-Ray to Cycles (with tips).

Wow how can i miss this thread ! I have maxtoblender. I dont know what problem is but materials always have problem when import the blender. (You mention this problem importer part of addon is have lot of bug ) do you consider sharing your fixed script? it solves my many problems also love your eevee cycles scene jobs!

We can think of the curve as three separate segments from four points. The first point is at the origin (0,0). The second point marks the transition from the toe to the linear section, and the next point marks the transition from the linear section to the shoulder. Our last point is the white point of our curve.

It might seem a little weird that we do not need to describe any parameters for the toe, but it is described implictly by the (x0,y0) parameters and the slope of the linear section. As long as the toe function matches the position and slope of the (x0,y0) curve, the toe should behave as we would expect. The same effect happens for the shoulder.

Given those points, how can we form a continuous curve between them? One option would be polynomials, but that does not work well. These changes can be pretty sharp in linear space and fitting to polynomials will sometimes have undesirable concavity changes. Instead, we are going to use power curves.

We need the separate scaleX and scaleY parameters in order to flip the curve left to right and upside down. Each of our three segments (shoulder, linear section, and toe) will be a curve of that form. Then to evaluate the curve in the shader or on CPU, the formula is:

That code skips some of the details, but the key idea is we can represent the filmic curve as three power segments. To evaluate the full curve we can just figure out which segment we are on and calculate the value.

When I first implemented this function, I thought I had a bug in my code. The flipped power function is nice because it guarantees that we will get closer and closer to 1.0 without actually hitting it until our desired white point (W). The catch is that it is so close to 1.0 that it is not meaningful.

This change adds an additional complication though. Since we are overshooting, we are not guaranteed to hit the white point at our expected value of W. We could choose either overshootX or overshootY, and derive the other parameter such that we hit 1.0 at our chosen white point. But it is messy function that does not have a closed form as far as I can tell. Instead, we can apply a scale to the overall function at the end to fix it.

Here is the same curve with several different values of overshooting. Note that we end up changing the linear section slightly because of the scaling to make sure that we hit white at W.

There are a few more tricks we can do. To simplify things, we can scale all of our x values by 1.0/W. I.e. scale it so that we hit white at 1.0. This operation makes it simpler to bake the function into a texture.

Finally, we can convolve a gamma parameter into the function. Our filmic curve takes a linear value as input and outputs a linear value as output, but in many cases we would want to apply display gamma to it. We can do that by tweaking our input parameters slightly.

So if we want to combine the filmic curve with a gamma step, we can just apply the chain rule to our starting points and solve the function. Note that it is not a perfect approximation, and there is no reason to do this if you are baking to a LUT anyways. But if you find that you need to do both steps in the shader and you can not use a LUT for whatever reason you have that option.

The curve listed above is a method of choosing specific points on a graph and deriving a smooth filmic tonemapping curve from it. The catch is that these parameters are unintuitive tocontrol for an artist. Making the curve act differently in a useful way often requires moving several parameters together. For example, if you want to move dynamic range from the linear sectionto the shoulder, you need to move both (x1,y1) together. That is because you would want to move the point along the linear section as opposed to tweaking x and y separately.

Another problem is that you can end up with bad parameters. As an example, you always want the toe to have positive concavity and the shoulder to always have negative concavity. Ideally the parameters should be definedsuch that these cases are guaranteed.

So we are are going to use a different set of controls that intuitively describe the curve (like how strong the toe is, how long the shoulder is, etc). Then we will derive the direct parameters for the curve.

To derive our direct parameters, we will need to limit the curve in a few ways. The first simplification is that we are going to force the linear section to always have a slope of 1.0. At first this might seem likea problematic limitation, but in reality we do not lose much generality. It is implied that before applying this curve, you are going to perform an exposure adjustment. I.e. you will multiply the entire light intensityby a value. Shifting the slope of the linear section is equivelent to using a slope of 1.0 with an exposure adjustment.

In the past I have tried using a separate control for the slope of the linear section, but then the controls for the linear section and the toe are always fighting each other. So the most reasonable fix is to lock the slope of the linear section. There might be better ways, but after experimenting that seems like the best tradeoff.

We have two toe params, toeStrength and toeLength. The length affects how much of the dynamic range is in the toe. With a small value, the toe will be very short and quickly transition into the linear section, and with a longer value having a longer toe. The formula is simply:

A value of zero means no toe, and value of 1 means the toe takes up half the curve. In the graph below, the blue curve is just linear because it has no toe. The next curve over (orange) has a slight toe, all the way to the purple line which has a long toe. Ths parameter affects how quickly the toe transitions to the linear section.

The toe strength param drops the y0 param resulting in a stronger toe. We just use it to lerp y0 between x0 and 0. Note the toe transitions to the linear section at the same point x coordinate in all 5 curves (0.11). In the extreme case (purple) the toe is completely flat against the x-axis.

Note that there are two ways to disable the toe. By either setting toeLength or toeStrength to 0 the toe will disappear, but in general it is best to leave the toe length at a constant value and adjust using only toe strength.

The next graph shows several values of shoulderLength. It is a little hard to see, but all 5 curves (except the linear one) end at the same white point. However all the curves have a different transition point from from the linear section to the shoulder.

The shoulderLength parameter describes how many F stops we want to add to the dynamic range of the curve. Wherever we would hit white if shoulderStrength were 0, we add that many F stops to our linear white value (W).

b1e95dc632
Reply all
Reply to author
Forward
0 new messages