nicoco007 / BeatSaberCustomAvatars

Beat Saber mod that allows the use of custom player avatars for in-game body presence.
GNU Lesser General Public License v3.0
262 stars 41 forks source link

Avatar Stays In Default A-Pose #148

Closed DiskyNorsk closed 7 months ago

DiskyNorsk commented 1 year ago

Before doing anything else, please attach your latest log to this issue. It should be located at Logs\_latest.log in your Beat Saber installation's folder. _latest.log

Desktop Info

Describe the bug i'm trying to import an avatar i alrady have out on VRChat working fully but in beat saber after exporting it stays in the default A-Pose and won't follow any of my tracked points (head, both hands, both feet, hip), and i am unaware what i did wrong (also the avatar just glows white because i haven't figured out the Beat Saber Shader yet) but i think it might have something to do with the avatars armature or the fact that the prefab is unpacked

Steps to reproduce

  1. Import the PBR Protogen Model into Unity
  2. Unpack The Prefab
  3. Replace PhysBones with Dymanic bones
  4. Set unused object's scales to 0, 0, 0 (there are multiple diffrent visors and tails it comes with)
  5. Remove Other Unused VRChat assets and scripts
  6. Create Avatar Descriptor (and configure)
  7. Export
  8. Launch Beat Saber and select the avatar

Expected behavior I expected it to just behave like a normal avatar (following tracked points) but instead it's just standing there and glowing

Screenshots The avatar in question shown in Unity 2019.3.15f1 The same avatar in Beat Saber How it's expected to behave

nicoco007 commented 1 year ago

I think you're missing the VRIKManager component. Try adding it to the GameObject with your model's Animator (I'm guessing it's on BZProtoKit based on your screenshot). It should automatically figure out some defaults if your model already worked with VRChat. If the boxes under "References" are empty, make sure your model is imported using a Humanoid rig, not Generic (or something else) then try again.

As for shaders, you can use one of the ones provided with the Unity project or the Uber shader. Beat Saber uses the alpha channel for glow so most of Unity's shaders won't work out of the box.