유니티 95

마우스의 위치

게임화면의 마우스의 위치(스크린좌표)를 월드좌표로 가져올 수 있다. Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); // 예시 (마우스 방향 바라보기) Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition); if(mousePos.x < transform.position.x) { sr.flipX = true; } else { sr.flipX = false; } Input.mousePosition 게임화면의 마우스 위치(스크린 좌표)를 가져온다. Vector3 mousePos = Input.mousePosition;

유니티 2023.11.28

카메라 이동

카메라 이동 2D [SerializeField] private Transform target; // 카메라가 쫓아다닐 대상 (플레이어) [SerializeField] private float smoothTime = 0.3f; // 부드럽게 이동하는 시간 private Vector3 velocity = Vector3.zero; // 값의 변화량 (=현재 속도) private void LateUpdate() { // 월드 좌표 = TransformPoint (로컬 좌표) Vector3 targetPosition = target.TransformPoint(new Vector3(0, 0, -10f)); // 목표 위치까지 부드럽게 이동할 때 사용하는 메소드 transform.position = Vector3.S..

유니티 2023.11.27

타일맵

타일맵 작은 스프라이트를 통해 광대한 게임 환경을 구성 복잡한 게임 레벨을 쉽게 디자인하고 편집 보통 Floor, Back, Front, Collider 4가지로 만들어서 작업 구성 Tilemap GameObject : Unity의 타일맵 구조를 구성하는 데 사용, Tilemap Grid의 자식으로 위치하고, 특정 타일의 배치를 관리 Grid GameObject : 모든 타일맵이 위치하는 기본 격자를 나타냄 Tilemap Renderer : Tilemap의 모양을 실제로 그리는 역할 Tilemap Collider 2D : 필요한 경우, Tilemap에 물리적인 경계를 추가하는 데 사용, 이를 통해 게임 캐릭터가 타일맵 환경과 상호작용할 수 있도록 함 Tile Assets : 개별 타일의 모양과 동작을 정..

유니티 2023.11.27

2D 이동 (position, velocity, Input System)

position 오브젝트의 position 값을 변경해서 이동 GetAxis -1 ~ 1 까지의 숫자를 입력으로 불러옴 void Update() { float x = Input.GetAxis("Horizontal"); float y = Input.GetAxis("Vertical"); transform.position += new Vector3(x, y, 0) * Time.deltaTime; // Time.deltaTime : 이전 프레임과 현재 프레임 사이의 시간 // 동시 입력 시, 일정한 속도를 가지려면 //transform.position += new Vector3(x, y, 0).normalized * Time.deltaTime; } GetAxisRaw -1, 0, 1 의 숫자를 입력으로 불러옴 ..

유니티 2023.11.27

Pixel Per Unit

Pixel Per Unit 1유닛이 어느만큼의 픽셀을 가지는지 설정함 100 x 100 픽셀의 이미지가 PixelPerUnit : 100 라면, 1유닛, 그리드 한칸을 차지 일반적으로 이미지의 가로사이즈를 Pixel Per Unit으로 설정함 Transform의 Scale은 애니메이션이나 실제로 크기가 커질때 사용, 기본 크기는 PixelPerUnit으로 설정 Unit 유니티에서 사용하는 가상의 1m의 단위 (1유닛이 유니티에서는 1m) 그리드 하나가 1unit

유니티 2023.11.24

스크립트 라이프 사이클

스크립트 라이프 사이클 게임 오브젝트의 생명 주기 동안 호출되는 특정한 메서드들의 순서와 타이밍 게임 오브젝트의 생성, 초기화, 업데이트, 파괴 등과 관련된 작업을 수행 게임 오브젝트가 비활성화 상태라면, 실행되지 않음 스크립트가 비활성화 상태라면, Awake는 실행되고, Start는 실행되지 않음 Awake: 게임 오브젝트가 생성될 때 호출되는 메서드로, 주로 초기화 작업을 수행 Start: 게임 오브젝트가 활성화되어 게임 루프가 시작될 때 호출되는 메서드로, 초기 설정 및 시작 작업을 수행 Update: 매 프레임마다 호출되는 메서드로, 게임 로직의 주요 업데이트가 이루어짐 FixedUpdate: 물리 엔진 업데이트 시 호출되는 메서드로, 물리적인 시뮬레이션에 관련된 작업을 처리할 때 사용 LateU..

유니티 2023.11.24

Canvas

Canvas 게임 UI를 포함하고 있는 영역 게임 UI를 관리하며 확대축소를 쉽게할 수 있음 Canvas 초기 설정 처음 Canvas 생성 시, 꼭 Canvas를 설정해 줘야 함 Scale With Screes Size 설정 Reference Resolution 작업할 해상도로 설정 Match 0.5 로 설정 (해상도의 하나를 기준으로 비율 유지한 채, 확장 또는 축소, Width : 폭에 맞춰 조절, Height : 높이에 맞춰 조절) Reference Resolution Full HD 경우, 동일하게 설정 Aspect 의 경우, 16 : 9 -> 1920 x 1080 Render Mode 게임종류와 화면에 따라 UI가 다르게 보여야 함 Screen Space - Overlay 유니티의 기본값 작은 게..

유니티 2023.11.24

Text (TextMeshPro)

Text (TextMeshPro)  Canvas 설정처음 Text 생성 시, 꼭 Canvas를 설정해 줘야 함  Scale With Screes Size 설정Reference Resolution 작업할 해상도로 설정Match 0.5 로 설정 (해상도의 하나를 기준으로 비율 유지한 채, 확장 또는 축소, Width : 폭에 맞춰 조절, Height : 높이에 맞춰 조절)  사용using UnityEngine.UI;using TMPro;public TMP_Text tmpText;private string message;void Start(){ message = "Test"; tmpText.text = message;}void Update(){}   한글 폰트 깨짐유니티에서 기본적으로 사용하는 Li..

유니티 2023.11.24