일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ar
- raycast
- Quaternion
- 깃허브
- 델리게이트
- 로케트
- 게임제작
- C#
- 게임개발
- ARProgect
- 확장메서드
- 소규모프로젝트
- Unity
- 레이캐스트
- 게임
- 병맛게임
- 1인개발
- AR Foundation
- 리듬게임
- 인터페이스
- 짐벌락
- AR세팅
- github
- ExtensionMethod
- 유니티
- Euler
- 리듬게임에디터
- callbyvalue
- callbyreference
- AR게임
- Today
- Total
목록개발/공부 (48)
Ssssong += Dev
확장 메서드란? - 기존에 제공되는 클래스 또는 외부 라이브러리에 속해 있는 클래스에 새로운 기능을 "상속"이 아닌 메서드를 이용해서 기능을 확장하는 것을 의미한다. 확장 메서드의 특징 - C# 언어의 확장 메서드는 정적 클래스만을 통해서 정의하는 것이 가능하다. 즉, 정적 클래스가 아니면 확장 메서드 자체를 구현하는 것이 불가능하다. - C# 언어의 확장 메서드를 정의하는 정적 클래스는 반드시 최상단 영역에 위치시켜야 한다. - 특정 클래스의 중첩 클래스(클래스 안에 클래스를 선언한 형태)로는 확장 메서드를 정의하는 것이 불가능 구조체, 클래스에 기본으로 내장되어 있는 여러 메서드들 이외에 원하는 메서드를 추가하여 사용할 수 있다. public static class ExtensionMethod { /..
게시글 따로 저장하기 애매한 짤팁들은 이 게시글에 조금씩 추가 예정... 충돌 검사 시 tag 대신 GetComponent 검사 해 주면 좋다. 여러 종류의 태그를 주르륵 추가하는 것 보다 other.GetComponent() != null 로 검사하면 해당 클래스 가지고 있는 요소들 한꺼번에 검사하기 좋다. 아래는 AR 공던지기 충돌 검사 코드 private void OnTriggerEnter(Collider other) { if(other.GetComponent() != null) { sheepBottle.inTrigger = true; sheepBottle.rigidbody.isKinematic = false; } }
반복문으로 콜렉션 요소를 가져올 때 foreach를 쓰면 동일한 형식으로 가져올 수 있다. 이렇게 가져올 때 각 콜렉션이 가져오는 순서에 맞춰 요소를 int형으로 가져온다. foreach(int temp in List) { Debug.Log(temp); } foreach(int temp in Stack) { Debug.Log(temp); } foreach(int temp in Queue) { Debug.Log(temp); } 타입이 지정되지 않은 콜렉션의 경우 object나 var를 사용할 수 있다. obejct는 모든 데이터의 부모로써 Int, GameObject 같은 여러 데이터 타입들의 부모라 할 수 있다. object 형식은 박싱 기능을 제공하여 object 형으로 형변환되어 저장되었다가 이후 언..
https://docs.microsoft.com/ko-kr/dotnet/api/system.collections.generic.list-1.convertall?view=net-6.0 List.ConvertAll(Converter) 메서드 (System.Collections.Generic) 현재 List의 요소를 다른 형식으로 변환하고 변환된 요소를 포함하는 목록을 반환합니다. docs.microsoft.com List의 각 요소를 한꺼번에 다른 형식으로 변환하여 복사할 수 있다. 같은 형식으로도 복사가 가능하므로 .ConvertAll(s=>s) 이렇게 깊은 복사를 하는 데 사용할 수 있다. 아래는 AR공던지기의 골대, 공 습득 조건 충족 여부를 검사하는 레시피이다. 조건으로 들어가 있는 리스트를 복제하여..
추상클래스, 추상함수(abstract) 기능이 여기서 완성되지 않음. 상속하는 자식에서 기능을 완성시켜 주어야 함. 추상함수를 하나 이상 포함하고 있는 클래스이다. 미완성된 클래스이기 때문에 해당 클래스를 상속받는 자식들은 완성되지 않은 함수들을 완성시켜 주어야 한다. 추상클래스 자체로는 완성되지 않았기 때문에 객체를 찍어낼 수 없으며 인스턴스화 할 수도 없다. 추상함수(추상메서드)는 구현이 이루어지지 않고 정의만 할 수 있다. 클래스 다이어그램에서 > 로 클래스를 표시하며 추상 메서드는 void { abstract } 이렇게 표시한다. '해당 클래스를 구현하는 틀'이라 볼 수 있으며 협업할 때 중요하게 다뤄진다. 인터페이스(interface) 해당 추가 기능을 꼭 구현하겠다는 약속. 인터페이스 기능의 ..
https://docs.unity3d.com/kr/2018.4/Manual/script-Serialization.html 스크립트 직렬화 - Unity 매뉴얼 직렬화는 데이터 구조나 오브젝트 상태를 Unity 에디터가 저장하고 나중에 재구성할 수 있는 포맷으로 자동으로 변환하는 프로세스를 말합니다. Unity 에디터에서는 저장 및 로딩, 인스펙터 창, 인 docs.unity3d.com 직렬화는 데이터 구조나 오브젝트 상태를 Unity 에디터가 저장하고 나중에 재구성할 수 있는 포맷으로 자동으로 변환하는 프로세스 [System.Serializable], [SerializeField] 이렇게 표기하던 것들이 직렬화를 위해 쓰던 방법이다. 유니티에서 유용하게 사용할 직렬화 방법들을 모아놔야겠다. 1. 딕셔너리..
https://www.ronja-tutorials.com/post/022-stencil-buffers/#reading-from-the-stencil-buffer Stencil Buffers Summary The depth buffer helps us compare depths of objects to ensure they occlude each other properly. But theres also a part of the stencil buffer reserved for “stencil operations”. This part of the depth buffer is commonly referred to as stencil buf www.ronja-tutorials.com 신기한 기능! https:/..
2D 바라보는 방향으로 회전 - Quaternion.AngleAxis, Mathf.Atan2 https://gnaseel.tistory.com/17 [유니티] 마우스 방향으로 2D Object 회전시키는 방법 유니티 카테고리 안에 있지만 사실은 거의 수학적인 내용이다. 개발을 하다보면 2D object를 회전시켜야 할 일이 있는데, 우리가 보통 object에서 가장 쉽게 구할 수 있는 것은 위치값 또는 벡터 값 gnaseel.tistory.com 방향벡터 회전 https://rito15.github.io/posts/unity-memo-rotation/ 유니티 - 트랜스폼과 방향벡터의 회전 Memo rito15.github.io