Esempio n. 1
0
        public static Texture2D CaptureModelForNormalMap(Model model, bool isGrayscale, GameObject shadowObj)
        {
            if (Camera.main == null)
            {
                return(Texture2D.whiteTexture);
            }

            model.BackupAllShaders();
            model.ChangeAllShaders(isGrayscale ? GrayscaleMapShader : NormalMapShader);

            if (shadowObj != null)
            {
                shadowObj.SetActive(false);
            }

            RenderTexture.active = Camera.main.targetTexture;

            Texture2D resultTexture = new Texture2D(Camera.main.targetTexture.width, Camera.main.targetTexture.height, TextureFormat.ARGB32, false);

            Color32 defaultColor = (isGrayscale ? EngineGlobal.CLEAR_COLOR32 : EngineGlobal.NORMALMAP_COLOR32);

            ExtractionHelper.ExtractOpqaue(ref resultTexture, defaultColor, true);

            RenderTexture.active = null;

            if (shadowObj != null)
            {
                shadowObj.SetActive(true);
            }

            model.RestoreAllShaders();

            return(resultTexture);
        }
Esempio n. 2
0
 public override void Extract(Camera camera, Model model, ref Texture2D resultTexture)
 {
     ExtractionHelper.ExtractOpqaue(ref resultTexture, EngineGlobal.CLEAR_COLOR32);
 }