본문 바로가기
반응형

shader6

유니티 쉐이더 - 평면의 양면 렌더링 (Double Sided Rendering) Unity 전체 링크 참고 - 절차적 메시의 양면 렌더링 Plane(평면)은 아래와 같이 한 쪽 side만 렌더링된다. 두 면을 렌더링하게 하기 위해서는 쉐이더를 직접 만들어서 cull off를 설정해야 한다. 먼저 새로운 Material을 추가한다. 그리고 Standard Surface Shader도 추가한다. 이름은 원하는대로 변경하면 된다. 여기서는 DoubleSided라고 지정하였다. 이제 쉐이더를 열어서 아래의 코드에 cull off를 추가하자. 쉐이더를 DoubleSided Material에 추가한 후, Material을 평면에 추가하면 양면이 렌더링 되는 것을 알 수 있다. 당연히 두 면을 렌더링하기 때문에 가장 부하를 많이 유발한다. cull 옵션은 아래와 같다. cull back 앞면만 .. 2022. 6. 21.
유니티 쉐이더 - 카메라가 바라보는 방향으로 밝아지는 큐브 Unity 전체 링크 두 개의 블럭이 있다. 블럭 하나는 조명에 대해 밝기가 일정하지만, 다른 하나는 바라보는 방향에 따라 밝기가 변하고 있다. 쉐이더를 이용해 카메라가 바라보는 방향이 밝아지는 큐브를 만들어보자. 먼저 큐브하나에는 빨간색 Material을 추가하자. RGB는 (255, 100, 100)이다. 이제 두 번째 블럭에 입힐 쉐이더를 만들자. Standard Surface Shader를 추가한다. BlockLight.shader는 아래와 같다. Shader "MyShader/BlockLight" { Properties { _BlockColor("blockColor", Color) = (.0, .0, .0, 1) } SubShader { Tags { "RenderType"="Opaque" } C.. 2022. 6. 14.
유니티 쉐이더 - 카메라 흑백 효과로 게임 오버 이펙트 만들기 (Camera Game Over Effect) Unity 전체 링크 아래와 같이 게임이 종료되었을 때, 카메라를 흑백 처리하여서 GAME OVER가 되도록 해보자. 적당히 원하는 게임 씬을 만들고, Canvas에 Text와 Button을 추가한다. Button에 이벤트를 연결할 것이므로 EventSystem도 추가한다. 여기서는 버튼을 누를 경우 gameOverCameraEffect()를 호출해 강제로 GameOver가 되도록 할 예정이다. 실제 게임에서는 게임 오버 조건을 만족할 경우 gameOverCameraEffect()를 호출하면 된다. Text도 미리 사이즈를 원하는대로 조절하도록 하자. 카메라에는 CameraGameOverEffect.cs를 추가한다. using System.Collections; using System.Collection.. 2022. 6. 11.
유니티 쉐이더 - 속성 타입과 인터페이스 옵션 (Properties Type and Interface Attributes) Unity 전체 링크 유니티 세이더에 설정할 수 있는 여러 타입이 있다. https://docs.unity3d.com/Manual/SL-Properties.html Unity - Manual: ShaderLab: defining material properties ShaderLab: defining a Shader object ShaderLab: assigning a fallback ShaderLab: defining material properties This page contains information on using a Properties block in your ShaderLabUnity’s language for defining the structure of Shader objects. Mor.. 2022. 6. 6.
유니티 - 오브젝트를 선택된 상태로 만들기 : (3) Shader Outline Unity 전체 링크 오브젝트를 선택된 상태로 만들기 : (1) bool 오브젝트를 선택된 상태로 만들기 : (2) 이미지로 만들기 오브젝트를 선택된 상태로 만들기 : (3) Shader Outline 오브젝트를 선택된 상태로 만들기 : (4) 오브젝트를 하나만 선택하기 링크의 경우, 오브젝트를 선택된 상태로 만들기 위해 이미지를 이용해 outline을 직접 만들었다. 이번에는 오브젝트를 선택된 상태로 만들기 위해 Shader를 이용해보자. 먼저 Shader 자체는 Outline Shader로 검색해서 적당한 shader를 구한다. Shader "Draw/OutlineShader" { Properties { _OutlineColor ("Outline Color", Color) = (1,0,0,1) _Ou.. 2022. 4. 29.
유니티 GL로 화면에 그림 그리기 Unity 전체 링크 참고 - 안드로이드 OpenGL 설정 - OpenGL로 화면에 선 그리기 - OpenGL로 화면 터치 이펙트 만들기 - OpenGL로 멀티 터치 이펙트 만들기 GL은 로우 레벨(Low-level) 그래픽 라이브러리다. 아래의 예시를 실행시켜보자. https://docs.unity3d.com/kr/530/ScriptReference/GL.QUADS.html 먼저 shader가 필요하다. 빈 shader를 만들자. Draw.shader Shader "Draw/Quads" { SubShader { Pass { } } } Start에서 shader를 가져와 Material에 할당한다. Material mat; void Start() { mat = new Material(Shader.Find.. 2022. 4. 28.
반응형