Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

211
Views
¿Por qué Vector3 no actualiza Unity3d?

He estado perdiendo mi cordura en esto por un tiempo ahora. Simplemente ignore la parte que está comentada (no es el problema). Estoy tratando de hacer un barrido de longitud de 360 grados y de longitud de 180 grados y luego raycast. Pero aparentemente el vector de dirección (Dir en este caso) está atascado en (0, 0, -1). Revisé los valores xy y z y están funcionando bien. No tengo idea ahora de lo que está mal. Por favor responde antes de que me mate. suspiro

 { Vector3 Dir = new Vector3(0.0f, 0.0f, 0.0f); Output = new Texture2D(2160, 1080); for (int i = 0; i < 1080; i++) { float theta = (Mathf.Deg2Rad * i * 1.0f) / 6.0f; for (int j = 0; j < 2160; j++) { float phi = (Mathf.Deg2Rad * j) / 6.0f; float x = Mathf.Sin(theta) * Mathf.Cos(phi); float y = Mathf.Sin(theta) * Mathf.Sin(phi); float z = Mathf.Cos(theta); Dir = new Vector3(x, y, z); Debug.Log(x + " " + y + " " + z); /* RaycastHit raycastHit; if (Physics.Raycast(transform.position, Dir, out raycastHit)) { Renderer rend = raycastHit.transform.GetComponent<MeshRenderer>(); Texture2D tex = rend.material.mainTexture as Texture2D; Vector2 pCoord = raycastHit.textureCoord; pCoord.x *= tex.width; pCoord.y *= tex.height; Color color = tex.GetPixel((int)(pCoord.x * rend.material.mainTextureScale.x), (int)(pCoord.y * rend.material.mainTextureScale.y)); Output.SetPixel(j, i, color); Debug.Log("Ray hit an object! @ theta " + i.ToString() + " phi " + j.ToString() + " Color: " + color.ToString() + "Hit Coordinate x: " + pCoord.x + " y: " + pCoord.y); } */ } } //System.IO.File.WriteAllBytes("D:\\FYProject\\WebcamSnaps\\" + naming + ".png", Output.EncodeToPNG()); }
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

En uno de sus comentarios, dijo: "No obtengo nada más que (0,0,-1) en cualquier iteración".

Su código tiene un bucle externo con un factor de iteración de 1080. Su bucle interno tiene un factor de iteración de 2160. En total, sus bucles combinados producen 2 332 800 valores de salida. No creo que haya verificado la salida de más de dos millones de declaraciones de depuración. Creo que comprobó las últimas docenas de valores, vio el mismo resultado una y otra vez y supuso que el patrón continuaba en toda la cadena. Ese fue tu primer error.

Su segundo error fue perder varias horas asumiendo que una función de formato era un error.

Vector3.ToString() redondea su salida a un dígito después del decimal. Si imprime los componentes individualmente, mostrarán lo que esperaría.

Tienes mis simpatías.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!