VRCHAT를 제작하여 다른 유저에게 피해를 주는 총

3455 단어 UnityVRChat
지난번 계속해.
지난번에 제작된 총을 사용하여 총에 맞은 다른 유저에게 VRC_Combat System에 손상을 줄 수 있는 시스템을 만듭니다.PvP.
(※ VRC SDK 2019.2.5의 사양에 따라 먼 길을 도는 방법일 수 있습니다. 또한 이 SDK에서만 사용할 수 있는 방법일 수 있습니다.)

자체 적중 판정 제작


아래와 같이 Hit라는 큐브를 만듭니다.Box Collider를 Trigger로 설정합니다.
색깔은 이해하기 쉽지만 무슨 색이든 괜찮아요.
(VRCMirror에서 보지 않는 한 상대방과 자신은 보이지 않는다)

그런 다음 큐브를 선택하는 동안 애니메이션 탭에서 애니메이션 제작 도구를 만듭니다.
(레이블의 오른쪽 위 모서리에서 AddTab으로 표시)

추가 속성에서 변환 -> 위치 및 배율을 추가하고 다음과 같이 설정합니다.
예제 애니메이션은 1개만 포함됩니다.

이렇게 만들면 애니메이션 제작 도구가 Hit에 추가되고 이 애니메이션은 계속 실행됩니다.
이 히트는 Prefab입니다.

VRC Combat System 구성


VRC_를조합 시스템을 추가합니다.
설정은 다음과 같습니다.
방금 만든 Hit는 Visual Damege Prefab 프로젝트에 설정되어 있습니다.

원래 여기 VRCSDK에 있는 VRC_입니다.PlayerVisualDamage의 Prefab을 설정합니다.
이렇게 되면 피해를 입었을 때의 장력 효과가 나타나지만 이번에는 이 시스템을 이용해 자신을 따르는 대상을 실현했다.
이것은 Hit에서 애니메이션을 만드는 이유입니다. Visual Damege Prefab에서 설정한 물건의 비율이 변하기 때문에 애니메이션으로 덮어쓰고 고정합니다.
토이박스의 노하우를 참고했습니다.
https://vrcworld.wiki.fc2.com/wiki/Toybox

도면층 설정


이전에 생성된 탄환 Sphere의 Prefab에서 다음 빨간색 원을 눌러 AddLayer를 진행합니다.

프로젝트 및 높이 레이어가 추가되었습니다.

프로젝트 도면층을 탄알 조각으로 설정합니다.

(이번에는 Hit 레이어를 사용하지 않지만 Projectile과 Hit만 가벼워질 것으로 판단됨)

손상


Hit Prefab 선택, 아래와 같이 VRC_Trigger에서 추가 날짜를 설정합니다.
Projectile 레이어의 객체에 닿으면 자신이 피해를 입습니다.

Broadcast Type을 Local로 설정하여 자신에게만 영향을 줍니다.
(현재 규격에서는 Local 이외에 다른 유저도 피해를 입는다)
Broadcast Types 이해
https://docs.vrchat.com/docs/trigger-broadcast-types
로컬 테스트가 정상적으로 실행되지 않기 때문에 실제적으로 발표하고 확인하십시오.
나는 컴퓨터와 오큘러스 퀘스트에 두 개의 계정을 만들어 확인했다.
또한 Hit는 로컬에서만 작용하기 때문에 총알 효과 등은 총알의 촉발로 하는 것이 가장 좋다고 생각합니다.

환경


Unity 2017 4.2.8f1
VRC SDK 2019.2.5 (31 July 2019)

좋은 웹페이지 즐겨찾기