Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 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 behealed · Jul 05, 2011 at 05:24 AM · meshproceduralgeneration

Unity3D question about the Procedural Generation engine for creatures in Spore?

When you drag a limb to the body in Spore and it attaches to the body, not only does the bone rig obviously connect (which allows the limb to move with the body - which I think I mostly know how that works), but the SKIN of the mesh of the limb connects directly to the skin of the mesh on the body seamlessly.

I assume that the limb is a separate mesh from the body, so how do the two meshes become "one"? NOT the bones... that's another question. I'm asking about the skin (the faces, aka the wire-frame, the polygons) of the meshes, how they become one.

What is this called in the 3D modeling world, where the skin of two different meshes connect together when they are brought close to each other? Is there any information online that describes how this might be done in Unity3D?

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

1 Reply

· Add your reply
  • Sort: 
avatar image
1

Answer by testure · Jul 05, 2011 at 05:38 AM

there are plenty of ways to do it, and none of them are 'magic' per se- take a look at marching cubes, voxel based geometry, or even something as simple as booleans. None of them are fast, but all of them are well within a modern PC's capabilities. Spore used a very specialized engine designed for this purpose, i'm willing to bet you wouldn't be able to get this kind of quality/results with Unity3D without some VERY serious optimization work.

On that note, I saw this on the asset store the other day- it's somewhat related to what you're talking about, and it uses voxels:

http://forum.unity3d.com/threads/94224-Introducing-Voxelform-voxel-terrain-%28Marching-Cubes%29-with-real-time-deformation.

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 behealed · Jul 05, 2011 at 05:57 AM 0
Share

Thanks for the answer. $$anonymous$$arching Cubes looks very excessive. Surely someone has already done this in a more simple way? be aware that I'm not trying to make the whole meshes from scratch. I just want them to seamlessly connect when they touch each other. The only part of the meshes that should be recalculated should be the parts that touch.

avatar image testure · Jul 05, 2011 at 06:15 AM 0
Share

then what you're looking for is called a boolean. the original red faction did their world-destruction technique with booleans.

here are some discussions on the topic:

http://forum.unity3d.com/threads/16407-boolean-operations-on-meshes

http://forum.unity3d.com/threads/85713-Boolean-Subtraction-Operations-on-$$anonymous$$esh

avatar image testure · Jul 05, 2011 at 06:17 AM 0
Share

now- keep in $$anonymous$$d that if you're planning on doing this with a skinned mesh, get ready for a whole world of hurt. $$anonymous$$axis spent years developing spore's procedural skeleton/meshing system. It's relatively straightforward to do it to a static mesh, but once you add animation/rigging to the mix, you're asking for trouble.

avatar image Waz · Jul 05, 2011 at 06:54 AM 0
Share

Sure, it would be hard, but considering how quite basic the Spore creatures are, it's not all that $$anonymous$$d-bending. Will Wright certainly talked it up prior to release, but it's hardly as awesome as hyped (nor was the rest of the game, though my kids still seem to love it).

Blender's metaballs are all just polygonal when rendered.

avatar image behealed · Jul 05, 2011 at 08:40 AM 0
Share

Yes I'm going to be doing it to skinned meshes that animate and are rigged. However, I want to disagree that it is necessarily going to be that difficult. Because the animations are applied AFTER the merge calculations, and thus, the merge itself shouldn't interfere with the animations, nor should the animations interfere with the merge. Remember that every mesh is a static mesh prior to each frame of an animation being calculated, and that's when the merge processing would be done. So it would be a static mesh, merge calculation, then animated frame 1, and displayed to user. Then static mesh again, new merge calculation, and then animated to frame 2, and displayed to user, etc. I do not, however, really want to see boolean operations on meshes, because that just reduces polygon count and simplifies meshes. I want to merge two meshes. That may use some boolean operations, but I'd rather hear a more specific guide to merging meshes rather than just simplifying them.

Show more comments

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

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

generate procedural floating island 1 Answer

Why Unity freezes while creating Meshes procedurally? 1 Answer

Generated mesh loses lighting at certain angles 2 Answers

Procedural Cylinder Generation 2 Answers

Procedurally generated mesh JS - explain the error please 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