본문 바로가기

Study/Unity

(4)
[Unity Shader] 1. 유니티 셰이더 소개 Shader : 셰이더 혹은 셰이더 프로그램은 GPU에서 동작하는 프로그램. Unity의 Shader Type Shader 그래픽스 파이프라인에서 가장 일반적으로 사용되는 셰이더 화면에 표현되는 픽셀의 색상을 정함 유니티에서 Shader Object를 사용하여 작동 Compute Shader 그래픽스 파이프라인외에서 GPU로 연산을 수행 Ray Tracing Shader Ray Tracing 관련 연산을 수행 Unity Shader 용어 정리 Shader 및 Shader program : GPU에서 실행되는 프로그램. 일반적으로 그래픽 파이프라인의 일부인 Shader를 의미. Shader Object : Shader Class의 인스턴스. 한개의 Shader Object는 Shader progam과 다른..
3인칭 카메라 구현 Unity에서 3인칭 카메라를 구현해보자. 우선 3인칭 카메라의 생김새 부터 생각해보자. 일반적인 3인칭 카메라는 3D RPG게임에서 흔하게 찾아볼 수 있다. 이를 구현하기 위해 필요한 요소들을 정리해보자. - 카메라가 회전할 중심점 - 카메라가 중심점으로 부터 떨어져있는 거리(변동 가능해야함.) - 카메라가 중심점에서 구체 회전함. - 카메라부터 정해진 거리 사이에 장애물이 있을경우 카메라가 앞으로 당겨져와야함. 대충 이렇게가 앞에서 만들었던 일인칭 카메라와 다르게 고민해봐야할 요소들이다. 여기서는 바로 중심점이 중요하다. 상대좌표계를 이용하면 이를 간단하게 구현 할 수있다. 대략적인 구상도는 이렇다. CameraArm이라는 오브젝트에 카메라를 자식 오브젝트로 배치한 뒤 CameraArm의 뒤로 Arm..
1인칭 카메라 구현 Unity에서 1인칭 카메라를 구현해보자. 조작 방식은 다음과 같다. 이동 : W(앞), A(왼), S(뒤), D(오), Q(아래), E(위) 회전 : 마우스 우측버튼 클릭후 드래그 확대/축소 : 마우스 휠 부스트 : 왼쪽 Shift 초기화 : 스페이스바 일인칭 카메라의 조작을 담당할 클래스(FPSCameraController)를 생성한다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class FPSCameraController : MonoBehaviour { public float SpeedMove; //카메라 이동 속도 public float SpeedRotate; //카메라 회전 속도 pu..
Unity Shader - 등고선 shader만들기 일을 하면서 unity상의 지형 모델에 등고선을 표시해줘야 하는 일이 생겼다. 이를 유니티의 Shader를 이용하여 간단한 등고선 Shader를 구현하려 한다. 간단하게 구현한 만큼 고쳐야할 부분도 많으니 참고하길 바란다.... 고쳐져야 할부분: 1. 높이값이 0인부분에 선을 그릴 수 없음. 2. 높이값이 음수일 때와 양수일 때의 선이 그려지는 방향이 반대 Shader "Custom/ContourLine" { Properties { _MainTex ("Texture", 2D) = "white" {} _Color ("Main Color", Color) = (1,1,1,1) _LineColor ("Line Color", Color) = (1,1,1,1) _LineSharpness("Line Sharpness..