title: “[클래스] 5. 게임오브젝트(이론, 실습- 거울 껏다 키기)” categories:

  • UDONGRAPHcourse

    #[클래스] 5. 게임오브젝트(이론, 실습: 거울 껏다 키기) : 네이버 블로그

디스코드 : rage147#2898

언제나 질문은 환영입니다!!

​

https://discord.gg/E8rF9uTggA

서버 놀러오셔요~~

우동 관련 이야기 해요~~

​

​

​

​

​

오늘은 클래스를 배워보겠습니다

​

​

조작법은 저번 강의때 다들 어느정도 익숙해졌다고 생각하니

​

특별 사항이 없으면 빠르게 넘어가겠습니다

이론과 실습이 있는데

이론은 그냥 눈으로만 읽어주세요

​

​

​

1. 먼저 게임오브젝트가 뭔지 알아봅시다(이론)

오늘은 게임 오브젝트에 대해 알아보겠습니다

게임 오브젝트란 하이라키에 있는 모든 것들이 다 게임오브젝트입니다

​

​

크리에이트 엠ㅍ티를 누르면

​

인스펙터에 이렇게 뜨죠?

​

이것이 게임 오브젝트의 요소입니다

게임 오브젝트는

​

활성화유무

이름

스태틱

태그

레이어

활성화유무

트랜스폼컴포넌트

​

를 가지고 있습니다

게임오브젝트에 생각보다 많은 기능들이 있죠?

​

​

​

​

​

아래 이미지는 우동에서 사용 가능한 기능들입니다, 게임오브젝트 안에 있습니다.

아까 말했던 게임오브젝트를 구성하는 기능을 겟(가져옴)하거나 셋(설정)하는 얘들이 있습니다

​

가장 자주 쓰는 것만 뽑자면

​

겟 액티브인하이라키 (오브젝트 활성화 유무)

​

겟 네임 (오브젝트이름가져오기)

​

겟 트랜스폼 (트랜스폼(위치,회전,크기)가져오기)

​

셋 액티브입니다 (오브젝트 활성화 비활성화 설정)

​

가 있습니다

​

예제로 직접 해보시죠

​

​

​

​

2. 토글을 만들어보자

준비물은 거울, 버튼이 될 오브젝트(큐브), 우동파일입니다

​

​

​

​

먼저 버튼이 될 오브젝트에

우동비헤이버 컴포넌트를 추가하고

우동파일을 연결해주세요

​

​

​

+플러스 버튼을 누르고 GameObject를 누른 뒤

이름을 바꾸고 퍼블릭을 체크해주세요

​

그후 오른쪽 위 컴파일을 누르고

우동 비헤이버에 거울을 넣어주세요

​

진도가 너무 빠른가요? 이정도는 다들 할 거라고 생각합니다

​

​

퍼블릭을 체크하는 이유는 외부에서 게임오브젝트를 연결하기 위해서입니다

예를 하나 보겠습니다. 보기만하세요!!

​

​

​

변수에

mirror는 퍼블릭을 체크하고

mi는 퍼블릭을 체크하지 않았습니다

​

별표한곳을 보면 mirror만있죠?

퍼블릭을 체크한 변수만 연결을 할 수 있습니다

​

우리는 외부의 거울을 제어하기 위해 mirror를 퍼블릭해서 연결한겁니다

​

​

​

​

​

다시 코드로 돌아오겠습니다

자 일단 인터렉트 먼저 꺼내고 생각합시다

​

​

만들것은

거울이 꺼지면 켜지고 켜지면 꺼지는 버튼

즉 토글을 만들것입니다.

​

자 먼저 거울이 꺼져있나 켜져있나 알기 위해

mirror 와 겟액티브인하이라키 만든 후 연결해주세요!

겟액티브인하이라키는 게임오브젝트 안에 있습니다!!

​

​

​

​

​

​

​

겟액티브인하이라키는 bool이죠?

​

bool은 뭐죠? 기억나시나요?

참 거짓이요?

​

갯액티브인하이라키는 거울이 켜져있나 꺼져있나를 get합니다

​

​

​

​

이번엔 셋 액티브을 꺼내보겠습니다

​

​

​

여기까지는 이해가 가시나요?

인터렉트를 하면 셋 액티브가 실행되고 그 대상은 mirror입니다

​

​

​

크리에이트 노드를 누르고

boolean에 들어가

​

UnaryNegation을 가져옵니다

​

​

​

​

UnaryNegation은 현재 bool의 반대

참이면 거짓

거짓이면 참으로 바꿉니다.

​

​

​

​

​

정리하면

인터렉트를 하면 mirror의 상태를 설정하는데

그 값이

거울의 상태의 반대입니다

​

​

이해가 가시나요?

거울이 꺼져있으면 키고

켜져있으면 꺼짐을 생각해주세요!!

​

​

천천히 코드를 보시면 이해가 될거에요!

bool은 참 거짓의 값을 가진다.

참의 반대는 거짓

거짓의 반대는 참임을 알면 좋습니다!!

​

​

​

​

​

​

​

게임오브젝트의 Tmi

게임오브젝트에는 태그라는 요소가 있지만 우동에서는 지원하지 않습니다

​

게임오브젝트에는 getActive와 getactiveInHierarchy 두개의 기능이 있습니다

둘 다 오브젝트가 켜져있냐 꺼져있냐를 겟하는 얘인데

오브젝트의 상위 오브젝트가 하이라키에서 비활성화 되었을때(자신이 스스로 setActive로 끈게 아니라 상위에서 꺼졌을때)

겟액티브는 안꺼졌음으로 나오고

겟액티브인하이라키는 꺼짐으로 나옵니다

즉 갯액티브는 하이라키에서 꺼져있어도 setActive에서 끈게 아니면 true로 나옵니다

​

게임오브젝트는 VRChat에서 오너의 개념이 있습니다

모든 오브젝트는 오너가 있습니다.

​

​

​

​

디스코드 : rage147#2898

언제나 질문은 환영입니다!!

​

https://discord.gg/E8rF9uTggA

서버 놀러오셔요~~

우동 관련 이야기 해요~~

​

​

업데이트: