VRChat 마이너 갤러리 저장소

제 목
일반 일본인이 테스트한 다이나믹 본이 성능에 미치는 영향 보고
글쓴이
하벤하이드
추천
10
댓글
9
원본 글 주소
https://gall.dcinside.com/vr/39377
  • 2018-08-09 10:47:52
							

http://www.doll-profile.com/blog/131


[VRChat] DynamicBone이 성능에 미치는 영향 조사보고

DynamicBone에 대해 처리가 무거운, 아니 그렇게 무겁지 않은, Gravity가 무거운, 아니 사실 무겁지 않은 등등, 다양한 정보가 착종하고 자신 궁금했기 때문에 조사해 보았습니다.

참고로 나 자신은 평소에는 HTML을 쓰고있는 인간에서 Unity이나 게임 제작은 완전히 아마추어입니다. 가능한 의미있는 검증을하려고했지만 본직의 사람이 보면 엉뚱한 일을하고있을 가능성도 있기 때문에, 만약 이상한 곳 있으면 쭉쭉 돌진 해 주셨으면하고 생각합니다.

8/4 추기

DistantDisable는 VRChat에서 자동으로 활성화되는 것을 확인했습니다. (강제로 DistantDisable에 체크가 들어가 Distance to Object에 10의 값이 들어간 상태가 .Distance to Object 5 등 작은 값을 설정 한 경우에도 10 값으로 강제됩니다)

그래서 2018 / 08 / 04 현재 사용자가 DistantDisable와 Distant to Object의 설정을 만지작 거려도 의미가 없습니다.

결론

자세한 상당히 길기 때문에 먼저 결론을.

  • Gravity를 설정하여도 부하는 변하지 않는다
  • UpdateRate을 내려도 대부분 가볍게한다
  • DistantDisable 가볍게하는 효과가 크므로 결정 하자고 (그 때는 DistanceToObject을 가능한 한 낮게 해 주었으면)

검증 방법

  • Unity의 Profiler에서 확인
  • 장면에 20 장만 여기 모델을 배치하고 DynamicBone을 설정 (무당은 CandyRockStar을 춤추게하는)
  • 검증 단말기의 CPU는 i5 8400

Unity에서 검증 한 이유는 렌더링의 문제가 아니기 때문에 VR 환경 인 필요는 없다고 판단했기 때문입니다. 만일을 위해 일부 VRChat에서 결과가 같은지 확인 했습니다만, Unity에서의 검증 및 결과는 바뀌지 않았다.

검증 패턴은 다음과 같습니다.

  • DynamicBone 없음
  • DynamicBone 있습니다
  • DynamicBone 있습니다 (Gravity 값을 입력)
  • DynamicBone 있습니다 (위 외에도 DynamicBoneCollider을 배치)
  • DynamicBone 있습니다 (위 외에도 UpdateRate을 30)
  • DynamicBone 있습니다 (위 외에도 DistantDisable를 사용)

DynamicBone 없음

no_dynamic_bone

위 2.1ms가 Rendering (렌더링) 아래 0.9ms가 Others (카테고리 분류가 어려운 것)에 소비되는 시간입니다.

DynamicBone 처리에 소비되는 시간은 파란색 Scripts (스크립트)로 표시됩니다. 지금은 DynamicBone을 설정하지 않기 때문에 거의 표시되지 않아요.

DynamicBone 있습니다

dynamic_bone

  • 트윈 테일
  • 소매

에 대한 기본 설정 DynamicBone을 설정 한 상태입니다. DynamicBone의 처리 시간은 1.5ms되어 있습니다.

1.5ms 보니 짧게 느껴 있지만 90FPS를 지향 경우 1 프레임의 처리 시간은 11ms입니다. 사용할 수있는 처리 시간의 10 % 이상을 DynamicBone 만 사용 버리고 있기 때문에 결코 가벼운 처리라고는 할 수있는 것 같습니다.

DynamicBone 있습니다 (Gravity 값을 입력)

dynamic_bone_with_gravity

DynamicBone 모든 Gravity : Y로 "-0.02"을 설정 한 상태의 물건입니다. 처리 시간은 변함없이 1.5ms이므로 Gravity 특히 무거운 처리가 아닌 것 같습니다.

실제로 DynamicBone 소스를 확인 했습니다만, Gravity의 유무로 처리가 무거워지는 같은 곳도 눈에 띄지 않았기 때문에이 결과는 타당한 것으로 생각합니다.

DynamicBone 있습니다 (위 외에도 DynamicBoneCollider을 배치)

dynamic_bone_with_gravity_and_collider

몸에 2 개, 소매에 영향을 Collider를 설정 한 것입니다. 처리 시간은 0.3ms 증가 1.8ms입니다.

단 2 곳의 Collider에서 처리 시간이 이만큼 늘어난 때문에 Collider 투성이의 아바타는 매우 위험하게 될까 ...

DynamicBone 있습니다 (위 외에도 UpdateRate을 30)

