내일배움캠프 Unity [2023.12.21]TIL

응징·2023년 12월 21일
0

TIL

목록 보기
1/36
post-thumbnail

Scene

Scene 생성

씬추가, 자유로운 씬 편집 가능

Scene 전환

using UnityEngine.SceneManagement;  // 씬 매니저 

public void GameStart()
    {
        // 씬 전환
        SceneManager.LoadScene("MainScene");
    }

"MainScene" 으로 Scene이 전환 된다.

마우스 따라가기

// 마우스 좌표 가져오기 (좌표는 mousePos에 저장)
Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);

// y값을 유지하고 마우스의 x 좌표로만 캐릭터 이동시키기
transform.position = new Vector3(x, transform.position.y, 0);

게임 오브젝트가 y좌표로는 이동하지 않고 x좌표로만 마우스를 따라간다.

캔버스 == IngameUI

캔버스가 카메라나, 오버로드 되지 않고 인게임 내 크기와 동일해 진다

HP 표현하기

pivot.x =0; (1) 이미지

pivot은 만약 이미지가 늘어났을때 어디를 기점으로 늘어나는지를 표시
x=0이므로 왼쪽을 기점으로 늘어남

x == 0.5 : 양 옆으로 늘어남
x == 1 : 오른쪽을 기점으로 왼쪽으로 늘어남

외 test)
x == 2 : 영역을 벗어난 오른쪽을 기점으로 삼음 (2)이미지

(1)

(2)

Rigidbady 중력 영향 안받기

body 타입을 kinematic 으로 변경하면 중력 영향을 받지 않는다

그러나 이때 충돌 검사를 하고 싶다면 collider에 Is Trigger를 체크해야한다

컴포넌트 찾기

 if (energy < full)  //에너지가 아직 풀이 아니라면
            {
                energy += 1.0f;
                Destroy(coll.gameObject);
                gameObject.transform.Find("hungry/Canvas/front").transform.localScale = new Vector3(energy / full, 1.0f, 1.0f);
            }

gameObject.transform.Find(현재 오브젝트의 하위 오브젝트 위치) : 하위 오브젝트의 컴포넌트에 접근이 가능하다

한두번 사용할 것이라면 매번 퍼블릭 변수로 가져오는 것보단 깔끔한것 같다.

프리팹 해제

프리팹을 해제하여 비슷한 기능의 또 다른 오브젝트 생성이 가능하다.

!복제후 새로운 오브젝트로 사용하며, unpack한 프리팹은 지운다

profile
Unity 개발 위주로 정리합니다

0개의 댓글