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 7toni7 · Aug 12, 2014 at 09:39 AM · meshverticescoordinates

How to obtain the world space coordinates for each individual vertex on a Mesh?

Hi all,

I'd like to know how to obtain the world space coordinates for each individual vertex on a Mesh, which has been previously loaded and assigned to a Gameobject. My code is:

 public class ComputeAngles : MonoBehaviour {
     
 Mesh _malla;
 GameObject _67P_3Dobject;
 Material _67P_material;
 Vector3 _sunPosition = new Vector3(0.0f,0.0f,0.0f);
 Vector3 _67PPosition = new Vector3(0.0f,0.0f,0.0f);
 float scale = 10.0f;
 int j;
     
 void Start(){
 
     //Load mesh and material
     _malla  = Resources.Load("Meshes/tube",typeof(Mesh)) as Mesh;
     _67P_material = Resources.Load("Meshes/Materials/No Name",typeof(Material)) as Material;
         
     //A gameobject is created and the mesh is assigned to it     
     _67P_3Dobject = new GameObject("67P");
     _67P_3Dobject.AddComponent<MeshFilter>();
     _67P_3Dobject.AddComponent<MeshCollider>();
     _67P_3Dobject.GetComponent<MeshFilter>().mesh = _malla;
     _67P_3Dobject.AddComponent<MeshRenderer>();
     _67P_3Dobject.transform.position = _67PPosition;
     _67P_3Dobject.transform.localScale = new Vector3(scale,scale,scale);
     Renderer renderer = _67P_3Dobject.GetComponent<MeshRenderer>().renderer;
     renderer.material = _67P_material;
     
     //We print the number of vertices and facets of the mesh
     print("Number of vertices = "+_malla.vertexCount);
     print("Number of facets = "+_malla.triangles.Length/3);
             
         
     //We print the world coordinates of each vertex in the mesh    
     Mesh mesh_runtime = _67P_3Dobject.GetComponent<MeshFilter>().mesh;
     Vector3[] verteces = mesh_runtime.vertices;
             
     foreach (Vector3 vertex in verteces) {
     print(transform.TransformPoint(vertex));
     }
 }}

However, it seems like the coordinates of the vertices are wrong, since they do not correspond to the bounds of the mesh in the space.

Please, let me know, I'm completely mad about this issue. Kind regards

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 dsada · Aug 12, 2014 at 10:07 AM

The problem is that you are getting the vertices in local space not in world space. there is an easy projection from local to world by calling this function for every vertex:

 Transform tr = _67P_3Dobject.transform;
 
 for(int i = 0 i < verteces.Length; ++i)
 {
    verteces[i] = tr.TransformPoint(verteces[i]);
 }
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

Is there a way to get world coordinates from mesh vertices? 2 Answers

How can i get current state(position) of vertices of animated mesh(SkinnedMeshRenderer)? 4 Answers

Can't change verts on mesh after assigning to meshfilter. 1 Answer

Calculating mesh over GameObject scale 1 Answer

Get height of a Mesh by X and Z coordinates 1 Answer


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