Open Beta

Post about the current Open Beta. Post logs to Gist/Pastebin! One item per post!
Non-constructive and off-topic posts will be moved or deleted.
[1863] AVPro video player output incorrect on Quest
The video output from AVPro players on both PC and Quest has historically needed to go through a gamma to linear conversion to look correct. This is something that has been handled at the shader level in video player prefabs - USharpVideo does an explicit pow(color, 2.2f) , ProTV uses GammaToLinearSpace(), etc. Since the open beta update that includes the new AVPro version, this seems to no longer be the case on Quest. Videos played through AVPro players on Quest will now look incorrect with that conversion applied. You can verify this by going to Video Player Showroom and playing a familiar video in the ProTV player. With default settings, the video will appear very dark with a crushed black level. I will reiterate that this issue is not specific to the ProTV player prefab but instead to AVPro-based players generally. It is certainly possible for world/prefab developers to detect Quest and skip performing this color space conversion. However, in its current state, this causes incorrect playback in basically every existing VRChat world using an AVPro-based player. All of these worlds would need to be updated to ensure correct playback if this current open beta gets shipped to live. Some player prefabs such as ProTV include a user-facing option to skip this conversion, however I would consider it a regression if suddenly every Quest user needs to enable this option. It also seems presently impossible to come up with a method by which users can have correct playback on both the current live version as well as the current open beta. I basically have to choose which one I want to break.
0
·
Bug Report
[1853] [SDK 3.10.4 beta 2] VRCTween.TweenInt fails to tween large integers correctly due to 32-bit float precision loss
Description: I am very excited about the addition of VRCTween in the new SDK update. However, I have noticed an issue: when trying to tween large integers using VRCTween.TweenInt , the values get rounded up or down to specific numbers, leading to inaccurate results. using System; using UdonSharp; using UnityEngine; using VRC.SDK3.Components; public class VRCTweenTest : UdonSharpBehaviour { [NonSerialized] public int _tweenedInt; public void PrintCurrentValue() { Debug.Log(_tweenedInt); } void Start() { VRCTween.TweenInt( 1, 15, 2, this, nameof(_tweenedInt), nameof(PrintCurrentValue), VRCTweenEase.Linear ).SetDelay(1); VRCTween.TweenInt( 100000001, 100000015, 2, this, nameof(_tweenedInt), nameof(PrintCurrentValue), VRCTweenEase.Linear ).SetDelay(4); VRCTween.TweenInt( 2000000001, 2000000015, 2, this, nameof(_tweenedInt), nameof(PrintCurrentValue), VRCTweenEase.Linear ).SetDelay(7); } } Expected Behavior: The script should output all intermediate integer values smoothly: * 1 through 15 * 100000001 through 100000015 * 2000000001 through 2000000015 Actual Behavior: When running the script, the console outputs the following: * The first tween correctly prints 1 through 15 . * The second tween only prints 100000000 , 100000008 , and 100000016 . * The third tween only prints 2000000000 . Cause Analysis: I suspect this happens because VRCTween.TweenInt is internally utilizing DOVirtual.Float or otherwise casting the values to float during interpolation. Since a 32-bit float has a 24-bit significand, it cannot precisely represent all 32-bit integer values (precision loss occurs for integers larger than 2^24, which is 16,777,216). Thank you for looking into this!
1
·
Bug Report
·
tracked
Load More