Create a Post
Title
Details
3
setting transforms fails if the first transform set to false
ok so, I made this graph in 3 different ways. each version has the exact same bug. I made a universal transform setter for gameobjects, like teleportto in triggers, but, this lets you chose if you want to copy the position, rotation and/or scale of the reference object. in all 3 ways I tried to make this, if whatever the first option is is set to false, it fails the other two, such as, in my examples, if position is set to false, rotation and scale fail. When I swapped it so rotation was first in the block, if rotation is false it fails, but, as long as rotation was on, it works no matter what other two are on or off UDONSDK-2020.01.14.10.47 VRCSDK3-2020.01.14.10.40 .data_start .export GameObjectTransform .export TransformReference .export SetPosition .export SetRotation .export SetScale message_0: %SystemObject, null String_0: %SystemString, null instance_0: %VRCUdonUdonBehaviour, this eventName_0: %SystemString, null instance_1: %VRCUdonUdonBehaviour, this eventName_1: %SystemString, null instance_2: %VRCUdonUdonBehaviour, this eventName_2: %SystemString, null Boolean_0: %SystemBoolean, null instance_3: %UnityEngineTransform, this value_0: %UnityEngineVector3, null instance_5: %UnityEngineTransform, this Boolean_1: %SystemBoolean, null instance_7: %UnityEngineTransform, this value_1: %UnityEngineQuaternion, null instance_8: %UnityEngineTransform, this Boolean_2: %SystemBoolean, null instance_9: %UnityEngineTransform, this value_2: %UnityEngineVector3, null instance_4: %UnityEngineGameObject, this instance_A: %UnityEngineTransform, this instance_6: %UnityEngineGameObject, this GameObjectTransform: %UnityEngineGameObject, this TransformReference: %UnityEngineGameObject, this SetPosition: %SystemBoolean, null SetRotation: %SystemBoolean, null SetScale: %SystemBoolean, null .data_end .code_start .export _interact _interact: PUSH, String_0 PUSH, message_0 COPY PUSH, message_0 EXTERN, "UnityEngineDebug.__Log__SystemObject__SystemVoid" PUSH, instance_0 PUSH, eventName_0 EXTERN, "VRCUdonCommonInterfacesIUdonEventReceiver.__SendCustomEvent__SystemString__SystemVoid" PUSH, instance_1 PUSH, eventName_1 EXTERN, "VRCUdonCommonInterfacesIUdonEventReceiver.__SendCustomEvent__SystemString__SystemVoid" PUSH, instance_2 PUSH, eventName_2 EXTERN, "VRCUdonCommonInterfacesIUdonEventReceiver.__SendCustomEvent__SystemString__SystemVoid" JUMP, 0xFFFFFF .export SetPosition SetPosition: PUSH, SetPosition PUSH, Boolean_0 COPY PUSH, Boolean_0 JUMP_IF_FALSE, 0x0000B3 PUSH, GameObjectTransform PUSH, instance_4 COPY PUSH, instance_4 PUSH, instance_3 EXTERN, "UnityEngineGameObject.__get_transform__UnityEngineTransform" PUSH, TransformReference PUSH, instance_6 COPY PUSH, instance_6 PUSH, instance_5 EXTERN, "UnityEngineGameObject.__get_transform__UnityEngineTransform" PUSH, instance_5 PUSH, value_0 EXTERN, "UnityEngineTransform.__get_position__UnityEngineVector3" PUSH, instance_3 PUSH, value_0 EXTERN, "UnityEngineTransform.__set_position__UnityEngineVector3__SystemVoid" JUMP, 0x0000B3 JUMP, 0xFFFFFF .export SetRotation SetRotation: PUSH, SetRotation PUSH, Boolean_1 COPY PUSH, Boolean_1 JUMP_IF_FALSE, 0x000124 PUSH, GameObjectTransform PUSH, instance_4 COPY PUSH, instance_4 PUSH, instance_7 EXTERN, "UnityEngineGameObject.__get_transform__UnityEngineTransform" PUSH, TransformReference PUSH, instance_6 COPY PUSH, instance_6 PUSH, instance_8 EXTERN, "UnityEngineGameObject.__get_transform__UnityEngineTransform" PUSH, instance_5 PUSH, value_1 EXTERN, "UnityEngineTransform.__get_rotation__UnityEngineQuaternion" PUSH, instance_3 PUSH, value_1 EXTERN, "UnityEngineTransform.__set_rotation__UnityEngineQuaternion__SystemVoid" JUMP, 0x000124 JUMP, 0xFFFFFF .export SetScale SetScale: PUSH, SetScale PUSH, Boolean_2 COPY PUSH, Boolean_2 JUMP_IF_FALSE, 0x000195 PUSH, GameObjectTransform PUSH, instance_4 COPY PUSH, instance_4 PUSH, instance_9 EXTERN, "UnityEngineGameObject.__get_transform__UnityEngineTransform" PUSH, TransformReference PUSH, instance_6 COPY PUSH, instance_6 PUSH, instance_A EXTERN, "UnityEngineGameObject.__get_transform__UnityEngineTransform" PUSH, instance_5 PUSH, value_2 EXTERN, "UnityEngineTransform.__get_localScale__UnityEngineVector3" PUSH, instance_3 PUSH, value_2 EXTERN, "UnityEngineTransform.__set_localScale__UnityEngineVector3__SystemVoid" JUMP, 0x000195 JUMP, 0xFFFFFF .code_end
4
9
Quaternion.ToAngleAxis Broken
planned
The Quaternion.ToAngleAxis node always throws an error if it is present in the nodegraph, even if its outputs aren't used in anything. [UdonBehaviour] VRC.Udon.VM.UdonVMException: The VM encountered an error! Exception Message: An exception occurred during EXTERN to 'UnityEngineQuaternion.__ToAngleAxis__SystemSingleRef_UnityEngineVector3Ref__SystemVoid'. Cannot retrieve heap variable of type 'Vector3' as type 'Single' ---------------------- Program Counter was at: 26 ---------------------- Stack Dump: ---------------------- Heap Dump: 84: (0.0, 0.0, 0.0, 0.0) 85: (0.0, 0.0, 0.0, 0.0) 86: (0.0, 0.0, 0.0) 87: 0 88: UnityEngineQuaternion.__ToAngleAxis__SystemSingleRef_UnityEngineVector3Ref__SystemVoid ---------------------- Inner Exception: ---> VRC.Udon.VM.UdonVMException: An exception occurred during EXTERN to 'UnityEngineQuaternion.__ToAngleAxis__SystemSingleRef_UnityEngineVector3Ref__SystemVoid'. ---> VRC.Udon.Common.Exceptions.HeapTypeMismatchException: Cannot retrieve heap variable of type 'Vector3' as type 'Single' at VRC.Udon.Common.UdonHeap.GetHeapVariable[T] (System.UInt32 address) [0x00063] in C:\VRChatGit\UdonVM\Udon\Common\Source\Heap\UdonHeap.cs:159 at VRC.Udon.Wrapper.Modules.ExternUnityEngineQuaternion.__ToAngleAxis__SystemSingleRef_UnityEngineVector3Ref__SystemVoid (VRC.Udon.Common.Interfaces.IUdonHeap heap, System.UInt32[] parameterAddresses) [0x0000a] in C:\VRChatGit\UdonVM\Udon\Wrapper\Source\Modules\UnityEngine\ExternUnityEngineQuaternion.cs:622 at VRC.Udon.VM.UdonVM.Interpret () [0x0027a] in C:\VRChatGit\UdonVM\Udon\VM\Source\UdonVM.cs:224 --- End of inner exception stack trace --- at VRC.Udon.VM.UdonVM.Interpret () [0x00292] in C:\VRChatGit\UdonVM\Udon\VM\Source\UdonVM.cs:228 --- End of inner exception stack trace --- at VRC.Udon.VM.UdonVM.Interpret () [0x00346] in C:\VRChatGit\UdonVM\Udon\VM\Source\UdonVM.cs:263 at VRC.Udon.UdonBehaviour.RunProgram (System.UInt32 entryPoint) [0x0001b] in H:\tools\Unity\projects\Udon Test\Assets\Udon\UdonBehaviour.cs:1837
2
Load More