전체 글 (52) 썸네일형 리스트형 2025/12/31 코루틴 코루틴은 함수를 일시 정지했다가, 필요한 시점에 다시 재개할 수 있는” 프로그래밍 기법안에 코드를 열거자로 반환해서 yield를 만나면 일시중지하고 원하는시점에 다시 이어서 처리할 수 있습니다 2024/12/31 Update에서 GetComponent와 그 계열의 캐싱을 지양해야하는 이유 GetComponent는 해당 오브젝트에서 컴포넌트를 검색하는 연산입니다. Update에서 매 프레임 호출하면 불필요한 연산 증가. 캐싱(초기화 시 변수에 저장)하여 필요할 때 바로 접근하는 것이 성능에 유리합니다.ex) 플레이어 이동 스크립트에서 Rigidbody를 매 Update 마다 GetComponent하는 대신, Start에서 rb = GetComponent() 한 번만 호출하고 이후에는 rb 참조를 통해 직접 힘을 가합니다. 2024/12/27 인터페이스와 추상클래스의 차이 추상 클래스(Abstract Class): 구현을 일부 가질 수 있고, 공통된 기본 로직을 제공하며, 클래스 상속을 통해서만 확장됩니다. 상속받는 클래스는 하나의 추상 클래스만 상속할 수 있습니다.인터페이스(Interface): 구현을 전혀 가지지 않는 순수한 계약이며, 클래스는 다수의 인터페이스를 구현할 수 있습니다.EnemyBase 추상 클래스는 이동, 공격 등 기본 로직 일부를 미리 구현해 자식 클래스에서 재사용할 수 있습니다. 반면 IDamageable 인터페이스는 구현 없이 TakeDamage() 메서드 시그니처만 제시하며, 플레이어, 적, 구조물 등 다양한 객체가 이를 구현할 수 있습니다. 2024/12/26 외적, 내적 내적 (Dot Product)a⋅b=∥a∥∥b∥cos(θ) 두 벡터 a\mathbf{a}a와 b\mathbf{b}b 사이의 각도(θ\thetaθ) 정보를 담고 있습니다.내적의 결과로 스칼라(단일 숫자)가 반환됩니다.cos(θ)\cos(\theta)cos(θ)의 부호를 통해 두 벡터가 같은 방향(양수), 수직(0), 반대 방향(음수)임을 알 수 있습니다.일반적으로 두 벡터의 방향성이 얼마나 유사한가를 판단할 때 사용합니다.ex)Vector3 a = new Vector3(1, 0, 0);Vector3 b = new Vector3(0, 1, 0); float dotValue = Vector3.Dot(a, b);// dotValue == 0 (두 벡터는 서로 수직) 시야각 판정: 적 캐릭터가 플레이어를 인식.. 2024/12/24 OnValidate() 유니티 인스펙터를 통해 데이터를 관리에 컬렉션 개수를 제한한다거나 특정 값을 넣지 못하게 한다거나 하고 싶을 때 사용 2024/12/23 Random.insideUnitCircle https://docs.unity3d.com/6000.0/Documentation/ScriptReference/Random-insideUnitCircle.html Unity - Scripting API: Random.insideUnitCircleNote that the probability space includes the perimeter of the circle because value, which is inclusive to 1.0, is used to acquire a random radius.docs.unity3d.com using UnityEngine;public class ScriptExample : MonoBehaviour{ void Start() { // Sets .. 2024/12/20 얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy) 얕은 복사(Shallow Copy): 객체의 필드값을 그대로 복사하되, 참조 형식 필드는 주소 참조만 복사합니다. 결과적으로 원본과 복사본이 같은 객체를 참조할 수 있어 한쪽을 변경하면 다른 쪽도 영향을 받을 수 있습니다. 깊은 복사(Deep Copy): 참조 형식 필드까지 새로운 객체로 복사하여 원본과 복사본이 완전히 독립적인 메모리를 가집니다.ex) 플레이어 인벤토리(Inventory)를 얕은 복사하면, 두 플레이어 인벤토리가 같은 아이템 리스트를 참조하여 한쪽에서 아이템을 빼면 다른 쪽도 변경됩니다. 깊은 복사를 사용하면 각 인벤토리는 별도의 아이템 객체를 가져 상호 간섭 없이 독립적으로 동작합니다. 2024/12/19 IL2CPP 프로젝트 빌드할때 이런게 있나보다https://docs.unity3d.com/kr/2021.3/Manual/IL2CPP.html IL2CPP 개요 - Unity 매뉴얼IL2CPP(C++로 변환하는 중간 언어) 스크립팅 백엔드는 Mono 백엔드의 대안입니다. IL2CPP는 보다 폭넓은 플랫폼에서 애플리케이션에 대한 더 나은 지원을 제공합니다. IL2CPP 백엔드는 MSIL (Microsoft 중간docs.unity3d.com 장점:난독화 해줌 런타임 성능이빨라짐.NET뿐만아니라 다양한 플랫폼지원 단점: 용량이크다 이정도..? 이전 1 2 3 4 ··· 7 다음