Camera에 ImageEffect 스크립트 첨부
4151 단어 ImageEffectunity5
이 문장의 목적
PostEffect
렌더링된 이미지의 효과를 PostEffect라고 합니다.
(Unity에서는 ImageEffect라고 합니다.
아래 그림처럼 PostEffect를 통해 게임 화면에 묘사된 그림을 모자이크할 수 있습니다.
Before:
After:
스크립트에 표시된 이미지 수신
MyImageEffect.csusing UnityEngine;
[RequireComponent(typeof(Camera)) ExecuteInEditMode]
public class GrayScaleEffect : MonoBehaviour {
private Material material;
void Awake()
{
material = new Material (Shader.Find ("Custom/redScale"));
}
void OnRenderImage(RenderTexture source, RenderTexture destination)
{
Graphics.Blit (source, destination, material);
}
}
redScale.shrderShader "Custom/redScale"
{
SubShader
{
// No culling or depth
Cull Off ZWrite Off ZTest Always
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
fixed4 _Color;
float4 vert(float4 v:POSITION) : SV_POSITION {
return mul (UNITY_MATRIX_MVP, v);
}
fixed4 frag () : COLOR
{
return fixed4(1, 0, 0, 1);
}
ENDCG
}
}
}
Camera 구성 요소의 GameObject 스크립트에서
void OnRenderImage(RenderTexture source, RenderTexture destination)
를 입력하면 각 프레임 카메라가 그리는 렌더링 및 그리기 대상이 매개 변수로 전달됩니다.
Graphics.Blit을 사용하여 카메라에 그려진 소스에 Shader(material)를 사용하여 렌더링하고 결과를 destination에 기록하여 ImageEffect 효과를 화면에 표시합니다.
각본을 카메라에 부착하다
Shader 및 스크립트를 작성합니다.
이렇게 하면 아래 화면이 빨간색이라는 것을 알 수 있을 것 같다.
Before:
After:
이후 Shader 컨텐트를 덮어쓰면서 다양한 ImageEffect를 시도할 수 있습니다.
Reference
이 문제에 관하여(Camera에 ImageEffect 스크립트 첨부), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ShibainuBot/items/bfdeb01ef765a684b277
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
MyImageEffect.cs
using UnityEngine;
[RequireComponent(typeof(Camera)) ExecuteInEditMode]
public class GrayScaleEffect : MonoBehaviour {
private Material material;
void Awake()
{
material = new Material (Shader.Find ("Custom/redScale"));
}
void OnRenderImage(RenderTexture source, RenderTexture destination)
{
Graphics.Blit (source, destination, material);
}
}
redScale.shrderShader "Custom/redScale"
{
SubShader
{
// No culling or depth
Cull Off ZWrite Off ZTest Always
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
fixed4 _Color;
float4 vert(float4 v:POSITION) : SV_POSITION {
return mul (UNITY_MATRIX_MVP, v);
}
fixed4 frag () : COLOR
{
return fixed4(1, 0, 0, 1);
}
ENDCG
}
}
}
Camera 구성 요소의 GameObject 스크립트에서void OnRenderImage(RenderTexture source, RenderTexture destination)
를 입력하면 각 프레임 카메라가 그리는 렌더링 및 그리기 대상이 매개 변수로 전달됩니다.
Graphics.Blit을 사용하여 카메라에 그려진 소스에 Shader(material)를 사용하여 렌더링하고 결과를 destination에 기록하여 ImageEffect 효과를 화면에 표시합니다.
각본을 카메라에 부착하다
Shader 및 스크립트를 작성합니다.
이렇게 하면 아래 화면이 빨간색이라는 것을 알 수 있을 것 같다.
Before:
After:
이후 Shader 컨텐트를 덮어쓰면서 다양한 ImageEffect를 시도할 수 있습니다.
Reference
이 문제에 관하여(Camera에 ImageEffect 스크립트 첨부), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ShibainuBot/items/bfdeb01ef765a684b277
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Camera에 ImageEffect 스크립트 첨부), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ShibainuBot/items/bfdeb01ef765a684b277텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)