Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 11 Next capture
2021 2022 2023
1 capture
11 Jun 22 - 11 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
0
Question by RealMTG · Jul 27, 2015 at 04:17 PM · materialcombinemeshes

Combine meshes with different materials

Hi

Firstly, I know this question has been asked several times but I can not find anything that works. Most of the time they say use submeshes so I did (I think) and nothing happened. So that's why I ask this now. Now for the problem itself.

So I have a few cubes made out of quads and they each have different materials. I would then later want to combine all those quads to a single mesh. I got the combining part working good but the materials do not work. As I said before, most of the answers said you should do "CombineMeshes(combine(CombineInstance), true);" but this doesn't work. So how can I combine my meshes and keep the materials in the right place?

And for the code I am using, just go over to http://docs.unity3d.com/ScriptReference/Mesh.CombineMeshes.html It is the exact same code.

Thanks in advance!

Comment
Add comment · Show 4
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 Cherno · Jul 27, 2015 at 05:12 PM 0
Share

It will work if both meshes are assigned to different submeshes. I admit that submeshes are a difficult topic, but with some trial and error you will be able to do it. If you post the code you used for using submeshes, maybe people can help you.

avatar image RealMTG · Jul 27, 2015 at 05:20 PM 0
Share

@Cherno I'm sorry for this noob question but how can I know if they are assigned to different submeshes? I have not had any experience with submeshes or anything like this before.

avatar image Cherno · Jul 27, 2015 at 05:30 PM 0
Share

Wait... You wrote that you used submeshes and nothing happened. What exactly did you do?

avatar image RealMTG · Jul 27, 2015 at 05:40 PM 0
Share

@Cherno Well according to most of the answers you would set a boolean in the Combine$$anonymous$$eshes function to true. (mergeSub$$anonymous$$eshes) At least that is how I understood them and that's what I did.

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by Brain-_-Fail · May 22, 2020 at 06:04 AM

Well it's not directly possible to combine meshes (into one) that use different materials. You can make submeshes but they would again cause you a lot of DrawCalls and SetPass calls. The reason is obvious each mesh has its own UV channels or Texture coordinates that are tailored to match a specific material having a specific texture applied on it. You can't use a material designed to be used on a gun to be used on the face of a soldier and vice versa. You might have heard of Texture Atlasing or Texture Arrays they are the only solution to this problem but they are not simple to achieve.


You can check out my tool on the unity asset store "Poly Few" which is a complete optimization solution for Unity aimed at making high quality complex 3d scenes render efficiently. With integrated features like mesh simplification, automatic LOD generation, mesh combining and material combining, you can greatly improve the performance of your game by lowering the Polygon Count, DrawCalls and SetPass calls with a few clicks and, without the need of writing even a single line of code.

https://assetstore.unity.com/packages/tools/utilities/poly-few-mesh-simplifier-and-auto-lod-generator-160139

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

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

24 People are following this question.

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

Related Questions

Attaching scripts to meshes with multiple materials 2 Answers

Material doesn't have a color property '_Color' 4 Answers

Changing two different objects renderer colour 1 Answer

How to know which material is used by a submesh in script ? 0 Answers

Scale Material after Combining Mesh Issue 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