brightmoon

[unreal engine] 다가서면 켜지는 불빛과, 자동 문 만들기 본문

- Movie/[unreal engine ]

[unreal engine] 다가서면 켜지는 불빛과, 자동 문 만들기

밝은달. 2018. 11. 4. 11:45
728x90
반응형






오늘 만들어본 것은,

가까히 다가서면 열리는 형태의 슬라이드 도어와, 

다가가면 자동으로 켜지는 센서등이다.





우선 센서등부터 만들어 보자,

좌측의 기본탭 안쪽의 박스트리거를

 드래그앤드롭으로 화면에 꺼내오자.




그럼화면과 같이 와이어 프레임만 출력되는

 박스가 생성되는것을 볼수 있는데,

이는 해당 영역 안에 플레이어가 다가가면 

인식할수 있도록하는 센서로,


플레이어가 인식될수 있을정도의 

적당한 크기를 만들어 화면에 배치해 주자




그다음은 센서 등으로 사용할 등을 가져오자.

마찬가지로 스포트 라이트는 라이트 탭안쪽에서 찾을 수 있고,

마찬가지로 드래그앤드롭으로 화면에 배치 할수 있다.


화면에 등을 배치했으면, 

우측의 옵션에서 

3. 인텐시티(빛의 밝기)와 

4. 라이트 컬러를

  불이켜지면 알아보기 쉽도록 만져주자.





위처럼 설정했다면, 우측메뉴를 조금 아래로 내려서,

렌더링 탭안에 있는 visible 옵션을 꺼주자.


이는 나중에, 블루프린트로 코딩을할때 옵션에 

연결하는 노드가 불이켜져있으면끄고, 

꺼져있으면 키는 옵션이기 때문에 미리 불을 꺼 두는 것이다.




자그럼 이제 본격적으로 블루 프린트로 코딩을 시작해 보자!

블루 프린트 화면을 여는 법은 상단의 

1. 블루 프린트 - 2. 레벨 블루 프린트 열기

옵션을 실행해 주면 된다. 




위와 같이 블루 프린트 화면이 열렸다면, 

아웃라이너에서 트리거 박스를 미리 선택해 주고,

 빈화 면의 공간에 


2. 오른쪽클릭 - 3.트리거 박스에 대한 이벤트 추가 

- 4.온엑터 비긴 오버랩 - 5.(+온엑터 엔드 오버랩)


옵션을 각각 하나씩 꺼내서 두개의 노드를 화면에 배치하여 주자




화면과 같이 두노드를 배치해주고,


1. 좌측의 아웃라이너의 스포트라이트를 드래그앤드롭으로 블루프린트화면에 가져와 주자.

4. 그후, 스포트 라이트 노드의 우측연결점을 드래그앤드롭해여

 화면의 빈공간에 끌어다 놓으면 새노드를 생성할 수 있는 선택창이나타나는데,

여기서 toggle visibility  를 선택해서 가져오자.




그후 불러진 토글 비주빌리티 옵션을 위와 같이 연결하면,

 다가서면 켜지는 센서등 만들기는 모두 끝이난다.




나는 빛이 봤을떄 확티가 나도록 푸른빛으로 설정했다.











다음에해볼것은 슬라이드 문을 만드는것이다!\우선 화면처럼 간단하게 문을 모델링해줘보자.







그리고 위에서 했던 방법과 동일하게 박스형트리거를 배치하자.




마찬가지로 블루프린트 프로그래밍을 진행할것이므로,

상단의 블루 프린트 메뉴 -  레벨 블루 프린트 열기

메뉴를 실행하여 블루프린트를 열어주자.




그리고 아까와 마찬가지로, 문을 열리게할 조건인 트리거를 우측의 아웃라이너에서 선택한후,

빈공간 오른쪽클릭 -  트리거 박스에 대한 이벤트 추가 - 콜리전 - 온 액터 비긴 오버랩 / 온 엑터엔드  오버랩

옵션을 눌러서 마찬가지로 아까와 같이 2개의 노드를 생성시켜주자.



  

저렇게 두개의 노드를 생성하였으면, 빈공간에 다시 오른쪽 클릭 - 타임라인 추가

옵션을 실행하여 타임라인 노드를 생성 시켜 주자



그리고 타임라인 노드가 생성되면 (노란색라벨) , 

앞서만든 두개의 노드를 위와 같은 형태로 연결해 주자




1. 그후 컴파일 버튼을 눌러 오류 가 있는지 없는지 확인해주고,

