var vertices = new List();
GameObject mol = new GameObject();
mol.name = "Mol";
mol.transform.localScale = new Vector3(1, 1, 1);
mol.transform.position = new Vector3(0, 0, 0);
Mesh mesh = new Mesh();
mesh.vertices = vertices.ToArray();
mol.AddComponent<MeshFilter>();
mol.GetComponent<MeshFilter>().sharedMesh = mesh;
mol.AddComponent<SphereCollider>();
SphereCollider coll = mol .GetComponent<SphereCollider>();
coll.radius = 0.5f;
mesh.RecalculateNormals();
mesh.RecalculateBounds();
for(int i = 0; i < vertices.Count(); i++)
{
GameObject ins = Instantiate(obj, vertices*, Quaternion.identity);*
ins.transform.SetParent(mol .transform);
}
I have a list of vertices which stored the coordinate(in Vector3) of each atom of the molecule and I have to generate a sphere to each vertices (in order to generate the molecule). I created an empty GameObject and set it as the parent of spheres that I Instantiated.
mol.transform.localScale = new Vector3(1, 1, 1);
I set the localScale of the GameObject and the number of scale also show on the inspector as i set. (i.e. I set the localScale as (0.5, 0.5, 0.5) and the inspector of mol show (0.5, 0.5, 0.5) ) but the problem is no matter localScale I set to the GameObject, The molecule size that show in the monitor is the same size.
Anyways, when I run the project, I set the scale on the inspector and the size GameObject that shows in the monitor is changed.
I tried many ways to set the scale but it didn’t work. What is going on with it? How can I set the localScale of GameObject?
Thanks!