unity Frustum Culling con drawmesh es una muerte muy temprana
– UnityAssets3Free
bienvenido , por aqui juansito y para hoy os traigo
nueva pregunta
Estoy usando
Graphics.DrawMesh(mesh, _matrix, material, 0, cam);
y mi malla es muy alta, por lo que cuando muevo la cámara y cuando meto la malla dentro de la pantalla, no se muestra temprano. él sacrificó. pero cuando nuevo un Gameobject con MeshRenderer, no hay problema, se selecciona bien, no demasiado pronto. Entonces, ¿cuál es la diferencia aquí?
Y trato de establecer límites de malla como este:
mesh.bounds = new Bounds()
center = Vector3.zero,
extents = mesh.bounds.extents * 1000,
max = mesh.bounds.max * 1000,
min = mesh.bounds.min * 1000,
size = mesh.bounds.size * 1000
;
todavía no funciona.
También prueba este código: todavía no funciona…
void OnPreCull()
cam.cullingMatrix = Matrix4x4.Ortho(-99999, 99999, -99999, 99999, 0.001f, 99999) *
Matrix4x4.Translate(Vector3.forward * -99999 / 2f) *
cam.worldToCameraMatrix;
void OnDisable()
cam.ResetCullingMatrix();
1 respuesta 1
No debería tener que establecer manualmente los límites de una malla a menos que tenga un sombreador personalizado loco que mueva drásticamente algunos vértices.
Si está utilizando un Unity Shader, puede llamar mesh.RecalculateBounds();
y no tener problemas
nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias
eso es todo,espero que te funcione