Announcement

Collapse
No announcement yet.

override auto exclude all vraylight material

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • override auto exclude all vraylight material

    Hello, in archviz, it is a very time consuming to look for all material with vray light to exlude them from override. So having an auto exclude for such material will be a real time saver.

  • #2
    Ok, will look into it.

    Best regards,
    Vlado
    I only act like I know everything, Rogers.

    Comment


    • #3
      thanks Vlado.
      Please keep in mind that the vraylightmtl can be part of multi material!

      Comment


      • #4
        Yes, which makes things more complicated

        Best regards,
        Vlado
        I only act like I know everything, Rogers.

        Comment


        • #5
          Maybe this can be implemented in the wish I have to exclude by material instead of object?
          A.

          ---------------------
          www.digitaltwins.be

          Comment


          • #6
            Yes! good idea !
            Excluding materials by type would indeed be very clever, maybe using some wildcards as well. We could then envisage some "combos", for example excluding VRay Light material + materials with name containing *glass* ... just a thought
            Nicolas Caplat
            www.intangibles.fr

            Comment


            • #7
              Stay tuned.. I have something very cool to show with this very soon...
              Maxscript made easy....
              davewortley.wordpress.com
              Follow me here:
              facebook.com/MaxMadeEasy

              If you don't MaxScript, then have a look at my blog and learn how easy and powerful it can be.

              Comment


              • #8
                Originally posted by fraggle View Post
                thanks Vlado.
                Please keep in mind that the vraylightmtl can be part of multi material!
                For so many reasons I would never have a VraylightMtl in a multi-sub-material.

                A script to detach any IDs with VrayLightMtl shouldn't be too hard to write... (I'll have a go when I get a moment).
                Maxscript made easy....
                davewortley.wordpress.com
                Follow me here:
                facebook.com/MaxMadeEasy

                If you don't MaxScript, then have a look at my blog and learn how easy and powerful it can be.

                Comment


                • #9
                  For design it is the reverse.
                  You can always change you design when everything is part of one poly. If you detach it, then you have to start everything from scratch.

                  Originally posted by Dave_Wortley View Post
                  For so many reasons I would never have a VraylightMtl in a multi-sub-material.

                  A script to detach any IDs with VrayLightMtl shouldn't be too hard to write... (I'll have a go when I get a moment).

                  Comment


                  • #10
                    There is a procedural way to have them as another object using MCG that I'll look into for you.
                    Maxscript made easy....
                    davewortley.wordpress.com
                    Follow me here:
                    facebook.com/MaxMadeEasy

                    If you don't MaxScript, then have a look at my blog and learn how easy and powerful it can be.

                    Comment


                    • #11
                      The simplest way to do it procedurally is to detach the faces as a clone and then put a Volume Select Modifier on with it set to Material ID and choose the ID and then put a DeleteMesh modifier on top. That way you can go back in and change your model, but you'll need to re-detach the Polygons every time you adjust that.
                      Maxscript made easy....
                      davewortley.wordpress.com
                      Follow me here:
                      facebook.com/MaxMadeEasy

                      If you don't MaxScript, then have a look at my blog and learn how easy and powerful it can be.

                      Comment


                      • #12
                        Another option would be to have a script that created a Shell Material with your regular material inside it and then a copy of the material in the other slot which was set up for the overrides and then you just had a script which changed the render material from one to the other.
                        Maxscript made easy....
                        davewortley.wordpress.com
                        Follow me here:
                        facebook.com/MaxMadeEasy

                        If you don't MaxScript, then have a look at my blog and learn how easy and powerful it can be.

                        Comment


                        • #13
                          thanks Dave for all the solutions you have in mind.
                          I've never ever write a single line of maxscript! Maybe I will do better with the new graphic tool available in max 2016.

                          Comment


                          • #14
                            Ok I may have gone to town a little bit on this, but it was pretty simple, this script allows you to make a chalk setup but keeping all VrayLightMaterials and Refractive VrayMtls (so you can keep glass in your chalks too). It uses a shell material to store the original material so you can switch back and forth, you can remove the Shell Material at any point too.

                            It gets the Chalk setup from one of the material editor sample slots, use the Compact Material Editor if you don't know where to find these in Slate.


                            EDIT - GET THE LATEST VERSION FROM MY BLOG HERE:
                            https://davewortley.wordpress.com/20...-mat-switcher/
                            Last edited by Dave_Wortley; 04-06-2015, 01:45 PM. Reason: Bug fixed
                            Maxscript made easy....
                            davewortley.wordpress.com
                            Follow me here:
                            facebook.com/MaxMadeEasy

                            If you don't MaxScript, then have a look at my blog and learn how easy and powerful it can be.

                            Comment


                            • #15
                              whom,
                              first time I heart about "chalk" mtl!
                              I will try it asap I'm out of an urgent project. Anyway, it's always urgent nowadays.
                              Thanks a lot.

                              Originally posted by Dave_Wortley View Post
                              Ok I may have gone to town a little bit on this, but it was pretty simple, this script allows you to make a chalk setup but keeping all VrayLightMaterials and Refractive VrayMtls (so you can keep glass in your chalks too). It uses a shell material to store the original material so you can switch back and forth, you can remove the Shell Material at any point too.

                              It gets the Chalk setup from one of the material editor sample slots, use the Compact Material Editor if you don't know where to find these in Slate.

                              Code:
                              --Written by Dave Wortley
                              --http://davewortley.wordpress.com
                              --MaxScript Made Easy
                              --2015
                              --
                              --This Script Converts your materials on all your objects to be in a Shell Material which allows you to store a chalk setup, and switch from your normal render setup to chalk rendering excluding Vray Light Materials and any Vray material which is refractive.
                              try(destroyDialog RL_ChalkMatSwitcher)catch()
                              
                              rollout RL_ChalkMatSwitcher "Chalk Mat Switcher" width:200
                              (
                              	label lbl_a "Get Chalk Material from" align:#left
                              	
                              	checkbox chk_VrayLightMtl "VRayLightMtl" checked:true
                              	checkbox chk_RefractiveMaterials "Refractive VrayMtls" checked:true
                              	
                              	spinner spn_ID "Material Editor Slot:" type:#integer range:[1,24,1]
                              	button btn_createChalkSetup "Create Chalk Setup" width:170
                              	button btn_goChalk "Go Chalk" across:2 width:80
                              	button btn_goMaterial "Go Material" width:80
                              	button btn_removeChalkSetup "Remove Chalk Setup" width:170
                              	
                              	on btn_createChalkSetup pressed do
                              	(
                              		ChalkMat = meditmaterials[spn_ID.value]
                              		
                              		for o in objects do
                              		(
                              			if o.material != undefined and classof o.material != Shell_Material do
                              			(
                              				theMat = Shell_Material name:(o.material.name + "_Wrapper")
                              				theMat.originalMaterial = o.material
                              				
                              				tempMat = copy o.material
                              				
                              				if classof tempMat == multimaterial then
                              				(
                              					for i = 1 to tempMat.materiallist.count do
                              					(
                              						local submat = tempMat.materiallist[i]
                              						tempMat.materiallist[i] =  Case (classof submat) of
                              						(
                              							VrayLightMtl: (
                              								if chk_VraylightMtl.checked then
                              									submat
                              								else
                              									ChalkMat
                              							)
                              							VrayMtl: (
                              								if chk_RefractiveMaterials.checked then
                              								(
                              									if submat.refraction != (color 0 0 0) then
                              										submat
                              									else
                              										ChalkMat
                              								)
                              								else
                              									ChalkMat
                              							)
                              							Default: (
                              								ChalkMat
                              							)
                              						 
                              						)
                              					)
                              				)
                              				else
                              				(
                              					tempmat = chalkMat
                              				)
                              				
                              				themat.bakedMaterial = tempMat
                              				themat.viewportMtlIndex = 0
                              				themat.rendermtlIndex = 0
                              				
                              				
                              				o.material = theMat
                              				
                              			)
                              		)
                              	)
                              	
                              	on btn_goChalk pressed do
                              	(
                              		for o in getclassinstances Shell_material do 
                              		(
                              			o.viewportMtlIndex = 1
                              			o.renderMtlIndex = 1
                              		)
                              	)
                              	
                              	on btn_goMaterial pressed do
                              	(
                              		for o in getclassinstances Shell_material do 
                              		(
                              			o.viewportMtlIndex = 0
                              			o.renderMtlIndex = 0
                              		)
                              	)
                              	
                              	on btn_removeChalkSetup pressed do
                              	(
                              		for o in objects where o.material != undefined and classof o.material == Shell_Material do
                              		(
                              			o.material = o.material.originalMaterial
                              			
                              		)
                              	)
                              )
                              
                              CreateDialog RL_ChalkMatSwitcher

                              Comment

                              Working...
                              X