Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VRChat avatars support #76

Open
wants to merge 562 commits into
base: master
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
562 commits
Select commit Hold shift + click to select a range
5a0e911
Small mesh dolly dead code cleanup
Oct 27, 2019
e014cf9
Major Unity emulation structure update
Oct 27, 2019
9377354
Hook in new Unity local engine API
Oct 27, 2019
d906abf
Make PoseManager an instance
Oct 27, 2019
f191555
Small dead code cleanup
Oct 27, 2019
e45c7e3
More dead code cleanup
Oct 27, 2019
1a07217
Add multiplayer.js
Oct 28, 2019
666ea4c
Add multiplayer.js open/close/error events dispatch
Oct 28, 2019
7f0f25f
Add initial multiplayer connect button
Oct 28, 2019
96f6d3f
Small multiplayer.js bugfix
Oct 28, 2019
99f6fa7
Major model loading refactoring
Oct 28, 2019
7e48b88
Add random date offset to model posing
Oct 28, 2019
c9097f9
Add initial multiplayer support
Oct 28, 2019
a748bf3
Do not auto-enable mic
Oct 28, 2019
f3a4cd0
Add peer connection lerp support
Oct 28, 2019
d40a374
Feet jump rotation cleanup
Oct 28, 2019
60006f4
Bugfix disconect typo
Oct 28, 2019
22e094a
Add avatars microphone media stream processing
Oct 28, 2019
828284c
Add mic disable support
Oct 28, 2019
d817816
Add audio volume worklet passthrough
Oct 28, 2019
cfb1de5
Major multiplayer.js offer renegotiation bugfixing
Oct 29, 2019
76b52be
Add audo volume worklet muted message support
Oct 29, 2019
cd5ae64
Configure remove microphone media streams as non-muted
Oct 29, 2019
8b0270c
Small logging cleanup
Oct 29, 2019
94d23e7
Small legs cleanup
Oct 29, 2019
944ff09
More legs manager cleanup
Oct 29, 2019
bfe1596
Bugfix unity emulation method calls
Oct 29, 2019
c9bf9ab
Arm transforms dead code cleanup
Oct 29, 2019
43b695a
Avatar VR tracking references dead code cleanup
Oct 29, 2019
d947d77
VRArmIK dead code cleanup
Oct 29, 2019
46dc8be
Major pose manager unity cleanup refactoring
Oct 29, 2019
1df714d
Finish unity components extraction
Oct 29, 2019
32f5fa3
VRArmIK dead update code cleanup
Oct 29, 2019
5ec6f75
More dead code cleanup
Oct 29, 2019
dd591b5
Remove unity engine instantiation for rig
Oct 29, 2019
6935712
Comment out dead unity engine implementation
Oct 29, 2019
f347140
Remove dead avatar tracking references code
Oct 29, 2019
b7b446a
Small dead code cleanup
Oct 29, 2019
1d04c2c
Small hips rotation code cleanup
Oct 29, 2019
f4913a1
More rotation code cleanup
Oct 29, 2019
48cad11
Shoulder rotations cleanup
Oct 29, 2019
74752c5
Clean up wrist rotation computation
Oct 29, 2019
a3dd3ab
More dead code cleanup
Oct 29, 2019
2d3a2b0
Disable shoulder dislocation
Oct 30, 2019
735e4a5
Small gamepads cleanup
Oct 30, 2019
16a9132
Majro VRArmIK rewrite
Oct 30, 2019
17d41e2
Major VRArmIK dead code cleanup
Oct 30, 2019
82b73df
Increase default user height to 1.7
Oct 30, 2019
ee09e3b
Initialize finger gamepad input values
Oct 30, 2019
9e5aa8f
Read finger input values
Oct 30, 2019
8c8e0d2
Add finger bones loading
Oct 30, 2019
eb7efa0
Add finger bones processing
Oct 30, 2019
a25981a
Flag finger bones enabled in avatars demo
Oct 30, 2019
da72405
Bugfix gamepad indices again
Oct 30, 2019
8a574a2
More input sources handedness debugging
Oct 30, 2019
4ebd303
Small legs cleanup
Oct 30, 2019
0f7909f
Small unity emulation cleanup
Oct 30, 2019
35f6420
Expose unity transform matrix/matrixWorld
Oct 30, 2019
ecf5f54
Small VRArmIK cleanup
Oct 30, 2019
8075845
More pose flow cleanup
Oct 30, 2019
7596a04
VRArmIK cleanup again
Oct 30, 2019
348bca4
More unity dead code cleanup
Oct 30, 2019
3b55296
Remove dead StaticOffsetTransform.js
Oct 30, 2019
92de400
VRArmIK memory management cleanup
Oct 30, 2019
1474575
More memory optimizations
Oct 30, 2019
cf1b174
Legs manager dead code cleanup
Oct 30, 2019
897b4f5
More legs manager dead code cleanup
Oct 30, 2019
478fe17
Major arm transforms cleanup
Oct 30, 2019
b03d665
Clean up VRArmIK initialization
Oct 30, 2019
43774b5
More legs manager optimization
Oct 30, 2019
f3fc775
Shoulder poser memory optimization
Oct 30, 2019
d56acbe
Major shoulder poser optimization
Oct 30, 2019
be3993d
More shoulder poser memory optimization
Oct 30, 2019
0e84440
More shoulder poser optimization
Oct 30, 2019
ef0f189
Remove dead flipY latch
Oct 30, 2019
e28be2a
More pose manager cleanup
Oct 30, 2019
e5b7285
Bugfix Rig premultiplies
Oct 30, 2019
e5bfb92
Optimize Rig.js main loop
Oct 30, 2019
492646c
Clean up vrarmik.html
Oct 30, 2019
59919d7
Major Rig.js main loop memory optimization
Oct 30, 2019
efe7fb4
More legs manager memory optimization
Oct 30, 2019
9a1c080
Fall back to lookup filesystem resoures based on extension
Oct 30, 2019
5d9160a
Add model post-patch support
Oct 30, 2019
35c7d86
Small data loading cleanup
Oct 30, 2019
bffc312
Compute flip z from left arm instead of virual eye direction
Oct 31, 2019
21fb674
Small flip z cleanup
Oct 31, 2019
4db06bf
Bugfix arms prerotations in flip z case
Oct 31, 2019
3bd9858
Add model6.zip example
Oct 31, 2019
561926c
Clean up avatar tracking references
Oct 31, 2019
29ef943
Remove dead AvatarVRTrackingReferences.js
Oct 31, 2019
c26e2c4
Small PoseManager code cleanup
Oct 31, 2019
be9783a
Small vr tracking references naming cleanup
Oct 31, 2019
15aa757
Small pose manager cleanup
Oct 31, 2019
36fd5a7
Make vr tracking references Object3D
Oct 31, 2019
25597ac
Major VRArmIK memory optimization
Oct 31, 2019
45feaf5
More shoulder poser memory cleanup
Oct 31, 2019
d6bead4
Pose manager dead code cleanup
Oct 31, 2019
b4b573f
Small shoulder poser cleanup
Oct 31, 2019
a348dab
Small VRArmIK rotations cleanup
Oct 31, 2019
fac7baf
Legs manager memory cleanup
Oct 31, 2019
8fb75d1
More legs manager cleanup
Oct 31, 2019
4d438e4
More legs manager memory cleanup
Oct 31, 2019
b73337b
More major legs manager memory cleanup
Oct 31, 2019
105b01e
Small code cleanup
Oct 31, 2019
47c5588
Clean up meshes matrix world on demo page
Oct 31, 2019
5202efd
Major rewrite of IK transforms to use plain THREE.Object3D
Oct 31, 2019
9d81c60
Unity matrix world optimizations
Oct 31, 2019
964d3b0
Allow thigh as upper leg name in Rig.js
Oct 31, 2019
ec17bcd
Update shoulder poser to be radian-based
Oct 31, 2019
6e9659f
Bugfix peer connection data reads
Oct 31, 2019
fc583bf
Small vrarmik.html THREE.js references cleanup
Oct 31, 2019
2b7b8de
Small vrarmik.html cleanup
Oct 31, 2019
f8bf0f7
Small vrarmik.html cleanup
Oct 31, 2019
2fc3c58
Peer connection cleanup
Oct 31, 2019
41c7d23
Clean up error stack logging
Oct 31, 2019
6560335
Small armature scale factor cleanup
Nov 1, 2019
f2ef918
Bugfixing multiplayer scaling
Nov 1, 2019
f290690
Small scene cleanup
Nov 1, 2019
c783a62
Clean up pose lerping
Nov 1, 2019
8d933ef
Decrease remote pose update rate
Nov 1, 2019
7e06b0d
Small multiplayer.js addTrack bugfix
Nov 1, 2019
f0abfa8
Add fingers tracking support
Nov 1, 2019
c32823b
Do not add debugging meshes to scene
Nov 1, 2019
3667227
Add initial head decapitation support
Nov 1, 2019
cc7cac4
Add initial camera dolly support
Nov 1, 2019
4cf1760
Clean up thumb positioning
Nov 1, 2019
bd15844
Bugfix thumbstick direction not headset-aware
Nov 1, 2019
31742b2
Small mirror mesh cleanup
Nov 1, 2019
e8d3f85
Add Reflector.js transparent option
Nov 1, 2019
306a968
Flag mirror mesh as transparent
Nov 1, 2019
e243f3f
Abstract out model head management
Nov 1, 2019
6a4e486
Add teleport mesh support
Nov 1, 2019
be6b594
Small Rig.js memory cleanup
Nov 1, 2019
3945ce8
Bugfix teleport meshes scaling
Nov 1, 2019
4545837
Bugfix Rig.js hair scaling
Nov 2, 2019
399fcbf
Small hair optimization
Nov 2, 2019
5b33abc
Remove Unity Vector2
Nov 2, 2019
65942b7
Remove unity GameObject/MonoBehavior
Nov 2, 2019
1ea43ce
Remove unity PlayerPrefs
Nov 2, 2019
a6a05ef
Remove Unity Transform class
Nov 2, 2019
a655d26
Small vrarmik.html cleanup
Nov 2, 2019
db155c3
Remove unity Vector3/Quaternion
Nov 2, 2019
e75a9ac
More major unity dead code deletion
Nov 2, 2019
1438336
Unity dead code cleanup
Nov 2, 2019
23ac8de
Remove old peer connection models
Nov 2, 2019
03372a8
Small Rig.js bugfix
Nov 2, 2019
6821aab
More unity removal bugfixing
Nov 2, 2019
5943072
Do not auto-close peer connections in multiplayer.js
Nov 2, 2019
89748ee
Small logging cleanup
Nov 2, 2019
75c245c
Clean up on negotiation needed comment
Nov 2, 2019
cea1e92
Always offer to receive audio/video in multiplayer.js
Nov 2, 2019
1a8e50b
Small logging cleanup
Nov 2, 2019
9abe363
Do not use send connection ping/kick flow
Nov 2, 2019
7f098fe
Rewrite multiplayer.js connection establishment to be based on token …
Nov 2, 2019
05d07a6
Add sinusoid motion to vrarmik.html
Nov 2, 2019
90e2d6f
Major legs refactor to include stepping
Nov 3, 2019
47cdde4
Clean up legs standing/stepping
Nov 3, 2019
2d29355
Major legs refactoring to be based on walk distance instead of hmd ve…
Nov 3, 2019
31c2241
Major legs IK work
Nov 3, 2019
459d4fd
Update models list
Nov 3, 2019
df814a0
Major foot detection bugfixing
Nov 3, 2019
60d3bda
Small bugfixing in hands detection
Nov 3, 2019
a7092c6
Update multiplayer.js reference
Nov 3, 2019
23bb95b
Update modified.AxisUtils.js location
Nov 3, 2019
168777b
Remove dead proto code
Nov 3, 2019
3ff9837
Small modified.AxisUtils.js update
Nov 3, 2019
d3275b1
More modified.AxisUtils.js cleanup
Nov 3, 2019
d46f0eb
Move modified.AxisUtils.js -> SkeletonUtil.js
Nov 3, 2019
1aa344e
Update SkeletonUtils.js
Nov 3, 2019
3929c3a
Update avatars.js reference
Nov 3, 2019
01977f2
Rename Rig -> Avatar
Nov 3, 2019
96ab701
Update vrarmik.html to use external model-loader
Nov 4, 2019
47bdab1
Remove dead files
Nov 4, 2019
47684e6
Remove dead inflate.js
Nov 4, 2019
0e6cebd
Remove dead multiplayer.js
Nov 4, 2019
e3985a7
Use external model loader code
Nov 4, 2019
8e31989
Update multiplayer.js import to use javascript module
Nov 4, 2019
4678ef4
Add decapitate/undecapitate support
Nov 4, 2019
ba85861
Major decapitation cleanup
Nov 4, 2019
977eee2
Reduce hair craziness
Nov 4, 2019
2c806bb
Add model10.vrm to examples list
Nov 4, 2019
f7cca2a
Bugfix wrist to hand distance
Nov 4, 2019
dc75649
Add live model change support
Nov 4, 2019
93e69a0
Do not auto-decapitate avatars
Nov 4, 2019
afe1a0b
Clean up armature scale tracking
Nov 5, 2019
e5ef8d0
Add skin image file examples
Nov 5, 2019
006c517
Update aspect ratio on resize in avatars demo
Nov 5, 2019
8974682
Bugfix examples not scrollable
Nov 5, 2019
1869a48
Add origin trial token
Nov 5, 2019
d054660
Increase body font size
Nov 5, 2019
2fcc3da
Add initial login support
Nov 5, 2019
e1d062d
Make model loading compatible with new API
Nov 6, 2019
1ea02fc
Update to new model loading
Nov 6, 2019
35f8d14
Add three-vrm.js
Nov 6, 2019
6901050
More design cleanup
Nov 6, 2019
605c69b
Add load/save avatar buttons
Nov 6, 2019
fa17436
Use new models loading in avatars.js
Nov 6, 2019
ad7215e
Rewrite hair processing with three-vrm
Nov 6, 2019
987ed9a
Update initial hair parameters
Nov 6, 2019
c2bb56e
Do not expose spring bone manager
Nov 6, 2019
67e174a
Bugfix hair processing during decapitation
Nov 6, 2019
3a412b8
Update models list
Nov 6, 2019
b3cac62
More models list updating
Nov 6, 2019
3529361
Bugfix skeleton binding
Nov 6, 2019
72bce53
Add export model button
Nov 7, 2019
108eb9d
Major models list update
Nov 7, 2019
d537f77
Add initial scale support
Nov 7, 2019
33932e2
Bugfix scaling
Nov 7, 2019
df3c954
Major scaling update
Nov 7, 2019
014db7e
Add mirror border
Nov 8, 2019
4178eba
Add model rig scale support
Nov 8, 2019
fcb9138
Clean up rig scale transmission
Nov 8, 2019
3d1e57c
Initial rig scale transmission over the network
Nov 8, 2019
3110fc8
Add initial avatar scale set button
Nov 8, 2019
0ea30c7
Clean up buttons css
Nov 8, 2019
b5e36a0
Bugfix multiplayer avatar scale transmission
Nov 8, 2019
2c1b17b
Clean up avatars update decapitation flow
Nov 8, 2019
1a4a4e1
Bugfix hair bone length not resetting during scale
Nov 8, 2019
cf3610e
Do not scale mirror to loaded model
Nov 8, 2019
f070908
Bugfix initial scale factor not applying to XR mode
Nov 8, 2019
40b42e5
Add rig destroy flow to disconnect microphone processing in dead models
Nov 8, 2019
b4420d9
Remove dead three-ik.js
Nov 8, 2019
6b642bc
Small skeleton binding cleanup
Nov 8, 2019
76ba23b
Deduplicate skeleton binding for performance
Nov 8, 2019
a9e6884
Bugfix teleport
Nov 8, 2019
67e0546
Abstract out walk speed to a constant
Nov 11, 2019
6cf3446
Add firstperson and thirdperson buttons to vrarmik.html
Nov 11, 2019
cc8aa61
Bugfix local euler z not being reset
Nov 11, 2019
60f268a
Major shoulder poser cleanups
Nov 11, 2019
5b28858
Update vrarmik.html lerp factors
Nov 11, 2019
37c8782
Update jump lerp factor
Nov 11, 2019
b0dfcea
Add initial jump and prone support
Nov 11, 2019
ef2396b
Optimize stand factor computation
Nov 11, 2019
6a008ac
Optimize prone factor computation
Nov 11, 2019
4e01533
Small cleanup
Nov 11, 2019
0c11288
Shoulder rotation debugging
Nov 11, 2019
44ed774
Small demo page optimization
Nov 12, 2019
739054d
Bugfix demo page camera tracking in firstperson/thirdperson
Nov 12, 2019
3d0d0e9
Bugfix arms offsetting during scale
Nov 12, 2019
1e725b3
Bugfix walking offsetting
Nov 12, 2019
00209d2
Bugfix hands offsetting in firstperson/thirdperson mode
Nov 12, 2019
82aa85a
Add c key tracking
Nov 12, 2019
4761018
Add crouch support
Nov 12, 2019
4fdb178
Increase default crouch height
Nov 12, 2019
15a808a
Make legs manager aware of rig height
Nov 12, 2019
68ca24b
Make hand pose based on grip space instead of target ray space
Nov 12, 2019
44d6c7c
Use B button for scale
Nov 12, 2019
0cc37d6
Add run support
Nov 12, 2019
6233544
Small eyes alignment in VR bugfix
Nov 12, 2019
3d66d0d
Break out microphone worker into its own file
Nov 14, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Bugfix local euler z not being reset
Avaer Kazmer committed Nov 11, 2019
commit cc8aa616c8e54d05cd5ca89101e4876426e6cc2b
2 changes: 1 addition & 1 deletion vrarmik.html
Original file line number Diff line number Diff line change
@@ -1026,8 +1026,8 @@ <h3>Multiplayer</h3>
} else if (controlsBound) {
localEuler.setFromQuaternion(rig.inputs.hmd.quaternion, 'YXZ');
localEuler.x = Math.min(Math.max(localEuler.x - mouse.movementY * 0.01, -Math.PI/2), Math.PI/2);
// console.log('got euler', localEuler.x);
localEuler.y -= mouse.movementX * 0.01
localEuler.z = 0;
rig.inputs.hmd.quaternion.setFromEuler(localEuler);
mouse.movementX = 0;
mouse.movementY = 0;