Chaos Corona Forum
Chaos Corona for 3ds Max => [Max] I need help! => Topic started by: Digital Esthetics on 2025-03-02, 16:10:46
-
So, I have come across bunch of models that I need to convert.
They come in with Standard Surface material. and I can switch do Arnold to render them and it looks good.
But The corona converter does not work, and the scene converter doesn't work either. and Im out of options.
The models comes from Kitbash3D.
Please help- do someone have a good workflow for this?
-
@Maru please Advice :)
-
Hi,
Are you referring to Scanline Standard (legacy) material?
If yes, they should be converted by Corona Converter, but they also should render with Corona.
If you can, share the scene (or simplified version) so we can check.
-
No, Standard Surface is Arnold's own physical material, it's not the (old) default Scanline Standard. It's pretty wide spread in the Maya world but not very common for 3dsmax (mostly because Max got Arnold so late and has much less users than in Maya).
-
Hi,
Are you referring to Scanline Standard (legacy) material?
If yes, they should be converted by Corona Converter, but they also should render with Corona.
If you can, share the scene (or simplified version) so we can check.
Hi, I have attached the file here. made a Dummed down and I didn't attach all texture files.
-
This is not possible to do using Corona converter or V-Ray converter. You will need to use some 3rd party script to first convert to V-Ray materials and then you can use Corona Converter to convert V-Ray material to Corona Materials.
https://www.scriptspot.com/3ds-max/scripts/v-raymax-converter-pro?page=16 (https://www.scriptspot.com/3ds-max/scripts/v-raymax-converter-pro?page=16)
I have logged this as a feature request in our system to be further reviewed by our devs.
(Report ID=CMAX-1506)
-
Thank you for your answer. that would be amazing
-
Ok, so update. the Vray script you sent work only half way, it does convert the material but it does not convert the map.
so now I'm stuck with these "Arnold" Image maps instead of regular bitmap.
No idea where I should go from here. please advice
-
OK. so if anyone have this isse with bitmaps not converting.
I Build this script.
(
-- Function to recursively replace Arnold Image and other textures with standard Bitmap or Corona Bitmap
fn ConvertToBitmap texmap parentMat slotIndex useCorona = (
if (texmap != undefined and classof texmap != CoronaBitmap and classof texmap != BitmapTexture) then (
local texturePath = ""
-- Handle Arnold Image maps
if (classof texmap == ArnoldImage) then (
if (isProperty texmap #filename and texmap.filename != undefined) then (
texturePath = texmap.filename
)
)
-- Handle standard Bitmap textures
else if (hasProperty texmap #filename and texmap.filename != undefined) then (
texturePath = texmap.filename
)
-- Convert if a valid path is found
if (texturePath != "" and doesFileExist texturePath) then (
local newBitmap
if (useCorona) then (
newBitmap = CoronaBitmap() -- Create an empty Corona Bitmap
) else (
newBitmap = BitmapTexture() -- Create an empty Standard Bitmap
)
newBitmap.filename = texturePath -- Assign the filename separately
-- Debugging output
format "Replacing texture: % with %\n" texturePath (if useCorona then "Corona Bitmap" else "Standard Bitmap")
-- Replace the original map with the chosen Bitmap
setSubTexmap parentMat slotIndex newBitmap
)
-- Recursively check nested maps
for i = 1 to getNumSubTexmaps texmap do (
ConvertToBitmap (getSubTexmap texmap i) texmap i useCorona
)
)
)
-- Process all scene materials
for mat in scenematerials do (
if (mat != undefined) then (
for i = 1 to getNumSubTexmaps mat do (
ConvertToBitmap (getSubTexmap mat i) mat i true -- Change to 'false' for standard Bitmap
)
)
)
-- Process Multi/Sub materials
for obj in objects do (
if (obj.material != undefined) then (
if (classof obj.material == Multimaterial) then (
for j = 1 to obj.material.numsubs do (
for i = 1 to getNumSubTexmaps obj.material.materialList[j] do (
ConvertToBitmap (getSubTexmap obj.material.materialList[j] i) obj.material.materialList[j] i true -- Change to 'false' for standard Bitmap
)
)
)
else (
for i = 1 to getNumSubTexmaps obj.material do (
ConvertToBitmap (getSubTexmap obj.material i) obj.material i true -- Change to 'false' for standard Bitmap
)
)
)
)
messageBox "Conversion Completed! Check MaxScript Listener for details." title:"Success"
)
moderator's edit: wrapped the script into code tag.