전체 글537 [유니티 Note] 섹션 5-4 # Raycasting 종류1. Physics.Raycast: 하나만 감지2. Physics.RaycastAll: 모두 감지 # Raycasting 사용 예시- Raycast 버전Vector3 look = transform.TransformDirection(Vector3.forward);Debug.DrawRay(transform.position + Vector3.up, look * 10, Color.red);RaycastHit hit;if (Physics.Raycast(transform.position + Vector3.up, look, out hit, 10)){ Debug.Log($"Raycast {hit.collider.gameObject.name}");} - RaycastAll 버전Vecto.. 2025. 7. 2. [유니티 Note] 섹션 5-3 # 투영3D에서 2D로 변환하는 과정을 의미한다Perspective를 설정하는 경우,z좌표를 활용해 원근감 표현을 렌더링 과정에 적용하고2D에서는 결과적으로 z좌표(깊이 값)는 없어진다 # Perspective Projection vs Othorgraphic Projection원근투영(Perspective Projection)은z 축에 따른 원근감을 유지해 그린다 직교투영(Othorgraphic Projection)은z축 크기 변화 없이 평면적으로 그린다 # 투영 과정"Local → World → View → Clip → NDC → Viewport → Screen" Local 좌표계와 World좌표계는단축키 x를 통해 직접 Scene 창에서 좌표축을 확인할 수 있다 Viewport 좌표계는Camera.m.. 2025. 7. 2. [유니티 Note] 섹션 5-2 # 언제 OnCollision?1. 서로 Collider가 있어야 함 2. 둘 중 적어도 하나는 무조건 Rigidbody가 있어야 함 3-1. Rigidbody(IsKinematic 반드시 false) Collider(No Rigidbody) 3-2. Rigidbody(IsKinematic 하나는 반드시 false) Rigidbody(IsKinematic false) 서로 물리적인 충돌 발생 3-3. Rigidbody(IsKinematic 하나는 반드시 false) Rigidbody(IsKinematic true) 첫 번째 객체는 물리적인 충돌 O 두 번째 객체는 물리적인 충돌 X (고정)ex. 움직이는 플랫폼, 열리는 문/벽과 튀는 프랍들 4. 둘 다 Collider 컴포넌트 IsTrigger .. 2025. 7. 2. [유니티 Note] 섹션 5-1 # Collider와 RigidbodyCollider: 충돌체로 서로 Collider Component가 있어야 충돌이 발생한다Rigidbody: 유니티 물리를 사용하기 위한 Component이다 # Rigidbody의 IsKinematic 속성Kinematic은 운동학에서 온 단어로힘을 고려하지 않고 오브젝트의 위치나 회전만 다루는 방식을 의미한다 true로 하면,Rigidbody 컴포넌트가 있더라도 물리 적용을 안되게 하는 속성이다Collider 컴포넌트로 충돌만 감지하고,Rigidbody 컴포넌트의 IsKinematic을 true로 해서모든 물리 적용을 끄면서 사용하는 경우가 종종 있다 false로 하면,모든 물리가 적용된다 결론)"물리적인 충돌은 안 하고 싶다""나는 안 밀리겠다"라면,IsKine.. 2025. 7. 2. [C# 섹션 8] Nullable # Nullable 왜 필요한가?값을 찾지 못한 경우에 '값이 없다'라는 상태를 표현해야 한다참조타입인 클래스는 null을 작성하면 되고bool도 false를 작성하면 되어서 직관적이다 그러나,값 타입(ex. int)은 null을 사용할 수 없다그렇기에 억지로 '사용하지 않는 특별한 값'을임의 설정해서 사용하기에 다소 아쉬움이 존재한다int FindIndex(){ // 못 찾으면 -1 반환 return -1;} # Nullable 사용법C#에서 값 타입도 null을 가질 수 있도록 Nullable 기능을 제공한다타입 뒤에 '?'를 붙여주면, null을 넣을 수 있다int? number = null; nullable 타입은 null만 올 수 있는 것이 아니다null이 올 수도 있고, 값이 들어올.. 2025. 6. 26. [C# 섹션 8] Reflection # reflectionc#에서 만들어지는 모든 클래스는최상위 타입인 object를 암묵적으로 상속받는다그래서 GetType, GetHashCode, Equals 등의 메서드를 사용할 수 있다 특히, GetType을 통해필드 정보(멤버변수, 멤버함수)를 모두 확인 및 추출이 가능하다이처럼 클래스에 대한 모든 정보들을 런타임에 확인이 가능한 것이 reflection이다C++ 에는 이러한 기능이 없다using System;using System.Reflection;using System.Security.Cryptography;namespace CSharp{ class Monster { public int hp; protected int attack; .. 2025. 6. 26. 이전 1 2 3 4 5 6 ··· 90 다음