Показать сообщение отдельно
Старый 24.06.2012, 22:39   #388
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Вопросы от новичка

Сообщение от WISHMASTER35 Посмотреть сообщение
Все бы хорошо, но z тест все равно не работает(: А у тебя работало?
Попробуй так (но для этого надо Pro):
using UnityEditor;
using UnityEngine;

public class 
ModelRendererWindow : EditorWindow
{

    [
MenuItem("Window/render")]
    public static 
void CreateWin()
    {
        var 
win = CreateInstance<ModelRendererWindow>();
        
win.autoRepaintOnSceneChange = true;
        
win.Show();
    }

    private 
Camera cam;
    private 
GameObject cube;
    private 
GameObject parentGO;

    
void OnEnable()
    {
        
parentGO = new GameObject("parent");
        
parentGO.hideFlags = HideFlags.HideAndDontSave;

        
cam = new GameObject("Cam", typeof(Light), typeof(Camera)).camera;
        
cam.light.cullingMask = cam.cullingMask;
        
cam.light.range = 10;

        
cam.gameObject.hideFlags = HideFlags.HideAndDontSave;
        
cam.enabled = false;
        
cam.transform.position = new Vector3(0, 0, -3);
        
cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
        
cube.hideFlags = HideFlags.HideAndDontSave;
        
cube.transform.rotation = Random.rotation;
        
cube.transform.parent = parentGO.transform;

        
cube = GameObject.CreatePrimitive(PrimitiveType.Cube);
        
cube.hideFlags = HideFlags.HideAndDontSave;
        
cube.transform.rotation = Random.rotation;
        
cube.transform.position = new Vector3(0,0,0.1f);
        
cube.transform.parent = parentGO.transform;

        
cube.transform.parent = parentGO.transform;
        
cam.transform.parent = parentGO.transform;
        
parentGO.transform.position = Vector3.one * 70000f;
    }

    
void OnDisable()
    {
        
DestroyImmediate(parentGO);
    }

    
void OnGUI()
    {
        if (
Event.current.type == EventType.Repaint)
        {
            var 
rt = RenderTexture.GetTemporary((int) position.width, (int) position.height, 24);
            
cam.targetTexture = rt;
            
RenderTexture.active = rt;
            
cam.clearFlags = CameraClearFlags.SolidColor;
            
cam.backgroundColor = new Color32(49,77,121,255);
            
cam.Render();
            
RenderTexture.active = null;
            
cam.targetTexture = null;
            
GUI.DrawTexture(new Rect(0, 0, position.width, position.height),rt);
            
RenderTexture.ReleaseTemporary(rt);
        }
    }

} 
__________________
Blitz3d to Unity Wiki
(Offline)
 
Ответить с цитированием