Unity(119)
-
[Unity] Enum / 키보드 입력(GetKey, GetButton) / 마우스 입력(GetMouseButton, 마우스 이벤트)
Enum(열거형) 숫자로 되어 있는 값을 상수로 바꾸어 사용하는 타입. 숫자로 되어있을 경우 오류 발생이 쉽기 때문에 사용한다. public class Test : MonoBehaviour { public enum Season {Spring, Summer, Autumn, Winter}; void Start() { Season s = Season.Spring; if (s == Season.Spring) { print(s); } } } Season s 로 변수 선언이 가능하고, Season.Spring으로 값 받을 수 있다. 문자로 값을 불러왔지만 내부적으로는 숫자로 인덱스 되어있다. Input.GetKey 키보드 입력을 받는 GetKey에서 KeyCode가 enum의 열거형이다. void Update() ..
2023.08.11 -
[Unity] Time.deltaTime으로 깜빡이는 오브젝트 만들기
public class Test : MonoBehaviour { bool flag = true; void Update() { if (flag == true) { flag = false; } else { flag = true; } print(flag); } } update 함수가 0.03초마다 반복될 때마다 flag 변수의 true, false가 반복되어 바뀌면서 출력된다. public class Test : MonoBehaviour { float time = 0; void Update() { time += Time.deltaTime; if (time > 1) { print("time"); time = 0; } } } Time.deltaTime은 이전 프레임이 완료될 때까지 걸린 시간을 의미하며 그 시간을..
2023.08.11 -
[Unity] 유니티 GameObject 클래스 정리
GameObject 클래스 : 유니티에서 사용되는 물체의 클래스 관리 MonoBehaviour 클래스 : 스크립트에 사용되는 클래스 관리, gameObject 변수를 통해 게임 오브젝트 관리 Unity 스크립팅 API https://docs.unity3d.com/kr/2022.1/ScriptReference/index.html Unity 스크립팅 API docs.unity3d.com UnityEngine이라는 namespace를 사용하는 것을 알 수 있고, 사용할 수 있는 변수들이 표시되어 있다. 생성자로 새로운 게임 오브젝트를 만들어낼 수 있다. 게임 오브젝트 생성 public class Test : MonoBehaviour { void Start() { GameObject obj1 = new Game..
2023.08.10 -
[Unity] 유니티 Vector3 / 위치와 스케일 변경하기
값 3개를 가지는 곳에 사용한다. 대표적으로는 transfrom의 position, scale이 있다. 쓰는 방법은 다음과 같다. Vector3 기본 선언 Vector3 vec1; vec1.x = 1; vec1.y = 2; vec1.z = 3; print(vex1); Vector3에 기본 생성자 사용 Vector3 vec1 = new Vector3(); vec1.x = 1; vec1.y = 2; vec1.z = 3; print(vec1); 매개변수가 있는 생성자로 선언하고 초기화하여 사용 Vector3 vec1 = new Vector3(1,2,3); 예제를 보면, public class TestScript : MonoBehaviour { void Start() { Vector3 vec1; vec1.x =..
2023.08.08 -
[Unity] 유니티 함수의 종류 (제작 함수, 이벤트 함수, 제공 함수)
제작 함수 필요한 기능을 직접 제작하여 사용하는 함수 이벤트 함수 Start 함수와 같이 자동적으로 실행되는 함수, 특정 지점에 실행되는 함수 제공 함수 print, Debug.Log 함수 같이 유니티에서 이미 만들어져서 제공하는 함수. 호출해서 사용할 수 있음. 클래스 최상단에 namespace라 부르는 using.unityengine; 부분이 Random.Range 등의 제공 함수를 사용할 수 있게 해 준다. namespace는 클래스를 관리하는 공간이다. Random.Range : Random 클래스의 Range 함수를 사용 int value = Random.Range(1, 10); namespace는 다음과 같이 임의로 작성할 수 있다. namespace Utility { public class ..
2023.08.07 -
[Unity] URP 프레넬 셰이더(Fresnel Shader) 응용 2 (홀로그램 만들기)
[Unity] URP 프레넬 셰이더(Fresnel Shader) 응용 (조명 효과, 깜빡이는 조명 만들기) HDR과 Bloom 효과는 저사양의 모바일 게임에서 사용하거나 레트로한 느낌을 주기 힘들기 때문에 프레넬 효과를 이용하여 만들어 볼 것이다. 조명 효과 Street Light 3D Model Free Download | 3DModelsCC0 Free Stre lightbakery.tistory.com 이전 글에 이어서, 가로등 조명 효과 셰이더에서 [One Minus] 노드를 빼면, 반대가 되므로 가운데가 투명하고 바깥으로 갈수록 진해지는 보호막, 비눗방울 효과가 생기게 된다. 예제 공룡 뼈에 간단하게 홀로그램을 적용하기 위해 [Fresnel Effect] 노드를 연결해보면, [HalfLambert..
2023.07.20