없다면, 다시 노란색라벨의 타임라인 노드를 더블클릭하여

 해당노드 내부로 들어가 주자.





그러면 위와 같은 화면이 나타나는데, 

1. 벡터 아이콘을 눌러 벡터그래프 타임라인을 추가해주고,

2. 마지막 키프레임까지 데이터 값으로 사용할것이므로, 

 '마지막키프레임까지 사용'이라는 옵션의 체크 박스를 체크 하여준다.






그리고 우리가 문을 이동시킬 방향을 뷰포트에서 확인후,

블루 프린트 화면 내부 타임라인탭으로 돌아와 해당 방향의

 벡터 라인을 제외한 라인들은 화면에 표시되지않도록 눈을 모조리 꺼준다.




그후, 화면처럼,

 쉬프트 클릭으로 키프레임을 생성해 

원하는 위치에 점을 위치시키도록하자.


점이 화면을 벗어나 안보이는 경우에는,

중앙 상단의 대괄호 안의 양쪽화살표 형태의 

아이콘을 눌러 화면에 정렬되도록 해주자.







그리고 쉬프트를 누른상태로 키프레임을 다중선택을 해주고,

 오른쪽 클릭 - 자동 옵션을 눌러 선에 기울기를 자연스럽게 수정해 주자.




위옵션을 정상적으로 실행했다면 이런 형태의 그래프로 나타나게 된다.





그리고 다시 아웃라이너에서 문 오브젝트를 

드래그앤드롭으로 블루 프린트 화면으로 가져오자.




그후, 위처럼 오브제노드의 우측연졀점을 길게 화면의 빈곳으로 그래그앤드롭을하면

 역시나 새로운 노드를 불러 올 수 있는 창이 나타나는데,

해당창에서 set actor location and Rotation 을 검색해, 

오브제와 타임라인을 연결해줄 노드를 새로 불러오도록 하자




해당노드를 불러오면, 위처럼 연결해주면 된다.



하지만 저것은 게임맵의 0.0.0 을 기준으로 문이 애니메이션되게 되므로,

새롭게 문의 위치값을 재지정 해주어야 한다.




그전에, 문이 움직일 수 있는 메시가 되도록,

메인 화면창에서 


아웃라이너에서 - 문오브제 선택

모빌리티를 원래 스태틱으로 설정되어 있는데,

 무버블로 바꾸어 주도록하자.





위설정을 마쳤다면 이제 본격적으로 

문의좌표를 지정해주는 노드세트를 만들어 보자.


마찬가지로 화면의 빈공간에서 

오른쪽 클릭 - 이벤트 gegin play 을 검색해서 노드를 불러와주자.




그러면 저렇게 작은 빨간노드가 불러와진다.

그후에는  아웃라이너에서, 

문오브제를 블루프린트 화면으로 그래그앤드롭하여가져오고,

문 오브제 노드의 우측 연결포인트를 허공에 드로그앤드롭하여, 겟 엑터 로케이션 노드를 불러주자.




그러면 위와 같이 노드들이 추가된다.

그러면 다시 겟엑터 로케이션의 우측 연결포인트를

 오른쪽클릭해서 변수로 승격 옵션을 실행해주자.





그리고 처음에 만들어두었던 노드와 위처럼연결해주면,

문의 위치를 지정해 줄수 있는  노드 배열은 끝난다.







그렇게 변수로 지정해서 노드 셋을 만들어주고 나면 

블루 프린트 화면의 좌측에서, 노란알약처럼보이는 아이콘을 발견할 수 있는데,

이는 우리가 방금 셋으로 지정해준 노드배열을 그룹화 해준것으로,

해당알약모양을 화면에 드래그 앤 드롭 - 겍어쩌고

메뉴를 실행시켜주면 화면에 그룹화된 해당노드를 가져오는 것이 가능하다.





그리고 빈허공을 오른쪽 클릭하여 

vecter +vecter (add로 검색하면  찾을 수 있음) 

노드를 화면에 불러와주자.




그리고 해당노드를 위처럼 연결하면  자동문 만들기는 끝이 난다. 

원리는 우리가 지정해둔 문의 위치값에 벡터 add노드를 통해 타임라인으로 만든 벡터 노드를 추가해주었다고 보면 된다.




전체적인 노드의 형태는 위와 같다.




완성된 자동문의 형태.





위에서 찍은 노드가 잘 안보일것 같아 

확대해서 찍어보았다.



반응형
Comments