Okay so I have a script that generates planets and that all works fine but I want to essentially create a “heightmap” of the surface of the sphere based on the vertex distance from the center minus the planet’s radius (sea level). So I managed to get the latitude and longitude of every vertex but for whatever reason when I process these values in the xCord = … and yCord = … lines they always end up both equaling zero  no matter what, which I don’t understand. Essentially with those two lines all I am doing is converting the latitude and longitude coordinates into x and y pixel coordinates. Part of my code is available below.
EDIT: By the way 72 and 36 are the dimensions of the texture.
EDIT 2: So I tried changing all of the constants in the xCord = … and yCord = … lines and now they aren’t returning zero, so that was one of the problems and now I’m getting… something. The screenshot below shows the output. What I don’t get is why 0,0 is the position of the bottom, left pixel and 72,36 is not the top, right pixel as I thought this was the case.
EDIT 3: I think I resolved a bunch of problems with calculating latitude and longitude and everything seems to be working but I’m still getting undesirable results, without any color changing yet I should get a completely black map, a full map… help? Screens below.
void MakeMap () {
texture = new Texture2D(72, 36);
vertices = planetVars.vertices;
float xCord = 0;
float yCord = 0;
for(int i = 0; i < vertices.Length; i++){
Vector3 globalVertPos = planet.transform.TransformPoint(vertices*);*

Vector3 vectorA;*

vectorA = (globalVertPos  planet.transform.position);*

vectorA.y = 0;*

float lng = 0;*

Vector3 refRight= Vector3.Cross(Vector3.up, planet.transform.forward);*

float ang = Vector3.Angle (vectorA, planet.transform.forward);*

float sign = (Vector3.Dot(vectorA, refRight) > 0.0f) ? 1.0f: 1.0f;*
_ lng = sign * ang;_

//print(lng);*

float lat = 0;*

lat = Vector3.Angle (vectorA, (globalVertPos  planet.transform.position));*

if(globalVertPos.y < planet.transform.position.y){*
_ lat *= 1;_

}*

//print(lat);*
_ xCord = (lng + 180f) * (texture.width/360f);_
_ yCord = ((lat  90f) * (texture.height/180f));_

float dist = Vector3.Distance(globalVertPos, planet.transform.position);*

color = Color.Lerp (white, black, dist);*

texture.SetPixel ((int)xCord, (int)yCord, color);*

}*

texture.Apply();*

}*
EDIT 2:
[20724equirectangular+project+screenshot.png20724]*
EDIT 3:
[20755equirectangular+projection+screenshot+2.png20755]*