dynamic_bone_with_gravity_and_collider_rate_30

여기에서 DynamicBone의 처리를 가볍게하기위한 설정의 검증입니다.

UpdateRate는 1 초에 몇 번 DynamicBone를 업데이트하거나 설정합니다. 기본이 60이므로 절반 설정해 보았습니다.

결과는 1.7ms와 0.1ms 밖에 짧아지고 있지 않습니다. 과연 궁금해 조사한 곳, UpdateRate가 작은 경우에 처리를 생략하는 처리 "SkipUpdateParticles"가 있는데, 그것은 상당히 무거운 처리가되어있었습니다.

Collider 투성이의 DynamicBone라면 나름대로 유용한 설정은있다라고 생각 합니다만, 그렇지 않으면 UpdateRate 처리 부하에 관해서는 그다지 영향을주지 않으므로주의하십시오.

DynamicBone 있습니다 (위 외에도 DistantDisable를 사용)

dynamic_bone_with_gravity_and_collider_distance_5

이곳은 DistantDisable를 활성화 한 다음 DistanceToObject 5를 설정 한 패턴입니다. (앞 3 장만 DynamicBone이 움직이고 있습니다)

이곳은 처리 부하가 0.6ms까지 떨어지고있어 UpdateRate와 달리 활성화하고 있어요.


DynamicBone를 사용할 때는 DistantDisable을 활성화하고 DistanceToObject를 가능한 한 작게 해주면 주위에 친화적 인 것으로 생각합니다.

(모두의 추기대로 VRChat에서 강제 설정이 활성화됩니다)

이상

성능에 관해서는 체감하기 쉽기 때문에 상당히 분위기에서 이야기 경향인데, 실제로 조사해 보면 의외의 결과가되기도하네요.

현재 운영하고있는 월드는 성능에 상당한 어려움을 겪고있다 (20 명 초과 근처에서 CPU 부하가 위험하다 ...) 때문에, 이런 부하 조사 기사가 증가하면 좋다고 생각 썼습니다.

선전

img_feature_dancehall01

Silent Club 이라는 월드를 만들었습니다. 음성 채팅 강제 음소거 월드입니다. 공용으로 지정하지 않고 기본적으로 일주일에 한 번 개점합니다.

제작은 나와 실린더 씨 의 두 사람. 싹둑 분담은 실린더 씨가 외형 부분 (Blender에서 모델링, 라이팅 등) 및 특수 효과의 아이디어, 제가 기술적 인 부분 (효과와 특수 효과의 구현 등)와 WEB 사이트 제작됩니다. 제작 착수에서 최근의 정식 오픈까지 대략 2 개월 정도였습니다.

(나 포함) 대화를 싫어하는 사람도 그렇지 않은 사람도 함께 즐길 수있는 장소가 있으면 좋겠다라고 생각하고 만들었 기 때문에 가자. "VRChat 시작했지만 대화가 ..."라는 사람을 발견했을 때에는 꼭 추천 해 주실 수 있으면이라고 생각합니다.



크롬 번역기 돌린거라 말이 좀 이상할수도있음 원문보고싶으면 댓글링크 ㄱ


하벤하이드 http://www.doll-profile.com/blog/131 2018.08.09 10:47:58
하벤하이드 다이나믹본을 가진 물체를 볼때 일정거리 떨어지면 다이나믹본을 끄는 옵션이 있는데 이게 vrchat내부에서는 자동으로 거리 10으로 강제 적용되어있음 2018.08.09 10:49:43
Lydie 3줄요약은? 2018.08.09 10:52:12
하벤하이드 본문에 결론있음 3줄임 2018.08.09 10:52:40
하벤하이드 내 결론은 컬라이더가 많을수록 프레임 드랍이 커진다 2018.08.09 10:53:51
하벤하이드 제일 유의미한 옵션이 거리에 따른 다이나믹본 해제 옵션인데 저게 vrchat에서 이미 강제로 10으로잡혀있으니 컬라이더를 줄이는게 제일 유의미 2018.08.09 10:54:10
하벤하이드 나는 컴 하이스펙이고 내 아바타는 내가 쓸떄 이상없음 최적화 ㅈ까 컬라이더 떢칠해야 이쁨 이런사람이 한월드에 20명있으면 누구라도 렉쩔듯 2018.08.09 10:55:31
늑대소녀 성능 많이 타는구나 역시 2018.08.09 10:56:06
zetyx 캐릭터 몰려있는 곳에서 멀리 떨어지면 프레임이 나아지던데 다이나믹 본때문이었군 2018.08.09 11:35:12
번호 분류 제목 글쓴이 날짜 추천
51939 일반 레노버 MR 후기 ( VS 오디세이 ) 5 ㅇㅅㅇ 121.175 2018-09-18 1
51938 일반 저댄방 자동재생 랜덤으로하는건 불가능한거임? 울테 2018-09-18 0
51937 일반 머리만 vr 쓰는거는 머에용? 2 ㅇㅇ 118.46 2018-09-18 0
51936 일반 우사기 아바타 사고나서 유니티에서 하는방법 모르는 사람 있냐? 13 토끼상 2018-09-18 0
51935 일반 vr챗 컴터 화면에는 게임이 뜨는데 오큘엔 안떠 시발 3 ㅇㅇ 1.11 2018-09-18 0
51934 일반 저댄방 선곡 하는건 나쁘지 않은데 4 으ㅡ음 2018-09-18 0
51933 일반 저녁 10시쯔음에 뱅하는거, 룰 모르는사람도 괜차는거시야 7 아라이 183.103 2018-09-18 0
51932 일반 내가 돈 아깝고 캐릭 없어서 인터넷에서 모델 얻어서 ㅇㅇ 175.223 2018-09-18 0
51931 일반 가끔은 초심으로 돌아가자 7 Lakenls 2018-09-18 0
51930 일반 립모션 설치 간편하고 잘작동하는데 2 다이소vr 124.60 2018-09-18 0
51929 일반 브알키기전에 유니티 먼저키면 없던 버그도 찾게 됨 ㅇㅇ 180.231 2018-09-18 0
51928 일반 던전 근데 입구 들어가서 다 옆으로 빠지면 되는거아님??? ㅇㅇ 118.218 2018-09-18 0
51927 일반 아으어어어어 하루종일 미쳐버릴거같음 3 하벤하이드 2018-09-18 0
51926 일반 솔직히 저작권 관련된 이야기 나오면 깨끗한놈은 별로 없을거임 5 ㅇㅇ 118.218 2018-09-18 0
51925 일반 그 던전 보스가는길 차렷혼자 지나갈수잇음? 3 ㅇㅇ 59.31 2018-09-18 0
51924 일반 보드게임은 간단한게 좋아 2 으ㅡ음 2018-09-18 0
51923 일반 오리지널 만들고있음 6 카랑카람 2018-09-18 0
51922 일반 시바 라무네냐 이치고냐 그게 문제다 ㅅㅄㅂ 8 dd 118.218 2018-09-18 0
51921 일반 이따가 저녁 10시쯔음에 가치 뱅할사람 구하는거십니다 6 아라이 183.103 2018-09-18 0
51920 일반 vrchat말고도 3D 프린트도 저작권 문제가 비슷하게 복잡함 3 러닝머신러닝 2018-09-18 2
51919 일반 샤로 아바타에 미코 머리카락이랑 귀 뚜따가능한가 1 ㅇㅇ 121.139 2018-09-18 0
51918 일반 와씨X진짜 도시전설인줄알았는데 컴퓨터 ㅈ댈뻔했네 12 dd 59.14 2018-09-18 0
51917 일반 집가서 트래커설정해야지.. 1 늒네에요 211.36 2018-09-18 0
51916 일반 꿀팁) 추석 조카 대처법 7 Kawaii_Doggy 2018-09-18 0
51915 일반 바이브왓다 쉬ㅣ벌~~ 2 CHJ. 2018-09-18 0
51914 일반 블렌더 질문 ㅇㅇ 1.245 2018-09-18 0
51913 일반 립모션 케이블 2개나주네 다이소vr 124.60 2018-09-18 0
51912 일반 유동이 나랑 h했다고 쓴 글 사라졌네 1 ㅇㅇ 220.121 2018-09-18 2
51911 일반 여캐는빵댕흔드면 친추오는거면 로봇은 조종석열어주면 친추오냐 2 ㅇㅇ 121.135 2018-09-18 0
51910 일반 뷔알챗 시작한지 2달 계정 새로 파야하는각? 7 ㅇㅇ 14.46 2018-09-18 0
51909 일반 이불에서 자는아바타같은건 어떻게 구현가능할까..???? Jinsilly 221.153 2018-09-18 0
51908 일반 존나 욕하고싶은애 있으면 걍 아바타 하나로 시비걸어도 될거같지않냐ㅋㅋ? 6 ㅇㅇ 125.180 2018-09-18 0
51907 일반 베이스시킬때 배송등급 한단계 높은걸로 할껄 2 하벤하이드 2018-09-18 0
51906 일반 트래커질문좀.. 1 늒네에요 211.36 2018-09-18 0
51904 일반 커메로 아바타 만드는거 엄연히 불법이었네 6 MANKALO 2018-09-18 4
51903 일반 상하차 최저시급 아니라는 사람있어서 1 거미군주 2018-09-18 0
51902 일반 친구 그냥 사람 좀 있는맵에서 드러누우면 생기던데 3 ㅇㅇ 175.223 2018-09-18 0
51901 일반 솔직히 예전 브챗이 좋았더 4 타나토스시스템 2018-09-18 0
51899 일반 요즘 스팀vr 오류인가 이거 경험해본사람잇냐 타나토스시스템 2018-09-18 0
51897 일반 유니티 질문 좀 할게용 ㅠㅠ 1 웅냥이 222.235 2018-09-18 0
념글 삭제글 갤러리 랭킹