Hello,
I am searching for a possibility in "template vr_steam" to go to other locations / positions (teleport).
Similar to "The Lab by Valve / Unity 5.4" (see photo attached).
Controlled directly via the "Vive controller".
Is there any possibility in “Stingray”?
Many thanks
Solved! Go to Solution.
Solved by jiang_xingbo. Go to Solution.
Solved by cornelh. Go to Solution.
you can can teleport now, you can use flow nodes to set the location of the play area
if you want to draw 'ui' stuff, you'll have to draw it on your own
We will have an example in the VR template for 1.4
the functionality is there now, just no sample
Dan Matlack will be adding teleporting sample to the Vive template soon.
If you would like to add teleporting to your VR, simply download the VR_Telepor.zip, decompress it, and then put that into your content/models folder within your project.
Once complete copy the code snippet below and paste that into your level flow.
You may need to point some unit nodes to the ring/beem respectively, simply look for any red outlined nodes if this is the case and enter the required unit.
Enjoy,
Paul
Connections = [ { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Vector" FromNode = "6c749d14-02b6-4102-8811-f37ce4a9f100" ToItem = "Scale" ToNode = "02d3040c-cd14-48fe-9893-816d013badb7" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "f71642d9-9999-4463-8ee7-7b10b6c50d89" Priority = 0 ToItem = "In" ToNode = "4aef0ffe-e710-4012-94af-91bbe1385238" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "4aef0ffe-e710-4012-94af-91bbe1385238" Priority = 0 ToItem = "In" ToNode = "02d3040c-cd14-48fe-9893-816d013badb7" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "WorldRotation" FromNode = "dc19acb9-3e07-47ed-937b-bd135e2a3ab8" ToItem = "Rotation" ToNode = "23eae446-bb60-407b-867a-c3cfcdcd8cc3" Type = "Quaternion" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "True" FromNode = "df5a60d1-4ebf-48fc-9b82-a555bbbf3dae" Priority = 0 ToItem = "In" ToNode = "f4631804-3e38-40c4-83ab-777026f19ff9" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Position" FromNode = "9b7317ee-1a09-4908-99bd-b72ad91b6160" ToItem = "Vector" ToNode = "0b979aba-0681-4966-94fd-eaa70d0b9d99" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Distance" FromNode = "9b7317ee-1a09-4908-99bd-b72ad91b6160" ToItem = "Numeric" ToNode = "6f16b39a-ec99-4b56-8377-0b5c698ef248" Type = "Float" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "0b979aba-0681-4966-94fd-eaa70d0b9d99" Priority = 0 ToItem = "Set" ToNode = "6f16b39a-ec99-4b56-8377-0b5c698ef248" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Hit" FromNode = "9b7317ee-1a09-4908-99bd-b72ad91b6160" ToItem = "Bool" ToNode = "bd5a4167-7c7b-4be0-a385-9ad9f1a63d53" Type = "Bool" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "bd5a4167-7c7b-4be0-a385-9ad9f1a63d53" Priority = 0 ToItem = "Set" ToNode = "0b979aba-0681-4966-94fd-eaa70d0b9d99" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "9b7317ee-1a09-4908-99bd-b72ad91b6160" Priority = 0 ToItem = "Set" ToNode = "bd5a4167-7c7b-4be0-a385-9ad9f1a63d53" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Bool" FromNode = "f1cf8ef1-a228-4607-abeb-5cad7c1923ec" ToItem = "Condition" ToNode = "df5a60d1-4ebf-48fc-9b82-a555bbbf3dae" Type = "Bool" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Vector" FromNode = "67483394-03c5-4db5-8d95-08d3f9cbc700" ToItem = "Position" ToNode = "f4631804-3e38-40c4-83ab-777026f19ff9" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Vector" FromNode = "3e4b7126-c810-45ac-b3d0-a154770d1a5a" ToItem = "Position" ToNode = "91d5f9a7-2d35-48bc-a513-7a41fe619644" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Vector" FromNode = "273828fc-13fb-4188-ab2b-4b9409f5a2b0" ToItem = "Position" ToNode = "03e9b67f-f389-4d26-83c8-dcef82bf0342" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "released" FromNode = "57755749-cb4c-45a1-a694-6376b4553d00" Priority = 0 ToItem = "In" ToNode = "df5a60d1-4ebf-48fc-9b82-a555bbbf3dae" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "WorldPosition" FromNode = "dc19acb9-3e07-47ed-937b-bd135e2a3ab8" ToItem = "Vector" ToNode = "f091debb-f291-4469-bd17-619761f952bf" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "pressed" FromNode = "57755749-cb4c-45a1-a694-6376b4553d00" Priority = 0 ToItem = "Set" ToNode = "f091debb-f291-4469-bd17-619761f952bf" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "f091debb-f291-4469-bd17-619761f952bf" Priority = 0 ToItem = "Set" ToNode = "c1e86dfb-bbd4-4559-88a2-a29541ece040" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "WorldRotation" FromNode = "dc19acb9-3e07-47ed-937b-bd135e2a3ab8" ToItem = "Rotation" ToNode = "c1e86dfb-bbd4-4559-88a2-a29541ece040" Type = "Quaternion" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Forward" FromNode = "23eae446-bb60-407b-867a-c3cfcdcd8cc3" ToItem = "Vector" ToNode = "cdcddbaf-5f1e-4c41-914e-93376116bccc" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "c1e86dfb-bbd4-4559-88a2-a29541ece040" Priority = 0 ToItem = "Set" ToNode = "cdcddbaf-5f1e-4c41-914e-93376116bccc" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Vector" FromNode = "fe895805-357e-479b-9d3a-cadee0dfa507" ToItem = "Direction" ToNode = "9b7317ee-1a09-4908-99bd-b72ad91b6160" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "cdcddbaf-5f1e-4c41-914e-93376116bccc" Priority = 0 ToItem = "In" ToNode = "9b7317ee-1a09-4908-99bd-b72ad91b6160" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Vector" FromNode = "0f76b033-2a5c-490b-bc18-ed021ee80de5" ToItem = "From" ToNode = "9b7317ee-1a09-4908-99bd-b72ad91b6160" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Vector" FromNode = "b30bb820-6476-4d21-b6e3-03a3c921ebdf" ToItem = "Position" ToNode = "261e0067-3e37-4cc0-a71f-c1af52ebf604" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Vector" FromNode = "486dcde6-b470-48d3-9137-e8c61a9efe1e" ToItem = "Position" ToNode = "f71642d9-9999-4463-8ee7-7b10b6c50d89" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Bool" FromNode = "ff105ac4-f9e7-4e48-8ad4-dc9f8a1f6183" ToItem = "A" ToNode = "d4de60f7-6090-4261-8ef9-00f954f546c0" Type = "Bool" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Value" FromNode = "44eaae68-c587-4480-a789-5034d315a80f" ToItem = "B" ToNode = "d4de60f7-6090-4261-8ef9-00f954f546c0" Type = "Bool" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "6f16b39a-ec99-4b56-8377-0b5c698ef248" Priority = 0 ToItem = "Compare" ToNode = "d4de60f7-6090-4261-8ef9-00f954f546c0" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Unequal" FromNode = "d4de60f7-6090-4261-8ef9-00f954f546c0" Priority = 0 ToItem = "In" ToNode = "91d5f9a7-2d35-48bc-a513-7a41fe619644" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Equal" FromNode = "d4de60f7-6090-4261-8ef9-00f954f546c0" Priority = 0 ToItem = "Set" ToNode = "1338632a-cc03-4629-8522-d673ed2e9c5c" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "1338632a-cc03-4629-8522-d673ed2e9c5c" Priority = 0 ToItem = "Spawn" ToNode = "03e9b67f-f389-4d26-83c8-dcef82bf0342" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "SpawnedUnit" FromNode = "03e9b67f-f389-4d26-83c8-dcef82bf0342" ToItem = "Unit" ToNode = "56d1cb03-0341-433e-b504-5a0c4120af6c" Type = "Unit" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Spawned" FromNode = "03e9b67f-f389-4d26-83c8-dcef82bf0342" Priority = 0 ToItem = "Set" ToNode = "56d1cb03-0341-433e-b504-5a0c4120af6c" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Unit" FromNode = "75f01007-98a3-4336-889e-0be7624f1d02" ToItem = "Unit" ToNode = "91d5f9a7-2d35-48bc-a513-7a41fe619644" Type = "Unit" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "SpawnedUnit" FromNode = "261e0067-3e37-4cc0-a71f-c1af52ebf604" ToItem = "Unit" ToNode = "9a71474f-c0fc-4489-945f-dc5f98106253" Type = "Unit" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Spawned" FromNode = "261e0067-3e37-4cc0-a71f-c1af52ebf604" Priority = 0 ToItem = "Set" ToNode = "9a71474f-c0fc-4489-945f-dc5f98106253" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Unit" FromNode = "8efcc94e-eb23-455f-93b1-d957ae740157" ToItem = "Unit" ToNode = "f71642d9-9999-4463-8ee7-7b10b6c50d89" Type = "Unit" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Unit" FromNode = "ac16c2b4-bb13-43cf-9143-56f2bc1400c9" ToItem = "Unit" ToNode = "4aef0ffe-e710-4012-94af-91bbe1385238" Type = "Unit" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Unit" FromNode = "e06c860d-16c5-479c-ada2-ff9f9a1e3a05" ToItem = "Unit" ToNode = "02d3040c-cd14-48fe-9893-816d013badb7" Type = "Unit" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Pressed" FromNode = "a3f5a615-fa53-4532-a518-ede5f64698ec" Priority = 0 ToItem = "In" ToNode = "88fc9d50-6d3a-43a4-ba48-2395bd63e923" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "f98580db-886b-4b30-b9a0-028891ea1372" Priority = 0 ToItem = "update" ToNode = "57755749-cb4c-45a1-a694-6376b4553d00" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "f4631804-3e38-40c4-83ab-777026f19ff9" Priority = 0 ToItem = "Set" ToNode = "5963cdfb-0cfb-4779-8ebb-0a62b1eff31c" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "5963cdfb-0cfb-4779-8ebb-0a62b1eff31c" Priority = 0 ToItem = "Unspawn" ToNode = "03e9b67f-f389-4d26-83c8-dcef82bf0342" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "91d5f9a7-2d35-48bc-a513-7a41fe619644" Priority = 0 ToItem = "In" ToNode = "f71642d9-9999-4463-8ee7-7b10b6c50d89" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "56d1cb03-0341-433e-b504-5a0c4120af6c" Priority = 0 ToItem = "Spawn" ToNode = "261e0067-3e37-4cc0-a71f-c1af52ebf604" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Unspawned" FromNode = "03e9b67f-f389-4d26-83c8-dcef82bf0342" Priority = 0 ToItem = "Unspawn" ToNode = "261e0067-3e37-4cc0-a71f-c1af52ebf604" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Rotation" FromNode = "7dc4fb13-e43a-4506-9871-e37b834a6b59" ToItem = "Rotation" ToNode = "4aef0ffe-e710-4012-94af-91bbe1385238" Type = "Quaternion" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Numeric" FromNode = "3519b923-5af2-44f1-8c4b-29421cff95fa" ToItem = "Z" ToNode = "6c749d14-02b6-4102-8811-f37ce4a9f100" Type = "Float" } ] Groups = [ { Collapsed = false Groups = [ "5a97eaa6-e6d6-4557-97d9-05272dc868b9" "e2043e4b-6cbd-4eae-9367-0049d7005148" "1f614111-4cab-4626-a183-838dbcfabade" "05fd6dcc-430a-4056-bac6-e070418603cb" "d8d93b52-aa55-4e00-88be-7e0c0c9e03e7" "e52b807c-2e34-4276-88b9-f88da1c9ae71" "8436044f-a7cc-44a8-bc25-637cec530fa2" "fbe38c11-530b-4455-8e0d-06f6787da45e" "a58d30eb-15f5-4f6e-8443-9c8c4c591397" "c2f76b92-3d3b-496d-a9e3-14b50d65fd0d" ] Id = "a8b2b2fa-3ed3-4449-851f-8dde88f66cee" Nodes = [ ] Title = "Lazer Telepot" } { Collapsed = false Groups = [ ] Id = "5a97eaa6-e6d6-4557-97d9-05272dc868b9" Nodes = [ "23eae446-bb60-407b-867a-c3cfcdcd8cc3" "dc19acb9-3e07-47ed-937b-bd135e2a3ab8" "f091debb-f291-4469-bd17-619761f952bf" "c1e86dfb-bbd4-4559-88a2-a29541ece040" "cdcddbaf-5f1e-4c41-914e-93376116bccc" ] Title = "Store Controller Position, Rotation and ForwardVector" } { Collapsed = false Groups = [ ] Id = "e2043e4b-6cbd-4eae-9367-0049d7005148" Nodes = [ "57755749-cb4c-45a1-a694-6376b4553d00" "f98580db-886b-4b30-b9a0-028891ea1372" ] Title = "Test if trigger is pressed" } { Collapsed = false Groups = [ ] Id = "1f614111-4cab-4626-a183-838dbcfabade" Nodes = [ "f4631804-3e38-40c4-83ab-777026f19ff9" "df5a60d1-4ebf-48fc-9b82-a555bbbf3dae" "f1cf8ef1-a228-4607-abeb-5cad7c1923ec" "67483394-03c5-4db5-8d95-08d3f9cbc700" ] Title = "Teleport to Raycast Position (On Release)" } { Collapsed = false Groups = [ ] Id = "05fd6dcc-430a-4056-bac6-e070418603cb" Nodes = [ "0b979aba-0681-4966-94fd-eaa70d0b9d99" "6f16b39a-ec99-4b56-8377-0b5c698ef248" "bd5a4167-7c7b-4be0-a385-9ad9f1a63d53" ] Title = "Store Hit, HitPosition, and HitDistance" } { Collapsed = false Groups = [ "97b14167-a31b-4016-8f52-298b4c02bbdf" "82f5ad35-f71c-44fb-9fd6-b635ee590954" "da291767-363a-4155-943f-7d2bf2f65ef8" ] Id = "d8d93b52-aa55-4e00-88be-7e0c0c9e03e7" Nodes = [ ] Title = "Update" } { Collapsed = false Groups = [ ] Id = "97b14167-a31b-4016-8f52-298b4c02bbdf" Nodes = [ "91d5f9a7-2d35-48bc-a513-7a41fe619644" "3e4b7126-c810-45ac-b3d0-a154770d1a5a" "75f01007-98a3-4336-889e-0be7624f1d02" ] Title = "Update Ring Position" } { Collapsed = false Groups = [ ] Id = "82f5ad35-f71c-44fb-9fd6-b635ee590954" Nodes = [ "f71642d9-9999-4463-8ee7-7b10b6c50d89" "4aef0ffe-e710-4012-94af-91bbe1385238" "486dcde6-b470-48d3-9137-e8c61a9efe1e" "8efcc94e-eb23-455f-93b1-d957ae740157" "ac16c2b4-bb13-43cf-9143-56f2bc1400c9" "7dc4fb13-e43a-4506-9871-e37b834a6b59" ] Title = "Update Beem Position, Rotation and Scale" } { Collapsed = false Groups = [ ] Id = "da291767-363a-4155-943f-7d2bf2f65ef8" Nodes = [ "02d3040c-cd14-48fe-9893-816d013badb7" "3519b923-5af2-44f1-8c4b-29421cff95fa" "6c749d14-02b6-4102-8811-f37ce4a9f100" "e06c860d-16c5-479c-ada2-ff9f9a1e3a05" "b1f91a82-1704-4a13-b5e5-5c0e3f26df31" ] Title = "Scale the Beam to the Length of the HitDistance (Model length = 1 meter)" } { Collapsed = false Groups = [ "e67a4d24-1215-4b05-9bf1-b94f92813c2b" "0343328a-5361-497f-b437-e6a2d6805333" ] Id = "e52b807c-2e34-4276-88b9-f88da1c9ae71" Nodes = [ ] Title = "Spawn" } { Collapsed = false Groups = [ ] Id = "e67a4d24-1215-4b05-9bf1-b94f92813c2b" Nodes = [ "03e9b67f-f389-4d26-83c8-dcef82bf0342" "273828fc-13fb-4188-ab2b-4b9409f5a2b0" "1338632a-cc03-4629-8522-d673ed2e9c5c" "56d1cb03-0341-433e-b504-5a0c4120af6c" ] Title = "Spawn Teleport Ring" } { Collapsed = false Groups = [ ] Id = "0343328a-5361-497f-b437-e6a2d6805333" Nodes = [ "261e0067-3e37-4cc0-a71f-c1af52ebf604" "b30bb820-6476-4d21-b6e3-03a3c921ebdf" "9a71474f-c0fc-4489-945f-dc5f98106253" ] Title = "Spawn the Beem Mesh" } { Collapsed = false Groups = [ ] Id = "8436044f-a7cc-44a8-bc25-637cec530fa2" Nodes = [ "fe895805-357e-479b-9d3a-cadee0dfa507" "9b7317ee-1a09-4908-99bd-b72ad91b6160" "0f76b033-2a5c-490b-bc18-ed021ee80de5" ] Title = "Create A Rayacst From Fontroller Forward and Position" } { Collapsed = false Groups = [ ] Id = "fbe38c11-530b-4455-8e0d-06f6787da45e" Nodes = [ "ff105ac4-f9e7-4e48-8ad4-dc9f8a1f6183" "44eaae68-c587-4480-a789-5034d315a80f" "d4de60f7-6090-4261-8ef9-00f954f546c0" ] Title = "Test if spawning permitted" } { Collapsed = false Groups = [ ] Id = "a58d30eb-15f5-4f6e-8443-9c8c4c591397" Nodes = [ "5963cdfb-0cfb-4779-8ebb-0a62b1eff31c" ] Title = "Set Spawn Permitted to True" } { Collapsed = false Groups = [ ] Id = "c2f76b92-3d3b-496d-a9e3-14b50d65fd0d" Nodes = [ "88fc9d50-6d3a-43a4-ba48-2395bd63e923" "a3f5a615-fa53-4532-a518-ede5f64698ec" ] Title = "Go to Center of room" } ] Nodes = [ { Brief = "Returns three vectors (Right, Up, Forward) from a rotation (X,Y,Z) input." Class = "Stingray.Foundation.Flow.VectorsFromRotation" Forward = { } Id = "23eae446-bb60-407b-867a-c3cfcdcd8cc3" NodeLocation = { X = -453 Y = 1503 } Right = { } Rotation = { } Title = "Vectors From Rotation" Up = { } Width = 160 } { Arguments = [ { RawName = "controllerIndex" Type = "enum" Variable = { Choices = [ "1" "2" "3" "4" ] Class = "Stingray.Foundation.Flow.InEnumVariable" Value = "1" } } ] Brief = "" Class = "Stingray.Foundation.Flow.CustomScriptNode" FlowNodesResource = "script/steam_vr" FlowNodesResourceKey = "flow_nodes_resource" Id = "dc19acb9-3e07-47ed-937b-bd135e2a3ab8" InEvents = [ ] IsQuery = true Name = "Steam VR Controller World Pose" NodeLocation = { X = -1073 Y = 1343 } OutEvents = [ ] ReturnValues = [ { RawName = "worldPosition" Type = "vector3" Variable = { Class = "Stingray.Foundation.Flow.OutVariableVector3" } } { RawName = "worldRotation" Type = "quaternion" Variable = { Class = "Stingray.Foundation.Flow.OutVariableQuaternion" } } ] Width = 240 } { Brief = "Sets a variable to the specified vector value." Class = "Stingray.Foundation.Flow.SetVectorVariable" Id = "f091debb-f291-4469-bd17-619761f952bf" Name = { Value = "ControllerPosition" } NodeLocation = { X = -773 Y = 1343 } Out = { } Scope = { Value = "local" } Set = { } Title = "Set Vector Variable" Vector = { } Width = 220 } { Brief = "Sets a variable to the specified rotation value." Class = "Stingray.Foundation.Flow.SetRotationVariable" Id = "c1e86dfb-bbd4-4559-88a2-a29541ece040" Name = { Value = "ControllerRotation" } NodeLocation = { X = -493 Y = 1343 } Out = { } Rotation = { } Scope = { Value = "local" } Set = { } Title = "Set Rotation Variable" Width = 220 } { Brief = "Sets a variable to the specified vector value." Class = "Stingray.Foundation.Flow.SetVectorVariable" Id = "cdcddbaf-5f1e-4c41-914e-93376116bccc" Name = { Value = "ControllerForward" } NodeLocation = { X = -193 Y = 1343 } Out = { } Scope = { Value = "local" } Set = { } Title = "Set Vector Variable" Vector = { } Width = 200 } { Arguments = [ { RawName = "controllerIndex" Type = "enum" Variable = { Choices = [ "1" "2" "3" "4" ] Class = "Stingray.Foundation.Flow.InEnumVariable" Value = "1" } } { RawName = "buttonName" Type = "enum" Variable = { Choices = [ "Trigger" "Touch" "Grip" "System" "Menu" ] Class = "Stingray.Foundation.Flow.InEnumVariable" Value = "Trigger" } } ] Brief = "" Class = "Stingray.Foundation.Flow.CustomScriptNode" FlowNodesResource = "script/steam_vr" FlowNodesResourceKey = "flow_nodes_resource" Id = "57755749-cb4c-45a1-a694-6376b4553d00" InEvents = [ "update" ] IsQuery = false Name = "Steam VR Button" NodeLocation = { X = -1453 Y = 1583 } OutEvents = [ "pressed" "released" ] ReturnValues = [ ] Width = 160 } { Brief = "Passes an event at every update interval of the engine." Class = "Stingray.Foundation.Flow.LevelUpdate" Id = "f98580db-886b-4b30-b9a0-028891ea1372" NodeLocation = { X = -1673 Y = 1663 } Out = { } Title = "Level Update" Width = 160 } { Arguments = [ { RawName = "position" Type = "vector3" Variable = { Class = "Stingray.Foundation.Flow.InVariableVector3" } } { RawName = "rotation" Type = "quaternion" Variable = { Class = "Stingray.Foundation.Flow.InVariableQuaternion" Value = "0 0 0 1" } } { RawName = "scale" Type = "vector3" Variable = { Class = "Stingray.Foundation.Flow.InVariableVector3" Value = "1 1 1" } } ] Brief = "" Class = "Stingray.Foundation.Flow.CustomScriptNode" FlowNodesResource = "script/steam_vr" FlowNodesResourceKey = "flow_nodes_resource" Id = "f4631804-3e38-40c4-83ab-777026f19ff9" InEvents = [ "In" ] IsQuery = false Name = "Steam VR Set Tracking Space" NodeLocation = { X = -593 Y = 1723 } OutEvents = [ "Out" ] ReturnValues = [ ] Width = 160 } { Brief = "Creates a decision based data flow from a single boolean condition." Class = "Stingray.Foundation.Flow.Branch" Condition = { } False = { } Id = "df5a60d1-4ebf-48fc-9b82-a555bbbf3dae" In = { } NodeLocation = { X = -853 Y = 1823 } Title = "Branch" True = { } Width = 160 } { Bool = { } Brief = "Returns the current boolean value of the specified named variable." Class = "Stingray.Foundation.Flow.GetBoolVariable" Id = "f1cf8ef1-a228-4607-abeb-5cad7c1923ec" Name = { Value = "Hit" } NodeLocation = { X = -1073 Y = 1843 } Scope = { Value = "local" } Title = "Get Bool Variable" Width = 160 } { Brief = "Returns the current vector value of the specified named variable." Class = "Stingray.Foundation.Flow.GetVectorVariable" Id = "67483394-03c5-4db5-8d95-08d3f9cbc700" Name = { Value = "HitPosition" } NodeLocation = { X = -853 Y = 1703 } Scope = { Value = "local" } Title = "Get Vector Variable" Vector = { } Width = 160 } { Brief = "Sets a variable to the specified vector value." Class = "Stingray.Foundation.Flow.SetVectorVariable" Id = "0b979aba-0681-4966-94fd-eaa70d0b9d99" Name = { Value = "HitPosition" } NodeLocation = { X = 1027 Y = 1343 } Out = { } Scope = { Value = "local" } Set = { } Title = "Set Vector Variable" Vector = { } Width = 160 } { Brief = "Sets a variable to the specified numeric value." Class = "Stingray.Foundation.Flow.SetNumericVariable" Id = "6f16b39a-ec99-4b56-8377-0b5c698ef248" Name = { Value = "HitDistance" } NodeLocation = { X = 1227 Y = 1343 } Numeric = { } Out = { } Scope = { Value = "local" } Set = { } Title = "Set Numeric Variable" Width = 160 } { Bool = { } Brief = "Sets a variable to the specified boolean value." Class = "Stingray.Foundation.Flow.SetBoolVariable" Id = "bd5a4167-7c7b-4be0-a385-9ad9f1a63d53" Name = { Value = "Hit" } NodeLocation = { X = 807 Y = 1343 } Out = { } Scope = { Value = "local" } Set = { } Title = "Set Bool Variable" Width = 160 } { Brief = "Sets the local position of the unit. If no object is specified, the units world position will be set instead." Class = "Stingray.Foundation.Flow.SetUnitLocalPosition" Id = "91d5f9a7-2d35-48bc-a513-7a41fe619644" In = { } NodeLocation = { X = 2647 Y = 1583 } Object = { } Out = { } Position = { } Teleport = { } Title = "Set Unit Local Position" Unit = { UseMyUnit = false } Width = 160 } { Brief = "Returns the current vector value of the specified named variable." Class = "Stingray.Foundation.Flow.GetVectorVariable" Id = "3e4b7126-c810-45ac-b3d0-a154770d1a5a" Name = { Value = "HitPosition" } NodeLocation = { X = 2027 Y = 1643 } Scope = { Value = "local" } Title = "Get Vector Variable" Vector = { } Width = 160 } { Brief = "Returns the current unit stored in the specified named variable." Class = "Stingray.Foundation.Flow.GetUnitVariable" Id = "75f01007-98a3-4336-889e-0be7624f1d02" Name = { Value = "TeleportRing" } NodeLocation = { X = 2027 Y = 1543 } Scope = { Value = "local" } Title = "Get Unit Variable" Unit = { } Width = 160 } { Brief = "Sets the local position of the unit. If no object is specified, the units world position will be set instead." Class = "Stingray.Foundation.Flow.SetUnitLocalPosition" Id = "f71642d9-9999-4463-8ee7-7b10b6c50d89" In = { } NodeLocation = { X = 3287 Y = 1563 } Object = { } Out = { } Position = { } Teleport = { } Title = "Set Unit Local Position" Unit = { UseMyUnit = false } Width = 160 } { Brief = "Sets the local rotation of the unit. If no object is specified, the units world rotation will be set instead." Class = "Stingray.Foundation.Flow.SetUnitLocalRotation" Id = "4aef0ffe-e710-4012-94af-91bbe1385238" In = { } NodeLocation = { X = 3807 Y = 1563 } Object = { } Out = { } Rotation = { } Teleport = { } Title = "Set Unit Local Rotation" Unit = { UseMyUnit = false } Width = 160 } { Brief = "Returns the current vector value of the specified named variable." Class = "Stingray.Foundation.Flow.GetVectorVariable" Id = "486dcde6-b470-48d3-9137-e8c61a9efe1e" Name = { Value = "ControllerPosition" } NodeLocation = { X = 2887 Y = 1723 } Scope = { Value = "local" } Title = "Get Vector Variable" Vector = { } Width = 240 } { Brief = "Returns the current unit stored in the specified named variable." Class = "Stingray.Foundation.Flow.GetUnitVariable" Id = "8efcc94e-eb23-455f-93b1-d957ae740157" Name = { Value = "Beem" } NodeLocation = { X = 2887 Y = 1543 } Scope = { Value = "local" } Title = "Get Unit Variable" Unit = { } Width = 240 } { Brief = "Returns the current unit stored in the specified named variable." Class = "Stingray.Foundation.Flow.GetUnitVariable" Id = "ac16c2b4-bb13-43cf-9143-56f2bc1400c9" Name = { Value = "Beem" } NodeLocation = { X = 3487 Y = 1523 } Scope = { Value = "local" } Title = "Get Unit Variable" Unit = { } Width = 260 } { Brief = "Returns the current rotation value of the specified named variable." Class = "Stingray.Foundation.Flow.GetRotationVariable" Id = "7dc4fb13-e43a-4506-9871-e37b834a6b59" Name = { Value = "ControllerRotation" } NodeLocation = { X = 3287 Y = 1723 } Rotation = { } Scope = { Value = "local" } Title = "Get Rotation Variable" Width = 260 } { Brief = "Set the unit's local scale." Class = "Stingray.Foundation.Flow.SetUnitLocalScale" Id = "02d3040c-cd14-48fe-9893-816d013badb7" In = { } NodeLocation = { X = 4907 Y = 1623 } Object = { Value = "Beem" } Out = { } Scale = { } Teleport = { } Title = "Set Unit Local Scale" Unit = { UseMyUnit = false } Width = 160 } { Brief = "Returns the current numeric value of the specified named variable." Class = "Stingray.Foundation.Flow.GetNumericVariable" Id = "3519b923-5af2-44f1-8c4b-29421cff95fa" Name = { Value = "HitDistance" } NodeLocation = { X = 4027 Y = 1643 } Numeric = { } Scope = { Value = "local" } Title = "Get Numeric Variable" Width = 160 } { Brief = "Constructs a vector from three separate X, Y and Z numeric components." Class = "Stingray.Foundation.Flow.VectorFromComponents" Id = "6c749d14-02b6-4102-8811-f37ce4a9f100" NodeLocation = { X = 4387 Y = 1643 } Title = "Vector From Components" Vector = { } Width = 160 X = { Value = 1 } Y = { Value = 1 } Z = { } } { Brief = "Returns the current unit stored in the specified named variable." Class = "Stingray.Foundation.Flow.GetUnitVariable" Id = "e06c860d-16c5-479c-ada2-ff9f9a1e3a05" Name = { Value = "Beem" } NodeLocation = { X = 4287 Y = 1543 } Scope = { Value = "local" } Title = "Get Unit Variable" Unit = { } Width = 260 } { A = { } B = { Value = -1 } Brief = "Returns a numeric value that represents the product of A and B." Class = "Stingray.Foundation.Flow.NumericTimesNumeric" Id = "b1f91a82-1704-4a13-b5e5-5c0e3f26df31" NodeLocation = { X = 4207 Y = 1743 } Title = "Multiplication" Value = { } Width = 160 } { Brief = "Spawns the unit at a specified position." Class = "Stingray.Foundation.Flow.SpawnUnitPositionRotation" Id = "03e9b67f-f389-4d26-83c8-dcef82bf0342" InEvents = [ ] InVariableNames = [ ] InVariables = [ ] NodeLocation = { X = 2307 Y = 1143 } OutEvents = [ ] OutVariableNames = [ ] OutVariables = [ ] Position = { } Rotation = { } Spawn = { } Spawned = { } SpawnedUnit = { } Title = "Spawn Unit on Position" Unit = { Value = "content/models/VR_Teleport/Ring" } Unspawn = { } Unspawned = { } Width = 280 } { Brief = "Returns the current vector value of the specified named variable." Class = "Stingray.Foundation.Flow.GetVectorVariable" Id = "273828fc-13fb-4188-ab2b-4b9409f5a2b0" Name = { Value = "HitPosition" } NodeLocation = { X = 2027 Y = 1103 } Scope = { Value = "local" } Title = "Get Vector Variable" Vector = { } Width = 200 } { Bool = { Value = false } Brief = "Sets a variable to the specified boolean value." Class = "Stingray.Foundation.Flow.SetBoolVariable" Id = "1338632a-cc03-4629-8522-d673ed2e9c5c" Name = { Value = "SpawnPermitted" } NodeLocation = { X = 2027 Y = 1203 } Out = { } Scope = { Value = "local" } Set = { } Title = "Set Bool Variable" Width = 200 } { Brief = "Sets a variable to the specified unit." Class = "Stingray.Foundation.Flow.SetUnitVariable" Id = "56d1cb03-0341-433e-b504-5a0c4120af6c" Name = { Value = "TeleportRing" } NodeLocation = { X = 2687 Y = 1043 } Out = { } Scope = { Value = "local" } Set = { } Title = "Set Unit Variable" Unit = { UseMyUnit = false } Width = 160 } { Brief = "Spawns the unit at a specified position." Class = "Stingray.Foundation.Flow.SpawnUnitPositionRotation" Id = "261e0067-3e37-4cc0-a71f-c1af52ebf604" InEvents = [ ] InVariableNames = [ ] InVariables = [ ] NodeLocation = { X = 3227 Y = 1163 } OutEvents = [ ] OutVariableNames = [ ] OutVariables = [ ] Position = { } Rotation = { } Spawn = { } Spawned = { } SpawnedUnit = { } Title = "Spawn Unit on Position" Unit = { Value = "content/models/VR_Teleport/Beem" } Unspawn = { } Unspawned = { } Width = 340 } { Brief = "Returns the current vector value of the specified named variable." Class = "Stingray.Foundation.Flow.GetVectorVariable" Id = "b30bb820-6476-4d21-b6e3-03a3c921ebdf" Name = { Value = "ControllerPosition" } NodeLocation = { X = 2927 Y = 1143 } Scope = { Value = "local" } Title = "Get Vector Variable" Vector = { } Width = 240 } { Brief = "Sets a variable to the specified unit." Class = "Stingray.Foundation.Flow.SetUnitVariable" Id = "9a71474f-c0fc-4489-945f-dc5f98106253" Name = { Value = "Beem" } NodeLocation = { X = 3667 Y = 1043 } Out = { } Scope = { Value = "local" } Set = { } Title = "Set Unit Variable" Unit = { UseMyUnit = false } Width = 160 } { Brief = "Returns the current vector value of the specified named variable." Class = "Stingray.Foundation.Flow.GetVectorVariable" Id = "fe895805-357e-479b-9d3a-cadee0dfa507" Name = { Value = "ControllerForward" } NodeLocation = { X = 67 Y = 1563 } Scope = { Value = "local" } Title = "Get Vector Variable" Vector = { } Width = 200 } { Actor = { } Brief = "Casts a ray from a point in 3D space in a specified direction. Any units with physics collision that the ray intersects will be returned." Class = "Stingray.Foundation.Flow.Raycast" CollisionFilter = { } Direction = { } Distance = { } From = { } Hit = { } Id = "9b7317ee-1a09-4908-99bd-b72ad91b6160" In = { } Length = { Value = 1000 } NodeLocation = { X = 567 Y = 1343 } Normal = { } ObjectType = { } Out = { } Position = { } Title = "Raycast" Unit = { } Width = 160 } { Brief = "Returns the current vector value of the specified named variable." Class = "Stingray.Foundation.Flow.GetVectorVariable" Id = "0f76b033-2a5c-490b-bc18-ed021ee80de5" Name = { Value = "ControllerPosition" } NodeLocation = { X = 67 Y = 1463 } Scope = { Value = "local" } Title = "Get Vector Variable" Vector = { } Width = 200 } { Bool = { } Brief = "Returns the current boolean value of the specified named variable." Class = "Stingray.Foundation.Flow.GetBoolVariable" Id = "ff105ac4-f9e7-4e48-8ad4-dc9f8a1f6183" Name = { Value = "SpawnPermitted" } NodeLocation = { X = 1447 Y = 1343 } Scope = { Value = "local" } Title = "Get Bool Variable" Width = 160 } { Brief = "Creates a boolean constant." Class = "Stingray.Foundation.Flow.BooleanData" Id = "44eaae68-c587-4480-a789-5034d315a80f" NodeLocation = { X = 1447 Y = 1443 } Set = { Value = true } Title = "Boolean Data" Value = { } Width = 160 } { A = { } B = { } Brief = "Compares two objects as inputs and fires event outputs based on if the objects are equal or unequal." Class = "Stingray.Foundation.Flow.CompareObjects" Compare = { } Equal = { } Id = "d4de60f7-6090-4261-8ef9-00f954f546c0" NodeLocation = { X = 1767 Y = 1343 } Title = "Compare Objects" Unequal = { } Width = 160 } { Bool = { Value = true } Brief = "Sets a variable to the specified boolean value." Class = "Stingray.Foundation.Flow.SetBoolVariable" Id = "5963cdfb-0cfb-4779-8ebb-0a62b1eff31c" Name = { Value = "SpawnPermitted" } NodeLocation = { X = 1447 Y = 1643 } Out = { } Scope = { Value = "local" } Set = { } Title = "Set Bool Variable" Width = 300 } { Arguments = [ { RawName = "position" Type = "vector3" Variable = { Class = "Stingray.Foundation.Flow.InVariableVector3" Value = "-1.264 11.9 0" } } { RawName = "rotation" Type = "quaternion" Variable = { Class = "Stingray.Foundation.Flow.InVariableQuaternion" Value = "0 0 0 1" } } { RawName = "scale" Type = "vector3" Variable = { Class = "Stingray.Foundation.Flow.InVariableVector3" Value = "1 1 1" } } ] Brief = "" Class = "Stingray.Foundation.Flow.CustomScriptNode" FlowNodesResource = "script/steam_vr" FlowNodesResourceKey = "flow_nodes_resource" Id = "88fc9d50-6d3a-43a4-ba48-2395bd63e923" InEvents = [ "In" ] IsQuery = false Name = "Steam VR Set Tracking Space" NodeLocation = { X = -1613 Y = 1303 } OutEvents = [ "Out" ] ReturnValues = [ ] Width = 280 } { Brief = "Allows the user to specify a standard keyboard button and send events such as pressed, held, and released." ButtonName = { Value = "space" } Class = "Stingray.Foundation.Flow.KeyboardButton" Device = { Value = "keyboard" } DeviceNumber = { Value = 0 } Held = { } Id = "a3f5a615-fa53-4532-a518-ede5f64698ec" NodeLocation = { X = -1933 Y = 1303 } Pressed = { } Released = { } Title = "Keyboard Button" Value = { } Width = 280 }
Ope up level flow and simply hit Control + V
It will auto-magically create your graph. Its a hidden gem within stingray, you can copy/paste into any flow graph.
Paul
Somehow the last ] bracket got cut from my previous post. So it may not be pasting properly for you guys. Here grab this instead. You still will need to grab the zip file so i will attach it again for convenience.
Connections = [ { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Vector" FromNode = "6c749d14-02b6-4102-8811-f37ce4a9f100" ToItem = "Scale" ToNode = "02d3040c-cd14-48fe-9893-816d013badb7" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "f71642d9-9999-4463-8ee7-7b10b6c50d89" Priority = 0 ToItem = "In" ToNode = "4aef0ffe-e710-4012-94af-91bbe1385238" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "4aef0ffe-e710-4012-94af-91bbe1385238" Priority = 0 ToItem = "In" ToNode = "02d3040c-cd14-48fe-9893-816d013badb7" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "WorldRotation" FromNode = "dc19acb9-3e07-47ed-937b-bd135e2a3ab8" ToItem = "Rotation" ToNode = "23eae446-bb60-407b-867a-c3cfcdcd8cc3" Type = "Quaternion" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "True" FromNode = "df5a60d1-4ebf-48fc-9b82-a555bbbf3dae" Priority = 0 ToItem = "In" ToNode = "f4631804-3e38-40c4-83ab-777026f19ff9" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Position" FromNode = "9b7317ee-1a09-4908-99bd-b72ad91b6160" ToItem = "Vector" ToNode = "0b979aba-0681-4966-94fd-eaa70d0b9d99" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Distance" FromNode = "9b7317ee-1a09-4908-99bd-b72ad91b6160" ToItem = "Numeric" ToNode = "6f16b39a-ec99-4b56-8377-0b5c698ef248" Type = "Float" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "0b979aba-0681-4966-94fd-eaa70d0b9d99" Priority = 0 ToItem = "Set" ToNode = "6f16b39a-ec99-4b56-8377-0b5c698ef248" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Hit" FromNode = "9b7317ee-1a09-4908-99bd-b72ad91b6160" ToItem = "Bool" ToNode = "bd5a4167-7c7b-4be0-a385-9ad9f1a63d53" Type = "Bool" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "bd5a4167-7c7b-4be0-a385-9ad9f1a63d53" Priority = 0 ToItem = "Set" ToNode = "0b979aba-0681-4966-94fd-eaa70d0b9d99" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "9b7317ee-1a09-4908-99bd-b72ad91b6160" Priority = 0 ToItem = "Set" ToNode = "bd5a4167-7c7b-4be0-a385-9ad9f1a63d53" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Bool" FromNode = "f1cf8ef1-a228-4607-abeb-5cad7c1923ec" ToItem = "Condition" ToNode = "df5a60d1-4ebf-48fc-9b82-a555bbbf3dae" Type = "Bool" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Vector" FromNode = "67483394-03c5-4db5-8d95-08d3f9cbc700" ToItem = "Position" ToNode = "f4631804-3e38-40c4-83ab-777026f19ff9" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Vector" FromNode = "3e4b7126-c810-45ac-b3d0-a154770d1a5a" ToItem = "Position" ToNode = "91d5f9a7-2d35-48bc-a513-7a41fe619644" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Vector" FromNode = "273828fc-13fb-4188-ab2b-4b9409f5a2b0" ToItem = "Position" ToNode = "03e9b67f-f389-4d26-83c8-dcef82bf0342" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "released" FromNode = "57755749-cb4c-45a1-a694-6376b4553d00" Priority = 0 ToItem = "In" ToNode = "df5a60d1-4ebf-48fc-9b82-a555bbbf3dae" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "WorldPosition" FromNode = "dc19acb9-3e07-47ed-937b-bd135e2a3ab8" ToItem = "Vector" ToNode = "f091debb-f291-4469-bd17-619761f952bf" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "pressed" FromNode = "57755749-cb4c-45a1-a694-6376b4553d00" Priority = 0 ToItem = "Set" ToNode = "f091debb-f291-4469-bd17-619761f952bf" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "f091debb-f291-4469-bd17-619761f952bf" Priority = 0 ToItem = "Set" ToNode = "c1e86dfb-bbd4-4559-88a2-a29541ece040" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "WorldRotation" FromNode = "dc19acb9-3e07-47ed-937b-bd135e2a3ab8" ToItem = "Rotation" ToNode = "c1e86dfb-bbd4-4559-88a2-a29541ece040" Type = "Quaternion" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Forward" FromNode = "23eae446-bb60-407b-867a-c3cfcdcd8cc3" ToItem = "Vector" ToNode = "cdcddbaf-5f1e-4c41-914e-93376116bccc" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "c1e86dfb-bbd4-4559-88a2-a29541ece040" Priority = 0 ToItem = "Set" ToNode = "cdcddbaf-5f1e-4c41-914e-93376116bccc" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Vector" FromNode = "fe895805-357e-479b-9d3a-cadee0dfa507" ToItem = "Direction" ToNode = "9b7317ee-1a09-4908-99bd-b72ad91b6160" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "cdcddbaf-5f1e-4c41-914e-93376116bccc" Priority = 0 ToItem = "In" ToNode = "9b7317ee-1a09-4908-99bd-b72ad91b6160" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Vector" FromNode = "0f76b033-2a5c-490b-bc18-ed021ee80de5" ToItem = "From" ToNode = "9b7317ee-1a09-4908-99bd-b72ad91b6160" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Vector" FromNode = "b30bb820-6476-4d21-b6e3-03a3c921ebdf" ToItem = "Position" ToNode = "261e0067-3e37-4cc0-a71f-c1af52ebf604" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Vector" FromNode = "486dcde6-b470-48d3-9137-e8c61a9efe1e" ToItem = "Position" ToNode = "f71642d9-9999-4463-8ee7-7b10b6c50d89" Type = "Vector3" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Bool" FromNode = "ff105ac4-f9e7-4e48-8ad4-dc9f8a1f6183" ToItem = "A" ToNode = "d4de60f7-6090-4261-8ef9-00f954f546c0" Type = "Bool" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Value" FromNode = "44eaae68-c587-4480-a789-5034d315a80f" ToItem = "B" ToNode = "d4de60f7-6090-4261-8ef9-00f954f546c0" Type = "Bool" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "6f16b39a-ec99-4b56-8377-0b5c698ef248" Priority = 0 ToItem = "Compare" ToNode = "d4de60f7-6090-4261-8ef9-00f954f546c0" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Unequal" FromNode = "d4de60f7-6090-4261-8ef9-00f954f546c0" Priority = 0 ToItem = "In" ToNode = "91d5f9a7-2d35-48bc-a513-7a41fe619644" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Equal" FromNode = "d4de60f7-6090-4261-8ef9-00f954f546c0" Priority = 0 ToItem = "Set" ToNode = "1338632a-cc03-4629-8522-d673ed2e9c5c" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "1338632a-cc03-4629-8522-d673ed2e9c5c" Priority = 0 ToItem = "Spawn" ToNode = "03e9b67f-f389-4d26-83c8-dcef82bf0342" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "SpawnedUnit" FromNode = "03e9b67f-f389-4d26-83c8-dcef82bf0342" ToItem = "Unit" ToNode = "56d1cb03-0341-433e-b504-5a0c4120af6c" Type = "Unit" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Spawned" FromNode = "03e9b67f-f389-4d26-83c8-dcef82bf0342" Priority = 0 ToItem = "Set" ToNode = "56d1cb03-0341-433e-b504-5a0c4120af6c" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Unit" FromNode = "75f01007-98a3-4336-889e-0be7624f1d02" ToItem = "Unit" ToNode = "91d5f9a7-2d35-48bc-a513-7a41fe619644" Type = "Unit" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "SpawnedUnit" FromNode = "261e0067-3e37-4cc0-a71f-c1af52ebf604" ToItem = "Unit" ToNode = "9a71474f-c0fc-4489-945f-dc5f98106253" Type = "Unit" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Spawned" FromNode = "261e0067-3e37-4cc0-a71f-c1af52ebf604" Priority = 0 ToItem = "Set" ToNode = "9a71474f-c0fc-4489-945f-dc5f98106253" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Unit" FromNode = "8efcc94e-eb23-455f-93b1-d957ae740157" ToItem = "Unit" ToNode = "f71642d9-9999-4463-8ee7-7b10b6c50d89" Type = "Unit" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Unit" FromNode = "ac16c2b4-bb13-43cf-9143-56f2bc1400c9" ToItem = "Unit" ToNode = "4aef0ffe-e710-4012-94af-91bbe1385238" Type = "Unit" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Unit" FromNode = "e06c860d-16c5-479c-ada2-ff9f9a1e3a05" ToItem = "Unit" ToNode = "02d3040c-cd14-48fe-9893-816d013badb7" Type = "Unit" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Pressed" FromNode = "a3f5a615-fa53-4532-a518-ede5f64698ec" Priority = 0 ToItem = "In" ToNode = "88fc9d50-6d3a-43a4-ba48-2395bd63e923" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "f98580db-886b-4b30-b9a0-028891ea1372" Priority = 0 ToItem = "update" ToNode = "57755749-cb4c-45a1-a694-6376b4553d00" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "f4631804-3e38-40c4-83ab-777026f19ff9" Priority = 0 ToItem = "Set" ToNode = "5963cdfb-0cfb-4779-8ebb-0a62b1eff31c" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "5963cdfb-0cfb-4779-8ebb-0a62b1eff31c" Priority = 0 ToItem = "Unspawn" ToNode = "03e9b67f-f389-4d26-83c8-dcef82bf0342" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "91d5f9a7-2d35-48bc-a513-7a41fe619644" Priority = 0 ToItem = "In" ToNode = "f71642d9-9999-4463-8ee7-7b10b6c50d89" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Out" FromNode = "56d1cb03-0341-433e-b504-5a0c4120af6c" Priority = 0 ToItem = "Spawn" ToNode = "261e0067-3e37-4cc0-a71f-c1af52ebf604" } { Class = "Stingray.Foundation.Flow.EventConnection" FromItem = "Unspawned" FromNode = "03e9b67f-f389-4d26-83c8-dcef82bf0342" Priority = 0 ToItem = "Unspawn" ToNode = "261e0067-3e37-4cc0-a71f-c1af52ebf604" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Rotation" FromNode = "7dc4fb13-e43a-4506-9871-e37b834a6b59" ToItem = "Rotation" ToNode = "4aef0ffe-e710-4012-94af-91bbe1385238" Type = "Quaternion" } { Class = "Stingray.Foundation.Flow.VariableConnection" FromItem = "Numeric" FromNode = "3519b923-5af2-44f1-8c4b-29421cff95fa" ToItem = "Z" ToNode = "6c749d14-02b6-4102-8811-f37ce4a9f100" Type = "Float" } ] Groups = [ { Collapsed = false Groups = [ "5a97eaa6-e6d6-4557-97d9-05272dc868b9" "e2043e4b-6cbd-4eae-9367-0049d7005148" "1f614111-4cab-4626-a183-838dbcfabade" "05fd6dcc-430a-4056-bac6-e070418603cb" "d8d93b52-aa55-4e00-88be-7e0c0c9e03e7" "e52b807c-2e34-4276-88b9-f88da1c9ae71" "8436044f-a7cc-44a8-bc25-637cec530fa2" "fbe38c11-530b-4455-8e0d-06f6787da45e" "a58d30eb-15f5-4f6e-8443-9c8c4c591397" "c2f76b92-3d3b-496d-a9e3-14b50d65fd0d" ] Id = "a8b2b2fa-3ed3-4449-851f-8dde88f66cee" Nodes = [ ] Title = "Lazer Telepot" } { Collapsed = false Groups = [ ] Id = "5a97eaa6-e6d6-4557-97d9-05272dc868b9" Nodes = [ "23eae446-bb60-407b-867a-c3cfcdcd8cc3" "dc19acb9-3e07-47ed-937b-bd135e2a3ab8" "f091debb-f291-4469-bd17-619761f952bf" "c1e86dfb-bbd4-4559-88a2-a29541ece040" "cdcddbaf-5f1e-4c41-914e-93376116bccc" ] Title = "Store Controller Position, Rotation and ForwardVector" } { Collapsed = false Groups = [ ] Id = "e2043e4b-6cbd-4eae-9367-0049d7005148" Nodes = [ "57755749-cb4c-45a1-a694-6376b4553d00" "f98580db-886b-4b30-b9a0-028891ea1372" ] Title = "Test if trigger is pressed" } { Collapsed = false Groups = [ ] Id = "1f614111-4cab-4626-a183-838dbcfabade" Nodes = [ "f4631804-3e38-40c4-83ab-777026f19ff9" "df5a60d1-4ebf-48fc-9b82-a555bbbf3dae" "f1cf8ef1-a228-4607-abeb-5cad7c1923ec" "67483394-03c5-4db5-8d95-08d3f9cbc700" ] Title = "Teleport to Raycast Position (On Release)" } { Collapsed = false Groups = [ ] Id = "05fd6dcc-430a-4056-bac6-e070418603cb" Nodes = [ "0b979aba-0681-4966-94fd-eaa70d0b9d99" "6f16b39a-ec99-4b56-8377-0b5c698ef248" "bd5a4167-7c7b-4be0-a385-9ad9f1a63d53" ] Title = "Store Hit, HitPosition, and HitDistance" } { Collapsed = false Groups = [ "97b14167-a31b-4016-8f52-298b4c02bbdf" "82f5ad35-f71c-44fb-9fd6-b635ee590954" "da291767-363a-4155-943f-7d2bf2f65ef8" ] Id = "d8d93b52-aa55-4e00-88be-7e0c0c9e03e7" Nodes = [ ] Title = "Update" } { Collapsed = false Groups = [ ] Id = "97b14167-a31b-4016-8f52-298b4c02bbdf" Nodes = [ "91d5f9a7-2d35-48bc-a513-7a41fe619644" "3e4b7126-c810-45ac-b3d0-a154770d1a5a" "75f01007-98a3-4336-889e-0be7624f1d02" ] Title = "Update Ring Position" } { Collapsed = false Groups = [ ] Id = "82f5ad35-f71c-44fb-9fd6-b635ee590954" Nodes = [ "f71642d9-9999-4463-8ee7-7b10b6c50d89" "4aef0ffe-e710-4012-94af-91bbe1385238" "486dcde6-b470-48d3-9137-e8c61a9efe1e" "8efcc94e-eb23-455f-93b1-d957ae740157" "ac16c2b4-bb13-43cf-9143-56f2bc1400c9" "7dc4fb13-e43a-4506-9871-e37b834a6b59" ] Title = "Update Beem Position, Rotation and Scale" } { Collapsed = false Groups = [ ] Id = "da291767-363a-4155-943f-7d2bf2f65ef8" Nodes = [ "02d3040c-cd14-48fe-9893-816d013badb7" "3519b923-5af2-44f1-8c4b-29421cff95fa" "6c749d14-02b6-4102-8811-f37ce4a9f100" "e06c860d-16c5-479c-ada2-ff9f9a1e3a05" "b1f91a82-1704-4a13-b5e5-5c0e3f26df31" ] Title = "Scale the Beam to the Length of the HitDistance (Model length = 1 meter)" } { Collapsed = false Groups = [ "e67a4d24-1215-4b05-9bf1-b94f92813c2b" "0343328a-5361-497f-b437-e6a2d6805333" ] Id = "e52b807c-2e34-4276-88b9-f88da1c9ae71" Nodes = [ ] Title = "Spawn" } { Collapsed = false Groups = [ ] Id = "e67a4d24-1215-4b05-9bf1-b94f92813c2b" Nodes = [ "03e9b67f-f389-4d26-83c8-dcef82bf0342" "273828fc-13fb-4188-ab2b-4b9409f5a2b0" "1338632a-cc03-4629-8522-d673ed2e9c5c" "56d1cb03-0341-433e-b504-5a0c4120af6c" ] Title = "Spawn Teleport Ring" } { Collapsed = false Groups = [ ] Id = "0343328a-5361-497f-b437-e6a2d6805333" Nodes = [ "261e0067-3e37-4cc0-a71f-c1af52ebf604" "b30bb820-6476-4d21-b6e3-03a3c921ebdf" "9a71474f-c0fc-4489-945f-dc5f98106253" ] Title = "Spawn the Beem Mesh" } { Collapsed = false Groups = [ ] Id = "8436044f-a7cc-44a8-bc25-637cec530fa2" Nodes = [ "fe895805-357e-479b-9d3a-cadee0dfa507" "9b7317ee-1a09-4908-99bd-b72ad91b6160" "0f76b033-2a5c-490b-bc18-ed021ee80de5" ] Title = "Create A Rayacst From Fontroller Forward and Position" } { Collapsed = false Groups = [ ] Id = "fbe38c11-530b-4455-8e0d-06f6787da45e" Nodes = [ "ff105ac4-f9e7-4e48-8ad4-dc9f8a1f6183" "44eaae68-c587-4480-a789-5034d315a80f" "d4de60f7-6090-4261-8ef9-00f954f546c0" ] Title = "Test if spawning permitted" } { Collapsed = false Groups = [ ] Id = "a58d30eb-15f5-4f6e-8443-9c8c4c591397" Nodes = [ "5963cdfb-0cfb-4779-8ebb-0a62b1eff31c" ] Title = "Set Spawn Permitted to True" } { Collapsed = false Groups = [ ] Id = "c2f76b92-3d3b-496d-a9e3-14b50d65fd0d" Nodes = [ "88fc9d50-6d3a-43a4-ba48-2395bd63e923" "a3f5a615-fa53-4532-a518-ede5f64698ec" ] Title = "Go to Center of room" } ] Nodes = [ { Brief = "Returns three vectors (Right, Up, Forward) from a rotation (X,Y,Z) input." Class = "Stingray.Foundation.Flow.VectorsFromRotation" Forward = { } Id = "23eae446-bb60-407b-867a-c3cfcdcd8cc3" NodeLocation = { X = -453 Y = 1503 } Right = { } Rotation = { } Title = "Vectors From Rotation" Up = { } Width = 160 } { Arguments = [ { RawName = "controllerIndex" Type = "enum" Variable = { Choices = [ "1" "2" "3" "4" ] Class = "Stingray.Foundation.Flow.InEnumVariable" Value = "1" } } ] Brief = "" Class = "Stingray.Foundation.Flow.CustomScriptNode" FlowNodesResource = "script/steam_vr" FlowNodesResourceKey = "flow_nodes_resource" Id = "dc19acb9-3e07-47ed-937b-bd135e2a3ab8" InEvents = [ ] IsQuery = true Name = "Steam VR Controller World Pose" NodeLocation = { X = -1073 Y = 1343 } OutEvents = [ ] ReturnValues = [ { RawName = "worldPosition" Type = "vector3" Variable = { Class = "Stingray.Foundation.Flow.OutVariableVector3" } } { RawName = "worldRotation" Type = "quaternion" Variable = { Class = "Stingray.Foundation.Flow.OutVariableQuaternion" } } ] Width = 240 } { Brief = "Sets a variable to the specified vector value." Class = "Stingray.Foundation.Flow.SetVectorVariable" Id = "f091debb-f291-4469-bd17-619761f952bf" Name = { Value = "ControllerPosition" } NodeLocation = { X = -773 Y = 1343 } Out = { } Scope = { Value = "local" } Set = { } Title = "Set Vector Variable" Vector = { } Width = 220 } { Brief = "Sets a variable to the specified rotation value." Class = "Stingray.Foundation.Flow.SetRotationVariable" Id = "c1e86dfb-bbd4-4559-88a2-a29541ece040" Name = { Value = "ControllerRotation" } NodeLocation = { X = -493 Y = 1343 } Out = { } Rotation = { } Scope = { Value = "local" } Set = { } Title = "Set Rotation Variable" Width = 220 } { Brief = "Sets a variable to the specified vector value." Class = "Stingray.Foundation.Flow.SetVectorVariable" Id = "cdcddbaf-5f1e-4c41-914e-93376116bccc" Name = { Value = "ControllerForward" } NodeLocation = { X = -193 Y = 1343 } Out = { } Scope = { Value = "local" } Set = { } Title = "Set Vector Variable" Vector = { } Width = 200 } { Arguments = [ { RawName = "controllerIndex" Type = "enum" Variable = { Choices = [ "1" "2" "3" "4" ] Class = "Stingray.Foundation.Flow.InEnumVariable" Value = "1" } } { RawName = "buttonName" Type = "enum" Variable = { Choices = [ "Trigger" "Touch" "Grip" "System" "Menu" ] Class = "Stingray.Foundation.Flow.InEnumVariable" Value = "Trigger" } } ] Brief = "" Class = "Stingray.Foundation.Flow.CustomScriptNode" FlowNodesResource = "script/steam_vr" FlowNodesResourceKey = "flow_nodes_resource" Id = "57755749-cb4c-45a1-a694-6376b4553d00" InEvents = [ "update" ] IsQuery = false Name = "Steam VR Button" NodeLocation = { X = -1453 Y = 1583 } OutEvents = [ "pressed" "released" ] ReturnValues = [ ] Width = 160 } { Brief = "Passes an event at every update interval of the engine." Class = "Stingray.Foundation.Flow.LevelUpdate" Id = "f98580db-886b-4b30-b9a0-028891ea1372" NodeLocation = { X = -1673 Y = 1663 } Out = { } Title = "Level Update" Width = 160 } { Arguments = [ { RawName = "position" Type = "vector3" Variable = { Class = "Stingray.Foundation.Flow.InVariableVector3" } } { RawName = "rotation" Type = "quaternion" Variable = { Class = "Stingray.Foundation.Flow.InVariableQuaternion" Value = "0 0 0 1" } } { RawName = "scale" Type = "vector3" Variable = { Class = "Stingray.Foundation.Flow.InVariableVector3" Value = "1 1 1" } } ] Brief = "" Class = "Stingray.Foundation.Flow.CustomScriptNode" FlowNodesResource = "script/steam_vr" FlowNodesResourceKey = "flow_nodes_resource" Id = "f4631804-3e38-40c4-83ab-777026f19ff9" InEvents = [ "In" ] IsQuery = false Name = "Steam VR Set Tracking Space" NodeLocation = { X = -593 Y = 1723 } OutEvents = [ "Out" ] ReturnValues = [ ] Width = 160 } { Brief = "Creates a decision based data flow from a single boolean condition." Class = "Stingray.Foundation.Flow.Branch" Condition = { } False = { } Id = "df5a60d1-4ebf-48fc-9b82-a555bbbf3dae" In = { } NodeLocation = { X = -853 Y = 1823 } Title = "Branch" True = { } Width = 160 } { Bool = { } Brief = "Returns the current boolean value of the specified named variable." Class = "Stingray.Foundation.Flow.GetBoolVariable" Id = "f1cf8ef1-a228-4607-abeb-5cad7c1923ec" Name = { Value = "Hit" } NodeLocation = { X = -1073 Y = 1843 } Scope = { Value = "local" } Title = "Get Bool Variable" Width = 160 } { Brief = "Returns the current vector value of the specified named variable." Class = "Stingray.Foundation.Flow.GetVectorVariable" Id = "67483394-03c5-4db5-8d95-08d3f9cbc700" Name = { Value = "HitPosition" } NodeLocation = { X = -853 Y = 1703 } Scope = { Value = "local" } Title = "Get Vector Variable" Vector = { } Width = 160 } { Brief = "Sets a variable to the specified vector value." Class = "Stingray.Foundation.Flow.SetVectorVariable" Id = "0b979aba-0681-4966-94fd-eaa70d0b9d99" Name = { Value = "HitPosition" } NodeLocation = { X = 1027 Y = 1343 } Out = { } Scope = { Value = "local" } Set = { } Title = "Set Vector Variable" Vector = { } Width = 160 } { Brief = "Sets a variable to the specified numeric value." Class = "Stingray.Foundation.Flow.SetNumericVariable" Id = "6f16b39a-ec99-4b56-8377-0b5c698ef248" Name = { Value = "HitDistance" } NodeLocation = { X = 1227 Y = 1343 } Numeric = { } Out = { } Scope = { Value = "local" } Set = { } Title = "Set Numeric Variable" Width = 160 } { Bool = { } Brief = "Sets a variable to the specified boolean value." Class = "Stingray.Foundation.Flow.SetBoolVariable" Id = "bd5a4167-7c7b-4be0-a385-9ad9f1a63d53" Name = { Value = "Hit" } NodeLocation = { X = 807 Y = 1343 } Out = { } Scope = { Value = "local" } Set = { } Title = "Set Bool Variable" Width = 160 } { Brief = "Sets the local position of the unit. If no object is specified, the units world position will be set instead." Class = "Stingray.Foundation.Flow.SetUnitLocalPosition" Id = "91d5f9a7-2d35-48bc-a513-7a41fe619644" In = { } NodeLocation = { X = 2647 Y = 1583 } Object = { } Out = { } Position = { } Teleport = { } Title = "Set Unit Local Position" Unit = { UseMyUnit = false } Width = 160 } { Brief = "Returns the current vector value of the specified named variable." Class = "Stingray.Foundation.Flow.GetVectorVariable" Id = "3e4b7126-c810-45ac-b3d0-a154770d1a5a" Name = { Value = "HitPosition" } NodeLocation = { X = 2027 Y = 1643 } Scope = { Value = "local" } Title = "Get Vector Variable" Vector = { } Width = 160 } { Brief = "Returns the current unit stored in the specified named variable." Class = "Stingray.Foundation.Flow.GetUnitVariable" Id = "75f01007-98a3-4336-889e-0be7624f1d02" Name = { Value = "TeleportRing" } NodeLocation = { X = 2027 Y = 1543 } Scope = { Value = "local" } Title = "Get Unit Variable" Unit = { } Width = 160 } { Brief = "Sets the local position of the unit. If no object is specified, the units world position will be set instead." Class = "Stingray.Foundation.Flow.SetUnitLocalPosition" Id = "f71642d9-9999-4463-8ee7-7b10b6c50d89" In = { } NodeLocation = { X = 3287 Y = 1563 } Object = { } Out = { } Position = { } Teleport = { } Title = "Set Unit Local Position" Unit = { UseMyUnit = false } Width = 160 } { Brief = "Sets the local rotation of the unit. If no object is specified, the units world rotation will be set instead." Class = "Stingray.Foundation.Flow.SetUnitLocalRotation" Id = "4aef0ffe-e710-4012-94af-91bbe1385238" In = { } NodeLocation = { X = 3807 Y = 1563 } Object = { } Out = { } Rotation = { } Teleport = { } Title = "Set Unit Local Rotation" Unit = { UseMyUnit = false } Width = 160 } { Brief = "Returns the current vector value of the specified named variable." Class = "Stingray.Foundation.Flow.GetVectorVariable" Id = "486dcde6-b470-48d3-9137-e8c61a9efe1e" Name = { Value = "ControllerPosition" } NodeLocation = { X = 2887 Y = 1723 } Scope = { Value = "local" } Title = "Get Vector Variable" Vector = { } Width = 240 } { Brief = "Returns the current unit stored in the specified named variable." Class = "Stingray.Foundation.Flow.GetUnitVariable" Id = "8efcc94e-eb23-455f-93b1-d957ae740157" Name = { Value = "Beem" } NodeLocation = { X = 2887 Y = 1543 } Scope = { Value = "local" } Title = "Get Unit Variable" Unit = { } Width = 240 } { Brief = "Returns the current unit stored in the specified named variable." Class = "Stingray.Foundation.Flow.GetUnitVariable" Id = "ac16c2b4-bb13-43cf-9143-56f2bc1400c9" Name = { Value = "Beem" } NodeLocation = { X = 3487 Y = 1523 } Scope = { Value = "local" } Title = "Get Unit Variable" Unit = { } Width = 260 } { Brief = "Returns the current rotation value of the specified named variable." Class = "Stingray.Foundation.Flow.GetRotationVariable" Id = "7dc4fb13-e43a-4506-9871-e37b834a6b59" Name = { Value = "ControllerRotation" } NodeLocation = { X = 3287 Y = 1723 } Rotation = { } Scope = { Value = "local" } Title = "Get Rotation Variable" Width = 260 } { Brief = "Set the unit's local scale." Class = "Stingray.Foundation.Flow.SetUnitLocalScale" Id = "02d3040c-cd14-48fe-9893-816d013badb7" In = { } NodeLocation = { X = 4907 Y = 1623 } Object = { Value = "Beem" } Out = { } Scale = { } Teleport = { } Title = "Set Unit Local Scale" Unit = { UseMyUnit = false } Width = 160 } { Brief = "Returns the current numeric value of the specified named variable." Class = "Stingray.Foundation.Flow.GetNumericVariable" Id = "3519b923-5af2-44f1-8c4b-29421cff95fa" Name = { Value = "HitDistance" } NodeLocation = { X = 4027 Y = 1643 } Numeric = { } Scope = { Value = "local" } Title = "Get Numeric Variable" Width = 160 } { Brief = "Constructs a vector from three separate X, Y and Z numeric components." Class = "Stingray.Foundation.Flow.VectorFromComponents" Id = "6c749d14-02b6-4102-8811-f37ce4a9f100" NodeLocation = { X = 4387 Y = 1643 } Title = "Vector From Components" Vector = { } Width = 160 X = { Value = 1 } Y = { Value = 1 } Z = { } } { Brief = "Returns the current unit stored in the specified named variable." Class = "Stingray.Foundation.Flow.GetUnitVariable" Id = "e06c860d-16c5-479c-ada2-ff9f9a1e3a05" Name = { Value = "Beem" } NodeLocation = { X = 4287 Y = 1543 } Scope = { Value = "local" } Title = "Get Unit Variable" Unit = { } Width = 260 } { A = { } B = { Value = -1 } Brief = "Returns a numeric value that represents the product of A and B." Class = "Stingray.Foundation.Flow.NumericTimesNumeric" Id = "b1f91a82-1704-4a13-b5e5-5c0e3f26df31" NodeLocation = { X = 4207 Y = 1743 } Title = "Multiplication" Value = { } Width = 160 } { Brief = "Spawns the unit at a specified position." Class = "Stingray.Foundation.Flow.SpawnUnitPositionRotation" Id = "03e9b67f-f389-4d26-83c8-dcef82bf0342" InEvents = [ ] InVariableNames = [ ] InVariables = [ ] NodeLocation = { X = 2307 Y = 1143 } OutEvents = [ ] OutVariableNames = [ ] OutVariables = [ ] Position = { } Rotation = { } Spawn = { } Spawned = { } SpawnedUnit = { } Title = "Spawn Unit on Position" Unit = { Value = "content/models/VR_Teleport/Ring" } Unspawn = { } Unspawned = { } Width = 280 } { Brief = "Returns the current vector value of the specified named variable." Class = "Stingray.Foundation.Flow.GetVectorVariable" Id = "273828fc-13fb-4188-ab2b-4b9409f5a2b0" Name = { Value = "HitPosition" } NodeLocation = { X = 2027 Y = 1103 } Scope = { Value = "local" } Title = "Get Vector Variable" Vector = { } Width = 200 } { Bool = { Value = false } Brief = "Sets a variable to the specified boolean value." Class = "Stingray.Foundation.Flow.SetBoolVariable" Id = "1338632a-cc03-4629-8522-d673ed2e9c5c" Name = { Value = "SpawnPermitted" } NodeLocation = { X = 2027 Y = 1203 } Out = { } Scope = { Value = "local" } Set = { } Title = "Set Bool Variable" Width = 200 } { Brief = "Sets a variable to the specified unit." Class = "Stingray.Foundation.Flow.SetUnitVariable" Id = "56d1cb03-0341-433e-b504-5a0c4120af6c" Name = { Value = "TeleportRing" } NodeLocation = { X = 2687 Y = 1043 } Out = { } Scope = { Value = "local" } Set = { } Title = "Set Unit Variable" Unit = { UseMyUnit = false } Width = 160 } { Brief = "Spawns the unit at a specified position." Class = "Stingray.Foundation.Flow.SpawnUnitPositionRotation" Id = "261e0067-3e37-4cc0-a71f-c1af52ebf604" InEvents = [ ] InVariableNames = [ ] InVariables = [ ] NodeLocation = { X = 3227 Y = 1163 } OutEvents = [ ] OutVariableNames = [ ] OutVariables = [ ] Position = { } Rotation = { } Spawn = { } Spawned = { } SpawnedUnit = { } Title = "Spawn Unit on Position" Unit = { Value = "content/models/VR_Teleport/Beem" } Unspawn = { } Unspawned = { } Width = 340 } { Brief = "Returns the current vector value of the specified named variable." Class = "Stingray.Foundation.Flow.GetVectorVariable" Id = "b30bb820-6476-4d21-b6e3-03a3c921ebdf" Name = { Value = "ControllerPosition" } NodeLocation = { X = 2927 Y = 1143 } Scope = { Value = "local" } Title = "Get Vector Variable" Vector = { } Width = 240 } { Brief = "Sets a variable to the specified unit." Class = "Stingray.Foundation.Flow.SetUnitVariable" Id = "9a71474f-c0fc-4489-945f-dc5f98106253" Name = { Value = "Beem" } NodeLocation = { X = 3667 Y = 1043 } Out = { } Scope = { Value = "local" } Set = { } Title = "Set Unit Variable" Unit = { UseMyUnit = false } Width = 160 } { Brief = "Returns the current vector value of the specified named variable." Class = "Stingray.Foundation.Flow.GetVectorVariable" Id = "fe895805-357e-479b-9d3a-cadee0dfa507" Name = { Value = "ControllerForward" } NodeLocation = { X = 67 Y = 1563 } Scope = { Value = "local" } Title = "Get Vector Variable" Vector = { } Width = 200 } { Actor = { } Brief = "Casts a ray from a point in 3D space in a specified direction. Any units with physics collision that the ray intersects will be returned." Class = "Stingray.Foundation.Flow.Raycast" CollisionFilter = { } Direction = { } Distance = { } From = { } Hit = { } Id = "9b7317ee-1a09-4908-99bd-b72ad91b6160" In = { } Length = { Value = 1000 } NodeLocation = { X = 567 Y = 1343 } Normal = { } ObjectType = { } Out = { } Position = { } Title = "Raycast" Unit = { } Width = 160 } { Brief = "Returns the current vector value of the specified named variable." Class = "Stingray.Foundation.Flow.GetVectorVariable" Id = "0f76b033-2a5c-490b-bc18-ed021ee80de5" Name = { Value = "ControllerPosition" } NodeLocation = { X = 67 Y = 1463 } Scope = { Value = "local" } Title = "Get Vector Variable" Vector = { } Width = 200 } { Bool = { } Brief = "Returns the current boolean value of the specified named variable." Class = "Stingray.Foundation.Flow.GetBoolVariable" Id = "ff105ac4-f9e7-4e48-8ad4-dc9f8a1f6183" Name = { Value = "SpawnPermitted" } NodeLocation = { X = 1447 Y = 1343 } Scope = { Value = "local" } Title = "Get Bool Variable" Width = 160 } { Brief = "Creates a boolean constant." Class = "Stingray.Foundation.Flow.BooleanData" Id = "44eaae68-c587-4480-a789-5034d315a80f" NodeLocation = { X = 1447 Y = 1443 } Set = { Value = true } Title = "Boolean Data" Value = { } Width = 160 } { A = { } B = { } Brief = "Compares two objects as inputs and fires event outputs based on if the objects are equal or unequal." Class = "Stingray.Foundation.Flow.CompareObjects" Compare = { } Equal = { } Id = "d4de60f7-6090-4261-8ef9-00f954f546c0" NodeLocation = { X = 1767 Y = 1343 } Title = "Compare Objects" Unequal = { } Width = 160 } { Bool = { Value = true } Brief = "Sets a variable to the specified boolean value." Class = "Stingray.Foundation.Flow.SetBoolVariable" Id = "5963cdfb-0cfb-4779-8ebb-0a62b1eff31c" Name = { Value = "SpawnPermitted" } NodeLocation = { X = 1447 Y = 1643 } Out = { } Scope = { Value = "local" } Set = { } Title = "Set Bool Variable" Width = 300 } { Arguments = [ { RawName = "position" Type = "vector3" Variable = { Class = "Stingray.Foundation.Flow.InVariableVector3" Value = "-1.264 11.9 0" } } { RawName = "rotation" Type = "quaternion" Variable = { Class = "Stingray.Foundation.Flow.InVariableQuaternion" Value = "0 0 0 1" } } { RawName = "scale" Type = "vector3" Variable = { Class = "Stingray.Foundation.Flow.InVariableVector3" Value = "1 1 1" } } ] Brief = "" Class = "Stingray.Foundation.Flow.CustomScriptNode" FlowNodesResource = "script/steam_vr" FlowNodesResourceKey = "flow_nodes_resource" Id = "88fc9d50-6d3a-43a4-ba48-2395bd63e923" InEvents = [ "In" ] IsQuery = false Name = "Steam VR Set Tracking Space" NodeLocation = { X = -1613 Y = 1303 } OutEvents = [ "Out" ] ReturnValues = [ ] Width = 280 } { Brief = "Allows the user to specify a standard keyboard button and send events such as pressed, held, and released." ButtonName = { Value = "space" } Class = "Stingray.Foundation.Flow.KeyboardButton" Device = { Value = "keyboard" } DeviceNumber = { Value = 0 } Held = { } Id = "a3f5a615-fa53-4532-a518-ede5f64698ec" NodeLocation = { X = -1933 Y = 1303 } Pressed = { } Released = { } Title = "Keyboard Button" Value = { } Width = 280 } ]
So I think I have this thing working, first I placed a few squares where I wanted to teleport and it worked fine, but then I realized that I can only use one area covering the whole floor where I want to teleport.
This is really cool, thank you Paulkind for posting the whole code.!!!
Now I noticed there is a change of height sometimes, is this related to the code? or sting ray? or it goes directly to the Vive??
Also how can I edit, the color of the beam? or marker?
Thank you again for your help.
If the height is chancing on you, it is likely that it is changing the height because it is "hitting" invisible (or visible) collision volumes, The code *should* only put you on ground level.
Hi Paulkind,
thank you for the answer, regarding the height problem, I think my problem was that I was trying to use my geometry as collision element for the code to work.
I have a small hospital room test scene that I am working on. Everything is imported as FBX but of course when imported it come as a single mesh.
I added the node element only for the floor to be working with the code but it didn't work. I had to create a cube geometry inside Stingray and overlap it over the floor to make it work.
So me question is, should I import the floor as a separated element to make it work?
So far the code will only work with mesh created inside Stingray?
Can I change the color of the ring and the ray? so far it seem locked.
Thank you for your help.
Yes, sure. Ideally you would separate each of the elements as their own separate object/FBX file. ie: Gurney, shelving, walls etc. Having everything bound as one object is fine for some things, but limits how much you can do. How i generally handle a building is every piece of furniture is one fbx file. Walls, Ceiling etc are another, however i leave the walls and ceiling and floors separate objects (not merged) within the object. This allows me to assign them unique collision meshes. I would suggest you download and review how the PoolRoom was constructed. That has a good example of how I managed a complicated interior space.
Another advantage of separating everything out from the room is that when you do another room the assets are easier to grab at. You can even do all your stingray material work in mayaLT if you want to build up a library of assets that all have their materials pre-applied. Then when you bring in your gurney or whatever, everything is already set, materials textures and all.
https://creativemarket.com/apps/stingray
Paul
If you look at this as an example, the entire asset is basically bundled within maya complete with a custom shading graph. Because i have done all the prep this way, the model can be carried to any project at any time with simply an import. Shader, Graph, Textures and Model will all come in with the click of the import button. All you have to do is hit "place". It only takes a little more time, but if you will be doing multiple environments, this is without a question the way to go. The amount of time you will save on the back end is enormous.
Hello,
I've been using 3dsMax to convert my files to .FBX. I'm importing them from Inventor and always have problems getting everything to import correctly. Would Maya work better for converting, or do you have any tips?
Also, I've been trying to import a point cloud into Stingray, I can get it to import into 3DSMax, but when I export it to Stingray it doesn't show up as anything. I understand that point clouds are just little light points and not physical objects, do you have any idea how to make point clouds visible in Stingray?
Thanks,
Brent
Thanks a lot man, for your input.
This is very helpful, I'll download those scenes and take a look at it.
I work for an Architectural Company, so the models I have usually come from Sketchup or REVIT. My main 3D software is 3D Max. but I can apply same principles that you explained with Maya.
Thanks again I'll take a look and I guess I'll bug you later with more questions 😉
I saw a video presentation of someone importing the cloud data to 3D Max then select a few of them and create splines from them.
Later exporting those splines/mesh to Stingray and use them as you need.
In the video I saw the person was using the cloud data to display wind effect in a building, so he exported the geometry from 3DMax and put some 'fog' material in Stingray to make it look like volumetric wind.
Hope this help you.
https://www.youtube.com/watch?v=oH7Ly7KKZDw
Fco.
Hi, I'm trying to implement the teleport solution but I am not sure how to fix the "red" nodes (or how to link them to the bee/ring assets)
Would you have a screenshot that shows the final configuration?
Can't find what you're looking for? Ask the community or share your knowledge.