Announcement

Collapse
No announcement yet.

How do you apply multiple materials on one mesh?

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

    How do you apply multiple materials on one mesh?

    I creating this building in Maya, and it is all one mesh. The problem is I want certain parts of the building a different colour, is there a way of doing this?

    Or can I only have one material per mesh?


    #2
    Originally posted by richwderby View Post
    I creating this building in Maya, and it is all one mesh. The problem is I want certain parts of the building a different colour, is there a way of doing this?

    Or can I only have one material per mesh?

    Split your model up into pieces (one piece per material), apply your materials to the pieces and then re-attach them. UDK will detect multiple materials and allow you to set them in the LODInfo section of your mesh in the static mesh viewer.

    Comment


      #3
      Is this the only way? because I read somewhere you can highlight the faces in udk somehow and simply apply the materials

      Comment


        #4
        just managed to do it, you go in the static mesh editor and click on LOD info and you can apply them in there

        Comment


          #5
          Originally posted by richwderby View Post
          Is this the only way? because I read somewhere you can highlight the faces in udk somehow and simply apply the materials
          Well it's the way I did it in max, but I'm sure you can just select polygons and apply the material to the selection and it'll do the same thing.

          Comment


            #6
            Originally posted by richwderby View Post
            Is this the only way? because I read somewhere you can highlight the faces in udk somehow and simply apply the materials
            It's not the only way, but it's the recommended way. Otherwise your mesh will be redrawn for each material applied on it = bad performance.

            Comment


              #7
              Originally posted by Mougli View Post
              It's not the only way, but it's the recommended way. Otherwise your mesh will be redrawn for each material applied on it = bad performance.
              Any way that involves using multiple texture files on a single model will cause it to be redrawn for each one.

              Comment


                #8
                Err yeah, I meant that breaking down the mesh in several parts is the recommended way.

                Comment


                  #9
                  Originally posted by Mougli View Post
                  Err yeah, I meant that breaking down the mesh in several parts is the recommended way.
                  Not really, having multiple draw calls per model is better than having a mesh per texture. You should always try and keep to one texture anyway, less memory usage is better.

                  Comment


                    #10
                    Originally posted by Legend286 View Post
                    Any way that involves using multiple texture files on a single model will cause it to be redrawn for each one.
                    Splitting it is basically the same, but you have an increased hassle of placing them, besides some epic assets have 13 different channels.
                    Actually it might be even less performant to have multiple meshes each with one texture than everything in one mesh with multiple materials due to the fact that there is still the initial loading time and rendering for the assets and if i recall correctly, everything below 1000 triangles has the exact same cost as loading a 1000 triangle object. I'd personally go with the multiple material setup for easiness.

                    If you want to do that, just throw a multi sub material on the model in 3dsmax (don't know any other modellign program atm, so sorry), give every channel atleast a bitmap (otherwise it might not export the channel for some reason, atleast in my case) and throw that on your model and export to ASE.

                    When importing to UDK you'll have multiple material/uv channels.

                    Comment


                      #11
                      To answer your question Rich, what you need to do is make sure that each part of the mesh that uses a different material has its own Material ID inside Max. Then when you import the model into UDK, double click on the mesh and expand LOD Info - 0 - Elements.

                      This will give you a list of all the different Material IDs that you created in Max but in UDK they are all off by 1 digit because UDK starts at 0 but Max starts at 1. IE Material ID 3 in Max will be 2 in UDK etc.

                      Expand the Material ID you want to start with (0) and you will see a Material Field. Leaving the Static Mesh editor open, go to the Content browser and select your created material then switch back to the SMEditor and hit the Green arrow pointing left and it will apply the selected material in the browser to the selected Material ID in the SMEditor.
                      Do this for each of your material IDs and you're ready to go.

                      Comment


                        #12
                        Create a new Lambert (or whatever) Material in Hypershade. Name your first Lambert "Skin1" and 2nd "Skin2" for clarity.
                        Then you select which faces you wish to put onto "Skin2" and in Hypershade, Right-click and choose "Apply to selected faces" (I think.. something along those lines)
                        Once within the Static Mesh browser, you can apply different materials to each slot.

                        Comment


                          #13
                          Wait, so you don't necessarily need to to make UV maps when creating/static meshes into UDK? Or should i say, construct one in Photoshop? One could just assign a material to different ID shaders? Hmm..im missing something here...

                          Comment


                            #14
                            Originally posted by Hanstania View Post
                            Wait, so you don't necessarily need to to make UV maps when creating/static meshes into UDK? Or should i say, construct one in Photoshop? One could just assign a material to different ID shaders? Hmm..im missing something here...
                            You can do it either way. Doing it in UV would be proper way but more time consuming. Assign multiple materials to one mesh would be quicker to do and I haven't noticed any performance loss as long as I keep it under 4~5 materials. Downside I believe is that this method doesn't work with mobile.

                            Comment

                            Working...
                            X