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 /
  • Help Room /
avatar image
0
Question by kidmosey · Nov 13, 2015 at 07:07 AM · transformraycasthitmeshcolliderdynamic mesh

Mouse picking faces of a geosphere

First, a little about where I'm at:

  • I've generated an icosohedron, then converted into a geosphere mesh.
  • I need to change the colors for each cell dynamically, so I've added a list of materials and assign the face indices to submeshes based on which color each face should be.
  • I've attached a mesh collider, but need to use a cloned mesh with all indices assigned to the base mesh (the submeshes of the rendered object break the collider.)
  • My current picker works until I rotate the object, then the collider is no longer lined up:
  •      Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
         RaycastHit hit;
    
         if (Physics.Raycast(ray, out hit))
         {
             var idx = 0;
             PolygonIndices poly = dh.polygons.Where(
                 p => (idx += p.indices.Count) > hit.triangleIndex * 3
             )
             .FirstOrDefault();
    
             selectedCell.Polygon = poly;
         }
    
    

    This is the only object in the scene that will have a collider, so poor performance of mesh colliders is not really an issue.

    Does anybody have any ideas to allow rotating the object and having the mesh collider synchronize it's position? I've tried applying the object's transform to the collider, parenting the object to an empty node (rotating that node instead), and binding the collider to the rendered mesh (which is a disaster).

    I'm also open to other solutions, if anyone knows any tricks I can use.

    Comment
    Add comment · Show 1
    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 kidmosey · Nov 16, 2015 at 02:46 AM 0
    Share

    I did some refactoring and now the problem is non-existent. I would still like to know the cause of it, though.

    What I changed: - Removed the $$anonymous$$eshRenderer component from the object with the $$anonymous$$eshCollider - Added geometry as child objects - Added an orbit camera script, targetted to the object.

    Now, whenever I update the rotation of the object in the inspector, the $$anonymous$$eshCollider is also updating it's position. $$anonymous$$aybe this is related to the submeshes, or binding two meshes to the same object through different components.

    0 Replies

    · Add your reply
    • Sort: 

    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

    33 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 avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

    Related Questions

    Raycast not detecting hit with mesh 0 Answers

    Does Unity support raycasting to meshcolliders from FBX files ? 0 Answers

    Get Face/Triangle size in world space from RaycastHit 0 Answers

    Why this isn't working? 1 Answer

    How would I project a Gameobject onto the surface of another? 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