공모전 일지13 - 카메라 이동

Boyeong·2023년 5월 21일
0

제페토

목록 보기
13/13
post-thumbnail

230510

[2023 메타버스 달서 공모전] 출품을 위해, 제페토를 공부하는 일지

1. 영상 촬영 준비

(1) 카메라 키보드로 이동

  • 더 원활하고 깔끔한 촬영을 위해, Main Camera 오브젝트를 키보드와 마우스로 조작하는 코드를 작성하였다.

  • 📑 CameraController.ts 스크립트 생성

  • import

    import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
    import { Input, Time, Vector3 } from 'UnityEngine';
  • 변수

    public move_speed: number = 0;	// 5
  • Update() 함수

    Update() {    
        // 키보드로 카메라 이동
        const key_x: number = Input.GetAxis("Horizontal") * this.move_speed * Time.deltaTime;
        const key_y: number = Input.GetAxis("Jump") * this.move_speed * Time.deltaTime;
        const key_z: number = Input.GetAxis("Vertical") * this.move_speed * Time.deltaTime;
    
        this.transform.Translate(new Vector3(key_x, key_y, key_z));
    }

  • Main Camera 오브젝트에 해당 스크립트를 컴포넌트로 부착한다.

  • 실행 결과

(2) 카메라 마우스로 회전

  • 📑 CameraController.ts 스크립트 작성

  • 변수

    public rotate_speed: number = 0;	// 200
  • Update() 함수

    Update() {    
        // ...
    
        // 마우스로 카메라 회전
        const mouse_x: number = -Input.GetAxis("Mouse Y") * this.rotate_speed * Time.deltaTime; // 좌우
        const mouse_y: number = Input.GetAxis("Mouse X") * this.rotate_speed * Time.deltaTime;  // 위아래
    
        if (Input.GetMouseButton(0)) {
            this.y_rotate = this.transform.eulerAngles.y + mouse_y;
            this.x_rotate = this.transform.eulerAngles.x + mouse_x;
    
            this.transform.eulerAngles = new Vector3(this.x_rotate, this.y_rotate, 0);
        }
    }

  • 실행 결과

2. 영상 촬영 및 편집 완료

3. 후기

  • 길고 긴 공모전이 드디어 끝났다..!!!
  • 처음 써 보는 툴에, 처음 써 본 언어에, 내 생에 해 볼 일은 절대 없을 거라 생각했던 모델링에... 모든 과정이 공부의 연속이어서 힘들었는데, 버그는 많고 레퍼런스는 적어서 더더더 힘들었다ㅠㅠ 그만큼 고생해서 완성하니 뿌듯하다. 물론 아쉬운 점이 더 많지만... 그건 차차 발전해 나갈 부분이겠지
  • 이제 곧 현장실습 지원 기간이라서 자소서 써야 함. 할 일은 끝나지 않는다... 쉬고 싶어
  • 이거 말고도 다른 프로젝트 때문에 한동안 유니티만 했는데, 다른 기술을 좀 배우면서 환기를 하려 한다. 스프링이랑 리액트 배우고 싶은데 스프링 다들 어렵다고 겁준다. 우선 자바 개념부터 다시 복습해야겠다. 천재 개발자 파이팅!!

0개의 댓글