희진Go!

Email : heejin_go@naver.com / Insta : @ggame.mag

UNITY/Unity 개념 19

[C#] Vector normalized 속성이란, 사용하는 이유

Vector에서 normalized 속성이란 벡터 값의 크기가 어느 방향이던지 1이 되도록 좌표가 수정된 값 Returns this vector with a magnitude of 1 (read only) normalized를 왜 사용하나? 피타고라스 정리에 의해 정의된다. A = 1 B = 1 C = √2 (루트 2의 값은 1.41421356... 이다.) 즉, C는 1이 아니다. normalized를 사용하지 않으면 좌우, 상하 이동속도 = 1, 대각선으로 이동하는 속도 = 1.41로 대각선으로 이동할 때 훨씬 빠르게 움직이게 된다. 그래서 대각선 속도도 동일한 속도 1로 움직일 수 있도록 하기 위해 normalized 사용한다.

UNITY/Unity 개념 2023.07.03

[C#/Unity] transform의 position과 rigidbody의 position 차이점(chat GPT 답변)

Unity의 포지션에는 transfom의 position과 rigidbody의 position이 있다. 이 둘의 차이점을 Chat GPT에게 물어보았다. transform의 position과 rigidbody의 position 차이점 - transform position 직접 게임 오브젝트의 위치를 이동, 변경해야 할 때 사용 - rigidbody position 유니티 물리 엔진(중력, 충돌감지) 고려 + 보간 활성화 읽기전용(직접 접근하여 사용할 수 없음) 예 ) Rigidbody.MovePosition() : Rigidbody를 이동하고 보간 설정을 따릅니다. 이동 보간은 물리 시뮬레이션을 사용하지 않는 transform.position과는 다르게, Rigidbody의 물리 시뮬레이션에 의해 움직임..

UNITY/Unity 개념 2023.07.03

[C#] Time.timeScale을 이용하여 게임 오버, 다시시작하는 방법

Time.timeScale을 이용하여 게임 오버하고 다시 시작하는 방법 public class GameManager : MonoBehaviour { // Start is called before the first frame update void Start() { Time.timeScale = 1.0f; //일시정지를 정상속도로 풀겠다는 뜻 } void Update() { //특정한 조건 아래 Time.timeScale = 0.0f; //Time.deltaTime 이 0값이 오게 되면서 일시정지 된다. }

UNITY/Unity 개념 2023.06.28

[골드메탈_공룡런 B2 리메이크] Scoller 클래스에서 ChildCount 하는 이유

클라이언트 프로그래머 지망생의 빛 골드메탈 강좌 중 실시간으로 진행한 공룡런을 정주행하였다. 코드를 하나하나 분석하고 왜 사용하는지 짚고 넘어가는 중 Scoller 클래스에서 각 Sky Group, Ground Group, Back Group 산하에 있는 자식 오브젝트들을 카운트 하는 이유를 생각해봤지만 잘 이해가 되지 않았다. 왜 선언을 했을까 반나절 고민하다가 질문을 남겼고 아래와 같이 답변을 받았다. 보고서 이마를 탁 쳤다. 현재 자식 오브젝트의 Reposition 클래스 코드는 아래와 같이 24로 하드 코딩 되어 있다. 하지만 코드는 유연해야 하고 추후 장애물이 추가 될 수도 있는 상황에서 하드코딩을 해버리면 두 번 작업해야 하는 고생이 있기에 코드 작성 시 유연하게 활용할 수 있도록 작성하자는 ..

UNITY/Unity 개념 2023.05.20

ref, out : Value Type의 변수들을 Reference Type처럼 동작 시켜주는 키워드

ref, out : Value Type의 변수들을 Reference Type 처럼 동작 시켜주는 키워드 ref : 유연함 (매개변수로 넘겨 받은 변수는 메서드안에서 사용하지 않아도 된다.) out : 엄격함 (매개변수로 넘겨 받은 변수는 메서드안에서 반드시 사용해야 된다.) void RefMethod(ref int a) { a = 1000; Debug.Log("test : " + a); } void OutMethod(out int a) { a = 1000; Debug.Log("test : " + a); } // RefMethod의 매개변수는 ref 타입이기에 변수를 넘길 때 앞에 ref를 작성해줘야 한다. // out도 마찬가지 int d = 0; RefMethod(ref d); // x 를 선언한 뒤 ..

UNITY/Unity 개념 2023.05.19