Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
1
Question by Thom Denick · Jul 27, 2010 at 11:22 PM · materialimportmodelfbx3dsmax

3DS Max & Unity - The best way to import a Multi/Sub-Object Material?

Hello - I'll preface this that I'm very new to 3DS Max and working in 3D in general. Materials, UV Maps, meshes, all relatively new concepts to me. One thing that I've been really trying to puzzle through is how to combine several textures once they are mapped on the right part of the model.

Here's my current 3DS Max to Unity workflow:

  1. Create simple non-animated model, create materials for each piece of the model, map each material to the model using UVW Maps.
  2. Convert Model to Mesh
  3. Attach all pieces of Model to one object, combine materials in the process.
  4. Export model via FBX

Once the model is in Unity, it looks fine, sometimes I might have to reapply a material, but in general, it's pretty good. Each part of my Multi/Sub-Object material show up as separate materials in Unity.

I'm working in the iPhone version of Unity, and the documentation explicitly states my models should only have one material if possible to help performance; I'm just not sure how to get the various materials on my model into one material in my workflow. Do I have to create one UV Map for my entire model? Is there an easy way to merge all the materials in a Multi/Sub-Object Material?

Any help from more experienced 3DS Max/Unity users would be fantastic.

In case this clarifies the issue for anyone. Below is a screenshot of my model in Unity. The 7 textures on this model are generating 15+ draw calls. If anyone could point me in a direction on how to reduce this one material that would be enormously helpful. alt text

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

7 Replies

· Add your reply
  • Sort: 
avatar image
6
Best Answer

Answer by alexnode · Jul 31, 2010 at 12:11 PM

You should learn to use a few things. Yes you are right starting with multisubobject sometimes it is easier to create interesting surfaces with multiple materials using tiling etc .

(If your model is simple like a house with four walls and a roof you could directly work on an unwrapped surface with unwrap uvw modifier and photoshop but if it is more complicated you should work with a texture paint tool or multisub- object as you did, )

BUT BUT now that you have a multisub-object You have to apply an 'unwrap UVW modifier' create a 2nd texture channel on top of your 'uv maped' multisuboject mesh. This should include all you models UVs in one square (one image).

The way you unwrap should be propotional for all surfaces but keep in mind that some places of your model could be more interesting and some others might be perfect to just assign them in one pixel. Nevertheless it will require some time to perfect that technique.

Then you have to bake the textures in one. Go to 'render to texture' and select your newly created 2nd mapping channel and then add a Complete map (or a Diffuse map and lighting map etc if you want to compose them in photoshop.)

After that you have your texture that includes everything and you have to make it the only material assigned to your mesh. Create a new material and add your new texture to diffuse or self illumination and make your unwrap modifier to point to the 1st mapping channel.

