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
0
Question by StuartHarrison · Nov 23, 2011 at 05:10 PM · instancecompareinstancesphysicmaterial

Comparing PhysicMaterials at Runtime

I'm trying to get a footfall effect during animation. I would like the footfall sound effect to be based on the material that has just been stepped on. My initial thought was to use PhysicMaterials. By adding different PhysicMaterial to the Mesh Colliders (level geometry), I was thinking I could get different effects.

I can raycast at the point the foot hits the floor and get back a RaycastHit, which has information about the collider and within the collider is the (Physic) material.

In order to translate the PhysicMaterial to a sound effect I have a table which maps the PhysicMaterial with a sound effect.

Then all I have to do is extract the collision PhysicMaterial, look it up in the table and play the associated sound effect. Or at least, that's the theory.

The problem is that the table stores a different PhysicMaterial (different InstanceID, different name : e.g. "Gravel") to the Mesh Collider's PhysicMaterial (named "Gravel (Instance)". Needless to say, both properties are populated from the same asset.

Is there any cast-iron way to compare PhysicMaterials at runtime to divine whether they came from the same source asset? Is there a class ID or GUID associated with them that would be the same in both instances? Is there any other way of comparing that might get me where I want to be without resorting to:

if ( hitInfo.collider.material.name == lookupTable.material.name + " (Instance)" )

Thanks!

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

3 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by StuartHarrison · Nov 29, 2011 at 11:22 PM

I guess the answer is "no" :)

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 marjan · Feb 11, 2013 at 12:44 PM

You can use sharedMaterial. That way you avoid the instance confusion.

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 shough · Apr 04, 2018 at 12:44 AM

Your hacky solution is working fine for me. It's much better than tagging!

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

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

It looks like another Unity instance is running with this project open. Multiple Unity instances cannot open the same project. 2 Answers

What is the best way to set up an inventory system? 1 Answer

Animation plays for all instances of object 1 Answer

Compare if object is assigned specific Material 1 Answer

Reference a static variable from an instance 2 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