pax, а ты пользовался Graphics.DrawMeshNow или Graphics.DrawMesh?
Не представляю зачем они в игре могут понадобится.
Я через Graphics.DrawMeshNow хочу рисовать модель в EditorWindow.
Уже почти все работает, но столкнулся с кучей проблем.
1) Нужно задавать RenderSettings.ambientLight, а после закрытия окна возвращать старой значение. Причем в событии Repaint это почему-то не срабатывает)
2) Загружать перспективную матрицу проекции, хотя это не проблема.
3) Почему-то надо изменять GL.SetRevertBackfacing на true. Ибо кулинг в OnGUI не так работает.
4) Без Transform нормально нельзя вращать модель(
5) Не работает тест глубины. И как ее включить я пока не пойму(
Вообщем код пока выглядит так
void OnGUI() {
if(Event.current.type == EventType.Repaint) {
GL.PushMatrix();
float aspect = position.width/position.height;
Matrix4x4 projMatrix = Matrix4x4.Perspective(65, aspect, 0, 100);
GL.LoadProjectionMatrix(projMatrix);
GL.SetRevertBackfacing(true);
OnRender();
GL.SetRevertBackfacing(false);
GL.PopMatrix();
}
}
private void OnRender() {
material.SetPass(0);
Graphics.DrawMeshNow(mesh, meshPosition, Quaternion.Euler(meshRotation));
}