Right click your model and collapse the stack (before you do that you might want to make a backup of your unbaked model so you can further modify it if you don't like the final result... always save an unbaked file for further editing). Assign your material to your mesh and go to the channel info tool. Delete every other channel except the channel 1. And you are ready.

For further enhancing your work look at how to create atlas maps and how to use the external lightmapping tool too. (And possibly if you can afford it use digital sculpting with Zbrush or mudbox ) a handy plugin for photoshop called xnormals is very useful for dilating textures.

It is a bit complicated but in all 3d applications is a bit of a tricky task.

Good luck.

Comment
Add comment · Show 4 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Thom Denick · Jul 31, 2010 at 04:52 PM 0
Share

Thanks, this is the info I needed!

avatar image Thom Denick · Jul 31, 2010 at 04:54 PM 0
Share

http://www.youtube.com/watch?v=vTC83q7wsCY

That video does a great job of walking through the baking Render to Texture process in 3DS $$anonymous$$ax.

avatar image Thom Denick · Aug 07, 2010 at 02:13 PM 0
Share

After going through that video, there's still a lot more that needs to be explicitly tutorialized for this process. Particularly for brand newbie modellers like myself. I'll come back and post after I further familiarize myself with this process.

avatar image aroha · Jan 05, 2013 at 05:19 AM 0
Share

I have written a detailed tutorial on my blog aimed at newbies with $$anonymous$$'s steps above and Thom's below. Thanks for your helpful answers guys!

http://pilcrowpipe.blogspot.com/2013/01/importing-3ds-max-models-into-unity-3d.html

avatar image
2

Answer by Thom Denick · Oct 08, 2010 at 04:56 AM

Since this question is very popular, here's a step-by-step method of baking your textures in 3DS Max and then correctly importing into Unity 3D.

  1. Create your model and texture it in 3D Studio. Your model should be fully textured. If you want to bake in lighting, lit before you start the rest of these steps.
  2. Go to "Rendering -> Render Texture" in 3DS Max (or hit 0.)
  3. Make sure the item is selected in 3DS Max, it should appear under the "Objects to Bake List."
  4. Under "Output" pick where you want to export your file. Make sure "Rendered Frame Window" is checked so you can see what your texture looks like when it is created.
  5. Now scroll down to "Output" You need to click the "Add" button at the bottom of the list. If you know a lot about 3D, pick the texture type you want to create. If you know nothing about 3D like me, and just want flat colors, pick the "Diffuse" option. This should add the map to the output list above.
  6. Click on the "..." after "File Name and Type" Use maximum quality PNG as your save format.
  7. Select Black for your Element Background, and pick a texture size that you think is high enough. If you are creating an iPhone game, do not make a texture bigger than 1024x1024. For my run-of-the-mill objects I use 256x256 which is fine unless the player gets very close to the object.
  8. If you want Lighting or Shadows on your texture, check those off. I leave that up to Unity since most of my 3D objects are not static, so I don't check those.
  9. The rest of the settings I leave as-is. Click the "Render" button in the bottom left of the box. If all went well, you should now see a flat texture of your model pop up on the screen.
  10. Now close the render to texture screen and open your Materials Window (M). Select an empty material and click the gray button next to Diffuse. Select "Bitmap" and then find the baked texture. You should now see your baked texture on the material. Now back to your model...
  11. There will be a new Modifier on your model. It's called Automatic Flatten UVs. Change the Map Channel on this to 1. Then collapse this to your mesh. You can make sure the map is correct by unwrapping the UVW Map with the Unwrap UVW Map modifier. The map should comply to the baked texture.
  12. Now drag your imported texture to your Model's Map Channel 1. Do a test render, and the model should now appear correctly with texture.
  13. Export this model as FBX, and import it into Unity. Everything should now be in place!
Comment
Add comment · Show 2 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image pripoy · Apr 11, 2012 at 07:58 PM 0
Share

Hello, I followed your guide, but I get this error: material export failed

how do I fix it?

avatar image woody3d · Jul 27, 2014 at 05:49 PM 0
Share

Hello, I followed step by step and it made a terrible black mess on my model, I did have the CROP feature on my original textures, could that make a difference?

avatar image
2

Answer by lasco45 · Oct 13, 2010 at 06:55 PM

Also, if you can afford the $380. 3d-io makes a great plugin called Flatiron that streamlines this whole process. You can bake an entire scene into 1 UV texture...nice. (i am not affiliated with them, I just like the plugin)

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image
0

Answer by Rui 1 · Feb 24, 2011 at 04:09 PM

What do you mean by "Attach all pieces of Model to one object"? Can you please be more specific?

Comment
Add comment · Show 6 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Thom Denick · Feb 24, 2011 at 09:24 PM 0
Share

This is only necessary if you want a simple one-piece object that doesn't animate. Otherwise, you can skip that.

avatar image Rui 1 · Mar 02, 2011 at 05:09 PM 0
Share

You mean Attach my object into a new object by using Attach function in Edit $$anonymous$$esh?

avatar image Thom Denick · Mar 03, 2011 at 05:42 PM 0
Share

I was referring to in 3D Studio actually combining all of the objects so that they are one object before you export. This is really an optional step, but for my simple models was something I was doing.

avatar image Rui 1 · Mar 04, 2011 at 03:01 PM 0
Share

Thanks Smorpheus, for replying that. By the way great step by step tutorial above. What is twisting my brain apart is that indeed I have the building in 3d $$anonymous$$ax as a single mesh (however it was build from separate combined parts, and then converted into mesh). It renders beautiful. However, when the Fbx is imported into Unity it brings attached a huge number of transform (objects and meshes) under the hierarquy of the prefab. Also I cannot delete those. Do you have any clue of what might be happening? Really appreciate your help.

avatar image Thom Denick · Apr 06, 2011 at 05:52 PM 0
Share

No idea Rui, I would definitely ask this question here on UnityAnswers if you haven't already. It might help if you show before and after screenshots.

Show more comments
avatar image
0

Answer by Monkey_of_Doom · May 18, 2012 at 01:01 PM

Just out of curiosity, but wouldn't this approach give you a large number of textures? Say I am working with, in the end, hundreds of individual components that all have several moving parts on them, like switches and knobs. The switches are pretty universal throughout the large list of components, so I make a texture that all these switches share. I make texture maps for the individual components, incorporating several of them onto one texture, so that maybe 4+ objects share a single texture/material. In the end, I would have only maybe 30-50 textures, but baking them all would leave me with well over a hundred.

This is very useful information, but I'm just curious if it's more of a case by case basis to use this work flow. Or am I overlooking something? Not trying to step on any toes, I am genuinely curious and am constantly looking to learn better ways to improve my work flow.

Comment
Add comment · Show 1 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Thom Denick · Oct 29, 2012 at 07:53 PM 0
Share

There are solutions where creating multi-object atlases make sense. If you have a complex environment as you are suggesting, then yes, that's what you want to do. In this case, it was merely a question of getting an object that had a dozen textures down to one texture. When I posted this question 2 years ago, I had no idea what I was doing in a 3D program, so I just needed help on the baking process. Now that I better understand it, it's a case-by-case basis. If your object has a lot of detail that needs to be seen up close, a single texture is better. Environments should be baked into one large texture.

  • 1
  • 2
  • ›

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

7 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Importing original models from Skyrim into Unity 2 Answers

import scene from 3DS max to unity 1 Answer

How to fix imported materials 1 Answer

3dsmax Model falls through floor/cube/terrain 4 Answers

Working in 3DS MAX While keeping Unity open. Problem with objects going Invisable 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges