NalulunaAvatars (Patreon)
Downloads
Content
Index Controller Binding for Beat Saber
- Enabling thumbstick controls (song list up/down, playlist left/right)
- (when assigning buttons for NalulunaAvatars facial expressions and hand signs) Solve the annoying situation where the A button shares the same button ID as the grabbing action, and the B button is assigned to pause
Refer to the link below.
https://nalulululuna.fanbox.cc/posts/2582440
Download
NalulunaModAssistant
https://www.patreon.com/posts/74489335
NalulunaAvatars 0.3.0 or later are available with NalulunaModAssistant.
VRM Avatars
VRM files should be placed in the following location
C:\Program Files (x86)\Steam\steamapps\common\Beat Saber\NalulunaAvatars
(* The above description is for the default installation of Beat Saber for Steam.)
NalulunaAvatars assumes the use of avatars in VRM format. VRM avatars can be downloaded from VRoid Hub or BOOTH. Or you can easily create your own original avatar with VRoid Studio. It is also possible to convert avatars for VRChat to VRM, see below for instructions.
VRoid Hub
https://hub.vroid.com/models?is_other_users_available=1&is_downloadable=1
BOOTH
https://booth.pm/ja/browse/3D%E3%83%A2%E3%83%87%E3%83%AB?q=vrm&type=digital
VRoid Studio
https://vroid.com/en/studio
VRM Converter for VRChat
https://booth.pm/ja/items/1025226
How to make VRM file
https://vrm.dev/en/vrm/how_to_make_vrm/index
Custom Avatars
CustomAvatar files should be placed in the following location
C:\Program Files (x86)\Steam\steamapps\common\Beat Saber\CustomAvatars
(* The above description is for the default installation of Beat Saber for Steam.)
NalulunaAvatars can also use avatars for CustomAvatars, but Unlike VRM, it is not standardized, so the posture and bones of avatars are not consistent, and some of them do not move very well. Some avatars do not have enough data for facial expressions (BlendShape) or hand poses (PoseManager), so facial expressions and hand sign functions may not work properly. CustomAvatar is limited to 6-point tracking.
ModelSaber
https://modelsaber.com/Avatars/
FeetSaber
If you play FeetSaber, please use the latest version of FeetSaber (NalulunaModifier) that is compatible with this mod. Older versions do not recognize the avatar of this mod, so the feet saber will not appear.
NalulunaModifier (FeetSaber)
https://youtu.be/QtLNweiiQPU
Features
- This is a mod to display avatars (VRM / CustomAvatar) on BeatSaber
- This mod works by itself (BS Utils and BeatSaberMarkupLanguage are required)
- Up to 11-point tracking (head, hands, waist, legs, elbows, knees, and chest) using HMD, controllers, and trackers.
- The avatar's expression can be changed by using the buttons on the controllers
- The avatar's hand sign can be changed by using the buttons on the controllers
(You need to set up the button ID by yourself in advance)
- No need to calibrate each time as the calibration information is saved for each avatar. However, it is assumed that the room scale setting and the position of the tracker have not changed at all since the last time. If the posture or movement of the avatar looks strange, please perform the calibration again.
- Support VMCProtocol (OSC) to link with Virtual Motion Capture (VMC)
(The paid version of VMC is required, and you need to enable OSC motion sending and receiving in the advanced settings of VMC. In this mod, turn on "Enable VMCProtocol" in the "ADV" tab, and select "VirtualMotionCapture" from the list to display the avatar on VMC)
- It is designed to run lightly with little latency.
More Features
- Facial expression transitions are smooth, not instantaneous (cute)
- MToon transparent is supported.
- The normal VRM loader causes a heavy load when showing a VRM model where VRMFirstPerson is set to Auto (which is the default state). This mod has an option to work around it (in the "ADV" tab, under "Reduce the load on VRM First Person"). The rendering of the avatar may block your view, so turn it off if anything goes wrong.
- When moving your avatar with 3-point tracking (head, left hand, right hand, no trackers), sometimes you may find your avatar in an awkward situation where your avatar's legs are crossed. There is an option to automatically restore the legs' position. ("Locomotion Avoid Crossed Legs" in the "ADV" tab)
- When linking with VMC, there is a delay or frame rate limitation in the transfer of avatar movement, which makes the avatar appear to lag behind the in-game saber's movement (a limitation of VMCProtocol). This mod can improve this by complementing and predicting the motion. ("VMC Motion Est." in the "ADV" tab)
- You can watch ScoreSaber replays with your avatar
- The lighting of the map will be reflected on your avatar
Calibration
- During calibration, the crosshairs will turn green when you are facing straight ahead.
- During calibration, the size of the avatar will change in real time depending on the position of the hands: the height of the hands for "Calibration Type: Height Matching", or the distance between the hands for "Calibration Type: Hands Matching".
- During calibration, the center of the mirror shows the view from above. Stand in the center of the platform and make a T-pose with your hands open to your sides.
- Keep the green crosshairs at the center of the avatar's face for a good calibration
- You can change calibration wait time in the "ADV" tab "Calibration Wait".
- If you feel the positions of the avatar are out of alignment during calibration, you can adjust them in the "CAL" tab "Calibration Offset Z".
- After calibration, if the avatar stretches or bends its knees while standing normally, you can adjust the in the "CAL" tab "Calibration Offset Y".
- Adjustments made by "Calibration Offset" will be reflected ont the next calibration.
- If the position of the hand and the saber is out of alignment, it can be adjusted in the "OFST" tab.
- If you are bothered that the sabers move away from your hand when you spread your arms, please try "Hands Matching" in the "ADV" tab "Calibration Type".
More Calibration Info
- The avatar's scale is determined by the height of the hands that are extended during calibration (when Calibration Type is Height Matching). The scale will be adjusted so that the height of your real hands matches the height of your avatar's hands. If you feel that your avatar is too big or too small, try changing the height of your hands when you stand in a T-pose.
- The center of the avatar (forward/backward position) will be affected by the forward/backward position of your hands during calibration. If you feel that your avatar is too far forward or too far backward (leaning forward or backward), try changing the forward/backward position of your hands and your posture (leaning forward or backward) when you stand in a T-pose.
- If you find that your avatar's knees are bent every time you calibrate, try increasing the Calibration Offset Y number in the "CAL" tab. On the other hand, if you find that your avatar stretches, you can decrease the number.
- If the avatar stretches or bends its knees when you look up or down (change the angle of elevation of the neck) after calibration, there is a slight gap between the avatar's head position and the HMD position. In this case, increase or decrease the number of Calibration Offset Z in the "CAL" tab and try to find a value that works. Since the head position differs depending on the avatar model data and HMD specifications, it may take some trial and error to get it just right.
- This mod automatically recognizes the tracker role (leg, waist, etc) based on the position of the VIVE tracker, but if the auto-recognition is executed when you are facing backward, the leg tracker may be recognized in the opposite. In this case, please look forward and press the "Update Tracker Role" button in the upper right corner of the settings screen. If you have trackers that are not attached to your body, please use the "Tracker Mapping" button to manually assign them.
Criteria: Foot tracker: within 30cm from the floor. Knee tracker: 30-80cm from the floor. Hip tracker: 70-130cm from the floor. Elbow tracker: above 80cm from the floor and to the left or right of the hip tracker.
- The waist tracker can be in front or behind the body. It will be better if it is as close to the avatar's waist as possible. It is important that the tracker is firmly attached to the body so that it does not wander around due to inertia.
- For best calibrating results. Make sure the tracker is aligned with the avatar's feet that are displayed in front of you. Align the avatar's hands with the beat saber's menu handles (sticks). Try to keep eye contact with the avatar (facing straight ahead).
- If you have five trackers and are not sure whether to use them on your knees or elbows, I recommend assigning them to the knees. Elbows are easy to guess based on the direction of the wrist, whereas knees are harder to guess, as you can do inward or outward thighs without changing the angle of your ankle.
Calibration Type
Height Matching
Prioritize height. More precisely, change the avatar size so that the height of the hands match. This will make the body size of the real and avatar roughly the same, so it will feel natural. If the avatar's legs are longer than the real body, as shown in the picture above, the real body's hands will be outside the real body, and the saber will be separated from the hands when the hands are extended.
Hands Matching:
Prioritize hands. Change the avatar size so that the distance between the right hand and the left hand matches the real body. Some people prefer this because it prevents the saber from leaving the hand even if the real and avatar have different body sizes. However, as shown in the figure above, if the hands position is prioritized, the real and avatar heights will not match, so the mod will adjust the floor position to match the avatar's feet.
Lighting
Lighting Demo: https://youtu.be/Aw7ADFgQxHw
Beatmap: Justin Bieber - Ghost ( Beatmap: 1c6e6 )
Settings:
Beatmap Lighting Enabled: ON
Beatmap Lighting Color Intensity: 1.0
Beatmap Lighting Minimum Brightness: 0.0
Saber Lighting: ON
Disable Avatar Emission in the Dark: ON
A map with a disappearing lighting effect gives a beautiful effect like this. The beatmap key and settings used for this video are as shown above. Note that lighting only works with VRM avatars. (If you create an avatar file using a shader that supports lighting, the lighting will be reflected, but I don't think there are any in the public.)
Auto Facial Expression
The Condition column specifies the condition, BlendShape specifies the expression, and Duration specifies the duration of the expression. Any blank field in a row is ignored.
- [Over _ Combo] If 100 is specified, it specifies the default expression when a combo is over 100 (it will not return to neutral as long as it remains over 100 combos).
- [Every _ Combo] If 100 is specified, it will be triggered every 100 combos.
- [_ Combo Break] If 100 is specified, it will be triggered when a combo is broken after 100 or more combos.
- [Every _ Idle Sec] If set to 5-10, it will be triggered every 5-10 seconds (random value) while no notes are spawning.
- [Every _ Combo Sec] If set to 5-10, it will be triggered every 5-10 seconds (random value) while a combo is going on.
- [Level Cleared] and [Level Failed] are triggered on clearing and failing a level.
The same item name followed by [1] [2] means that up to two conditions can be specified for the same item. If both [1] and [2] conditions are satisfied at the same time, [1] takes precedence. For example, if [1] is set to Joy for every 300 combos and [2] is set to Fun for every 100 combos, then 100 combos will trigger Fun, 200 combos will trigger Fun, 300 combos will trigger Joy, 400 combos will trigger Fun, and so on.
The default setting of [Every _ Miss 1] is "Sorrow for each 1 miss", but if there are too many misses (depending on your play skill and the map you are playing), the expression may change frequently and unnaturally. In that case, it would be better to increase the condition part and decrease the frequency.
ScoreSaber Replay
ScoreSaber Replay with Avatar Demo: https://youtu.be/THkIcKC2BwU
- This is an experimental feature.
- Only visible when enabled in the EXP tab.
- Only the head and both hands of the replay data will be used for tracking.
- Replay data recorded while holding the saber in a special way or using SaberTailor to change the saber position and angle significantly may show twisted arms due to the saber being out of alignment with the hand position and angle
- CameraPlus's third-person camera is displayed behind ScoreSaber's full-screen camera by default, so it may appear that CameraPlus does not work during replays, but it can be moved to the front by setting the layer number in the cfg file to 1 or higher.
- (Beat Saber Dir)\UserData\NalulunaAvatars.json
You can tweak the movement of avatars during replays by modifying the settings file manually. Replays whose saber position or angle is different from beat saber default will basically require this adjustment (since hands position does not match sabers position recorded in the replay). The change is reflected in real time when saving the json, so you can adjust it by changing the numbers while watching the replay.
headOffsetPositionScoreSaberReplay: Adjust the position of the head. z may well be adjusted in the range of -0.15 to -0.20.
leftHandOffsetPositionScoreSaberReplay: left hand position adjustment. If the replay data was played with sabers' Z axis extended, then z is minus by that amount. For example, if sabers is extended by 10cm, "z": -0.1.
rightHandOffsetPositionScoreSaberReplay: Right hand position adjustment. Same as left hand
leftHandOffsetRotationScoreSaberReplay: Left hand rotation adjustment. No adjustment is necessary if the replay data has the default grip, otherwise, adjust accordingly
rightHandOffsetRotationScoreSaberReplay: Right hand rotation adjustment. Same as left hand
scoreSaberReplaySpectatorPosition: Position of the HMD during ScoreSaber replay. By default, the position is behind the player, but if "x": 0.0, "y": 0.0, "z": 0.0, you can see notes like a normal game play.
scoreSaberReplayRemoveDebris: Disable debris in HMD during score saber replay
Overlay
Overlay settings screen added in 0.2.18. The following explanation is outdated.
You can overlay the front image of the avatar by editing the setting file. Note that if you fail to edit the settings file, the settings will be lost, so it is recommended to back up the file before editing.
The following settings will take effect immediately if you save the file, even when Beat Saber is running. You can change the numbers and try trial and error.
overlay: true to enable overlay
overlayKeyColor: Transparent color used to crop the avatar. The default key color is green, but if the avatar's costume or hair has green parts, they will be transparent. In this case, specify a different color in RGB (0.0 to 1.0 for each color).
overlayPosition: Position of the overlay. The upper left corner of the screen is x=0, y=0
overlaySize: Size of the overlay.
overlaySuperSampling: Super sampling factor for overlay drawing. Increasing the number makes the image look better, but increases the load.
overlayCameraPosition: The camera position of the overlay. By default, it is placed 4m away from the front of the avatar at a height of 1m (x=0, y=1, z=4)
overlayCameraRotation: Camera orientation of the overlay. By default it is pointed at the avatar's position (x=0, y=180, z=0)
overlayCameraFov: Camera FOV of the overlay.
overlayCameraTarget: Sets the camera direction of the overlay to automatically track the avatar. -1 means no tracking, 0 means track the avatar's waist (hips bone), 10 means track the avatar's head (head bone). When tracking is set, overlayCameraRotation will be ignored.
----
"overlay": true,
"overlayKeyColor": {
"r": 0.0,
"g": 1.0,
"b": 0.0,
"a": 1.0
},
"overlayPosition": {
"x": 0.0,
"y": 0.0
},
"overlaySize": {
"x": 1000.0,
"y": 1000.0
},
"overlaySuperSampling": 1.0,
"overlayCameraPosition": {
"x": 0.0,
"y": 1.0,
"z": 4.0
},
"overlayCameraRotation": {
"x": 0.0,
"y": 180.0,
"z": 0.0
},
"overlayCameraFov": 30.0,
"overlayCameraTarget": -1,
----
AFK
(When "AFK Button Mapping" is turned on in the EXP tab,) If you hold down all four buttons (left trigger, left button, right trigger, and right button) at the same time for two seconds, the avatar will be hidden. Holding down the button again for 2 seconds will make it reappear. Please use this function when you are away during your streaming.
Old files
NalulunaAvatars 0.2.62 for Beat Saber 1.25.1
https://www.patreon.com/file?h=52013165&i=12147666
NalulunaAvatars 0.2.39 for Beat Saber 1.22.1
https://www.patreon.com/file?h=52013165&i=12374037
NalulunaAvatars 0.2.20a for Beat Saber 1.19.0/1.19.1
https://www.patreon.com/file?h=52013165&i=10415309
Old updates
0.2.62 - Fix an bug that the avatar preview in the settings screen was not displayed after calibrating on the tab to the left of the song selection screen - Adjust the avatar drop-down width and number of items
0.2.60 - Add tab to change avatar to the left of the song selection screen
0.2.59 - Fix Index finger tracking and Oculus Mode tracker support not working in 0.2.58
0.2.58 - Support for PICO4
0.2.57 - Drastically improves performance in environments where mirrors are turned off. Particularly effective with heavy avatars that cause processing to slow down - Added mirror off setting to the MAIN tab for easy configuration - Fixed a slight change in hit radius when Optimize VRM SpringBones is on
0.2.55
- Facial expressions that do not automatically blink can now be set from the screen (FACE tab)
- Fixed tracker smoothing for Noodle Extensions player position movement
- Fixed some settings reading global settings instead of avatar-specific settings
- Other minor fixes
0.2.54
- Address issue with EasyOffset mod affecting avatar's right and left hand positions
0.2.53
- Saber Lighting (LIGHT tab) is turned off by default since the load is there. If you are using it, please turn it on manually again.
- When using with VMC, the floor height is now adjusted when calibrating with the VMC button (not from within NalulunaAvatars).
- Other minor fixes
0.2.52
- Fixed a bug in 0.2.51 where the waist movement was not correct mainly in 3-point tracking
0.2.51
- Improved wrist and shoulder twist correction, wrist and shoulder twist settings added (IK tab)
- Shoulder height setting added (IK tab)
- Adjusted tracking jump correction
- Tracker coordinate delay reduced to almost zero. When the controller and tracker are held together and moved, they will now follow each other without any shift (when setting smoothing to 0)
0.2.50
- Added the feature to compensate for tracking jumps (It is difficult to recognize if tracking is really flying or not, so it is not possible to compensate perfectly) (EXP tab)
- The load is slightly reduced when the Optimize VRM Renderer is enabled
0.2.49
- Improved elbow handling. Fixed a case where elbows were easily buried in the body in 0.2.42 or later
0.2.48
- Fixed a bug that trackers were not recognized properly when used with NalulunaSpaceCalibrator
0.2.47
- Added IK tab and reorganized contents of ADV and EXP tabs
- Added Smooth Hand and Smooth Head settings (ADV tab)
0.2.46
- Fixed a bug in 0.2.45 where the tracker may not be recognized properly
0.2.45
- Fixed an issue where the foot position and angle would go wrong when using the Foot Offset setting and Tracker Smoothing setting at the same time
0.2.44
- Missing OVRLipSync will not cause any problems except for lip-sync (It is included in the distribution files and is usually not missing, but you may forget to copy it during manual update)
0.2.43
- Fixed avatar movement delay in some NE maps
- Fixed Helper app for finger tracking and Oculus Mode tracker support
0.2.42
- Elbow bending has been improved. This fixes a problem with some models (e.g. long-sleeved one-piece models in older versions of VRoid Studio) where the elbow would bend incorrectly when the wrist was bent in a large, rolling motion. Models that did not have this problem before should also be slightly better, but if you have a new elbow problem, please contact me.
0.2.41
- Fix automatic detection of tracker role in case of unknown virtual trackers with no position information
0.2.40
- Fixed an issue where offset could not be set correctly when one hand was assigned to the controller and the other hand to the tracker
0.2.39
- Add time event feature
0.2.38
- Improve Auto Facial Expression feature
0.2.37
- Fix [Oculus Mode Tracker Support] not working on 0.2.36
0.2.36
- Improve Auto Facial Expression feature ( [Face] tab [Auto Facial Expression] )
0.2.35
- Improve ScoreSaber replay with avatar ( See the following "ScoreSaber Replay" section )
0.2.34
- Fixed an attempt to acquire unnecessary objects during multiplayer
0.2.33
- Added a setting to compensate for the avatar's foot tips sinking into the floor when the ankles are bent forward. ( [EXP] tab [Fix Sinking Feet] )
0.2.32
- Improved chest tracker tracking (from 2-axis to 3-axis support)
0.2.31
- Support NalulunaSpaceCalibrator (will be released soon)
0.2.30
- Added fake eye tracking. It simulates random eye movements as when using eye tracking ( [Face] tab [Fake Eye Tracking] ).
- Added automatic facial expression feature ( [Exp] tab [Auto Facial Expression] )
- For testing purposes, the following settings are fixed
- Every 100 combos: Joy
- Combo interruption: Sorrow or Angry when 100 or more combos are completed.
- Clear with rank S or higher: Joy
- Fixed 0.2.29 that the above functions were forced on.
0.2.29
- Added option to reduce load by processing LipSync in a separate thread ( [EXP] tab [Asynchronous LipSync Processing] ) (Thank you, yas!)
0.2.28
- Support for avatars with some missing bones
0.2.27
- Added support for chest tracking
0.2.26
- Fixed wrong behavior of FBT when rotating the official Beat Saber room settings
- Models that were partially unreadable in CustomAvatar are now readable
0.2.20a for Beat Saber 1.19.0/1.19.1
- Fixed elbow tracker left-right assignments being reversed
0.2.25
- Fixed elbow tracker left-right assignments being reversed
- Fixed an issue where floor height adjustment for CustomAvatar may not work
- Fixed WindForce
0.2.24
- Fix for Oculus Store version of Beat Saber
0.2.23
- Minor fixes, including changes to default settings
0.2.21
- Support Beat Saber 1.20.0
0.2.20
- Tracker position and angle smoothing can now be adjusted ("EXP" tab "Tracker Smooting")
- Changed Optimize VRM SpringBones processing
0.2.19
- 0.2.18 was test build version
0.2.18
- Added overlay setting screen
- Fixed a problem in which the overlay face tracking and waist tracking did not work properly
- Fixed an issue where the elbow tracker would not work properly right after calibration
0.2.17
- Mirror can now show a close-up of the face
- Fixed a bug in which the mirrors' face and waist tracking did not work properly in some cases
- Changed default settings for mirrors 2 and 3
- Other minor fixes
0.2.16
- Improved support for Standard shaders in VRM
- Fixed a bug that caused avatar tracking of mirrors to stop working.
0.2.15
- Experimentally, added a correction setting for Haritora and Uni-motion to prevent the foot tracker from sinking into the ground (EXP tab "Fix Sinking Feet". Recalibration required.)
0.2.14
- Support Beat Saber 1.19.0
0.2.13 beta 14
- Faster initial display of the setting screen
0.2.12 beta13
- Fix the issue of spring bones not working when using VirtualMotionCapture
0.2.11 beta12
- Adjust calibration slightly
- Add offset setting for waist tracker ("CAL" tab "Pelvis Offset Y")
- When the mirror is set to translucent, the image is no longer stretched even if the aspect ratio of the size is not 1:1
- Other minor fixes
0.2.9 beta11
- Added the weight setting of each phoneme
0.2.9 beta10
- Normally, VRMSpringBone is stopped until calibration is complete, but now it is enabled on replaying
- Other minor fixes
0.2.8 beta9
- Fixed an error when turning on finger tracking in non-SteamVR environments
0.2.7 beta8
- Fixed Calibration Scale Fixed setting.
0.2.6 beta7
- 3 mirrors
- Add translucent and LED effect settings for mirrors
- Add mirror culling mask setting
- Other minor fixes
0.2.5 beta6
- Add setting to adjust avatar arm and leg length during calibration
- Calibration settings can now be saved globally and per avatar
- Add setting for a mirror on the menu screen and in game.
0.2.3 beta5
- Changed the sliders to ones with buttons
- Changed hand offset to 5mm increments
- Adjusted lighting of saber
- Other minor fixes
0.2.3 beta4
- Please copy all the files, not just the dlls
- Support for Index controller finger tracking
- Grab pose setting ("Grab Pose Edit" button in the "HAND" tab), which also refers to the Index controller's closed finger pose.
- Added a setting to use the tracker in Oculus mode ("Oculus Mode Tracker Support" in the "ADV" tab)
- Other minor fixes
0.2.2 beta3
- Fixed double loading of avatars when pressing Reset in ADV tab
- Adjusted the tracker recognition process for Haritora.
- Fixed a problem with VirtualMotionCapture integration.
- Improved English text in hop-up hints ( Thank you, WolfieBeat ! )
- Other minor fixes
0.2.1 beta2
- Fix an error when CustomAvatars folder is missing
0.2.0 beta1
- The location of the VRM file has been changed from the previous version
Place .vrm files in (BeatSaberDir)\NalulunaAvatars folder
- Support .avatar format (CustomAvatar)
Place .avatar files in (BeatSaberDir)\CustomAvatars folder
- Adjusted calibration
- Adjusted lighting
- Some settings can now be saved independently for each avatar
- Other minor additions, changes, fixes, optimizations, etc.
0.1.51
- Add avatar thumbnail
0.1.50
- Automatically switches to FBT mode on recognizing the third tracker
- Speed up the opening time of the settings screen
- Suppressed shaking when switching avatars
- Support for room adjust
- Other minor fixes
0.1.49
- Fix for NalulunaAvatarsHelper
0.1.48
- Add "Calibration Scale Fixed" setting
- Other minor fixes
0.1.47
- Support Beat Saber 1.18.0
- Fix for "Optimize VRMSpring Bone" setting and VMCProtocol
0.1.46
- Fixed mirror display issue
0.1.45
- Added: Mirror Quality in EXP tab
- Fixed: Optimize VRM SpringBones option
- Added: AFK Button Mapping in EXP tab
0.1.44
- Fixed: another tracker recognition issue in some environments (0.1.43 bug)
- Added: Foot offset setting
0.1.43
- Fixed: tracker recognition issue in some environments
0.1.42
- Fixed: Optimize VRM Renderer option
- Added: Optimize VRM SpringBones option
0.1.41
- Fixed: translucent HMD in the setting screen
0.1.39
- New calibration UI
- Added "Locomotion Offset" setting
- Other small tweaks and fixes