Udemy의 「【UE4】Unreal Engine 4 + VR로 건축 비주얼라이제이션」으로 도어 노브의 처리를 개선해 보았다
3311 단어 위 4UnrealEngineUnrealEngine4VR
소개
Udemy 에서 @shop_0761 씨의 【UE4】Unreal Engine 4 + VR로 건축 비주얼라이제이션 을 해보고 신경이 쓰이는 거동이 있었으므로 개선해 보았습니다.
신경이 쓰이는 부분
이 강좌에서는 VR 내에 도어를 설치하고 컨트롤러로 도어 노브를 돌리면 도어를 열 수 있습니다.
문 손잡이를 잡으면 Pickup
이벤트가 호출되어 손 개체가 되는 Contoller
를 숨깁니다.
그리고 문 손잡이를 놓으면 Drop
이벤트가 불려 Controller
를 다시 표시하고 있습니다.
이때 양손으로 문 손잡이를 잡으면 다음과 같이 먼저 잡은 손이 사라진 채로 됩니다.
이 강좌에서는 VR 내에 도어를 설치하고 컨트롤러로 도어 노브를 돌리면 도어를 열 수 있습니다.
문 손잡이를 잡으면
Pickup
이벤트가 호출되어 손 개체가 되는 Contoller
를 숨깁니다.그리고 문 손잡이를 놓으면
Drop
이벤트가 불려 Controller
를 다시 표시하고 있습니다.이때 양손으로 문 손잡이를 잡으면 다음과 같이 먼저 잡은 손이 사라진 채로 됩니다.
또한 어느 손에서 먼저 놓아도 이상한 일이됩니다.
이것을 나중에 잡은 손이 문 손잡이를 잡고 먼저 잡고 있던 손을 다시 표시한다.
또 먼저 잡고 있던 손을 떼어도 아무것도 하지 않는 개선을 해봅니다.
문 손잡이를 잡는 처리 개선
개선에 있어서 우선은 사양을 결정합니다.
첫 번째 항목은 실현되어 있기 때문에 나머지 2개를 개선한 것이 핑크 선으로 둘러싸인 부분입니다.
먼저 잡은 손을 다시 표시
Pickup
이벤트가 불려 갔을 때에 이미 잡고 있는지 판정할 수 있으면 좋기 때문에 Controller
가 유효한지 어떤지로 분기합니다.Drop
이벤트에서 Set Visibility
다음에 Controller
를 파기 Pickup
이벤트에 Attach To
를 Controller
에 대입하기 전에 IsValid
함수의 결과가 Is Valid
이면 Set Visibility
어느 쪽의 손으로 도어 노브를 잡고 있으면
Controller
를 유효, 양손을 놓고 있으면 Controller
먼저 잡고 있던 손을 떼어도 아무것도
Drop
이벤트가 불렸을 때 어느 손을 놓았는지 모르기 때문에 조금 막혔습니다만, VR Template로부터 가져온 BP를 개조해 실현할 수 있었습니다.우선은
VirtualRealityBP/Blueprints/PickupActorInterface
의 Drop
의 Inputs 에 변수를 추가합니다.다음으로
VirtualRealityBP/Blueprints/BP_MotionController
의 ReleaseActor
그래프로 Drop
의 인수 DettachFrom
에 MotionController
를 연결합니다.이제 문
Drop
이벤트가 불렸을 때 놓은 손을 잡을 수 있게 되었기 때문에 변수 Contoller
손이므로 아무것도 하지 않는다고 판정할 수 있게 되었습니다.사이고에게
VR Template를 사용하면 간단하게 잡기 처리를 실장할 수 있고, 개조도 비교적 간단하게 할 수 있으므로 도입에 추천입니다.
여기에서 한층 더 양손으로 잡았을 때에 확대 축소하거나 여러가지 발전할 수 있을 것 같습니다.
Reference
이 문제에 관하여(Udemy의 「【UE4】Unreal Engine 4 + VR로 건축 비주얼라이제이션」으로 도어 노브의 처리를 개선해 보았다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shiena/items/0f0315bf26e3a94b7387텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)