본문 바로가기

Unity

(12)
게임오브젝트 삭제 함수 Destroy(); 오브젝트 삭제 함수로 오브젝트 or 컴포넌트 삭제 가능 컴포넌트 삭제 public class DestroySample : MonoBehaviour { [SerializeField] private GameObject player; private void Awake() { Destroy(player.GetComponent()); } } 오브젝트 삭제 public class DestroySample : MonoBehaviour { [SerializeField] private GameObject player; private void Awake() { Destroy(player); } } 빈 Object에 위 스크립트를 넣고 GameObject로 PlayerController 컴포넌트가 적용된..
Instantiate 활용 예제 prefab 여러 종류에 대해 랜덤 생성 가능 GameObject 배열 사용 public class PrefabTest : MonoBehaviour { [SerializeField] private GameObject[] prefabArray; privat void Awake() { for(int i = 0; i < 10; i++) { int index = Random.Range(0, prefabArray.Length); Vector3 position = new Vector3(-4.5f + i, 0, 0); Instantiate(prefabArray[index], postioion, Quaternion.identity); } } } x,y 위치 또한 Random.Range(-4.5f , 4.5f) 와 같이..
게임 오브젝트 생성 함수 게임 내의 오브젝트를 복제해서 새로운 적을 생성하기 위해서 원본 오브젝트가 필요 원본 오브젝트는 파일로 안전하게 보관 (프리펩) 프리펩? 게임오브젝트를 project view에 파일로 저장해 둔 것 원본으로 사용된 오브젝트가 제거되면 더이상 복제 불가하기 때문 프리펩 생성 방법 원하는 형태로 게임오브젝트를 꾸며준다 Hierarchy View의 게임 오브젝트를 Project View로 드래그 드롭한다 Hierarchy View 오브젝트 삭제 Instantiate(GameObject obj) 게임 오브젝트를 복제해서 생성 모든 컴포넌트 정보가 원본과 완전히 동일 위 메소드를 여러개 호출 시 여러개 복제됨 파라미터로 Vector, Quanternion(회전 값) 적용 가능 회전값 적용 오일러 3차원 3개 각도..
게임오브젝트 물리와 충돌 물리 관련 컴포넌트 2D : Component - Physics 2D 3D : Component - Physics Rigidbody2D 컴포넌트 물리와 중력 담당 RigidBody 적용 시 중력은 바로 적용됨 다른 오브젝트와의 상호작용이 필요한 경우는 Collider 컴포넌트가 필요 Collider2D 컴포넌트 오브젝트의 충돌 범위를 나타냄 Circle Collider 2D가 가장 연산속도가 빠름 Edge Collider 2D는 점의 개수를 정하고 점의 위치를 바꾸어서 다양한 곡선이나 형태로 표현 가능 Edge Radius로 두께 설정가능 Polygon Collider 2D 텍스처 모양과 비슷한 모양으로 생성 -> 연산량이 많아짐 Capsule Collider 2D 보통 사람 형태의 캐릭터에 사용 Com..
게임 오브젝트 이동 transform 내가 소속되어 있는 게임 오브젝트의 Transform 컴포넌트 새로운 위치 = 현재 위치 + (방향 * 속도) transform.position += new Vector3(1, 0, 0) * 1; Vector로 방향을 나타낸 경우 Vecor3.right * 1과 동일한 의미로 작성 가능 Update 내에서 작성 시 Vecor3.right * 1 * Time.deltaTime deltaTime Update 실행 후 다음 Update 실행 까지의 시간 사양이 좋은 컴퓨터의 경우 이 값이 작음 만약 deltaTime을 곱하지 않는다면 Update는 FPS는 사양이 좋을 수록 더 많이 호출되므로 사양이 좋은 컴퓨터와 그렇지 않은 경우의 이동거리 차이가 발생함 Input 키보드, 마우스 등 모든..
이벤트 함수 유니티 이벤트 실행 원리 컴포넌트의 이벤트 함수가 특정 순서나 조건에 따라 실행됨 Unity에서 Start() 실행을 명령하는 경우 모든 오브젝트에서 포함하는 컴포넌트 스크립트의 Start()가 실행됨 Debug.Log로 Unity 콘솔 로깅 가능 이벤트 함수 종류 초기화를 위한 이벤트 함수 : Awake(), Start(), OnEnable() 업데이트를 위한 이벤트 함수 : Update(), LateUpdate(), FixedUpdate() 오브젝트 파괴를 위한 이벤트 함수 : OnDestroy() 종료를 위한 이벤트 함수 : OnApplicationQuit(), OnDisable() Awake 현재 씬에서 게임오브젝트가 활성화 되어 있을 때 1회 호출 컴포넌트가 비활성화 상태여도 게임오브젝트가 활성..
스크립트 개요 게임 오브젝트에 주어지는 각종 명령 제어 게임 내에서 사용되는 여러 오브젝트 생성, 삭제 및 관리 게임 전체 또는 일부를 관리하는 게임 내 시스템 구현 Project View - "+" - C# script 게임 오브젝트에 스크립트를 컴포넌트로 적용하기 위한 조건 스크립트 파일이름과 클래스 이름이 같아야 함 부모 클래스로 MonoBehavior 상속받아야 함 스크립트를 게임 오브젝트의 컴포넌트로 적용 방법 Hierarchy View의 게임오브젝트에 스크립트 파일을 드래그 게임 오브젝트를 선택하고 Inspector View의 빈공간으로 스크립트 파일을 드래그 게임 오브젝트를 선택하고 Add component로 검색해서 넣기 3중 어떤 방법으로도 가능
게임 오브젝트 Texture 출력 2D 이미지 화면 출력 방법 사용할 이미지 에셋의 Texture Type을 Sprite (2D and UI)로 설정 GameObject - 2D Object - Sprite 생성 생성된 오브젝트의 Sprite Reneder 컴포넌트에 있는 sprite 변수에 이미지 에셋 등록 3D 이미지 화면 출력 방법 GameObject - 3D Object - Cube, Sphere, Capsule, Cylinder ... 기본 도형외 다른 물체는 외부 프로그램을 이용해 제작후 가져와서 사용 사용할 이미지 에셋의 Texture Type을 default로 설정 Project View에서 Material 에셋 생성 Meterial 에셋에 이미지 에셋 등록 GameObject - 3D Object - 원하는 오브젝트 생성..