【Unity3d脚本】卡通渲染效果脚本-创新互联
@script ExecuteInEditMode
class EdgeDetectEffectNormals extends ImageEffectBase
{
var renderSceneShader : Shader;
private var renderTexture : RenderTexture;
private var shaderCamera : GameObject;
function OnDisable() {
super.OnDisable();
DestroyImmediate (shaderCamera);
if (renderTexture != null) {
RenderTexture.ReleaseTemporary (renderTexture);
renderTexture = null;
} //Unity3D教程手册:www.unitymanual.com
}
function OnPreRender()
{
if (!enabled || !gameObject.active)
return;
if (renderTexture != null) {
RenderTexture.ReleaseTemporary (renderTexture);
renderTexture = null;
}
renderTexture = RenderTexture.GetTemporary (camera.pixelWidth, camera.pixelHeight, 16);
if (!shaderCamera) {
shaderCamera = new GameObject("ShaderCamera", Camera);
shaderCamera.camera.enabled = false;
shaderCamera.hideFlags = HideFlags.HideAndDontSave;
}
//Unity3D脚本:www.unitymanual.com
var cam = shaderCamera.camera;
cam.CopyFrom (camera);
cam.backgroundColor = Color(1,1,1,1);
cam.clearFlags = CameraClearFlags.SolidColor;
cam.targetTexture = renderTexture;
cam.RenderWithShader (renderSceneShader, "RenderType");
}
function OnRenderImage (source : RenderTexture, destination : RenderTexture)
{
var mat = material;
mat.SetTexture("_NormalsTexture", renderTexture);
ImageEffects.BlitWithMaterial (mat, source, destination);
if (renderTexture != null) {
RenderTexture.ReleaseTemporary (renderTexture);
renderTexture = null;
}
}
}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前题目:【Unity3d脚本】卡通渲染效果脚本-创新互联
网页URL:http://www.jxjierui.cn/article/gpsjo.html


咨询
建站咨询
