Repository navigation
Releases: haru0416-dev/tripwire
Releases · haru0416-dev/tripwire
Release list
Tripwire 0.1.2
- New actions: Toggle Component / Collider / Renderer Enabled, Respawn (back to where objects started; with VRC Object Sync for everyone), Send Random Event (one of several Custom events), Random Item (one object of a list into a variable)
- Who can use it (a card's Advanced settings): anyone, the owner, the master, the instance's creator, or the people in / not in a Tripwire Player List (display names, shared between triggers); checked before anything is sent, and players a click card isn't for can't point at it
- Saved variables: each player's value is kept in VRChat's PlayerData and given back (with its change event) when they come again; on/off, numbers, text, positions, colors and rotations
- More starter cards: a button only admins can press, show how many players are here, count down from 10, put objects back, count each player's visits (saved)
- Text shown to people (Set Text, Log) is entered on several lines, and can show {playerCount}, {myName} and {time} without a variable
- Values typed in the Inspector (text, numbers, on/off, positions, colors, rotations, initial values, delays, player lists) are filled into the generated behaviour instead of written into its code: changing one applies at once with no script compile (a label's text: 13.6 s → 1 ms here), and triggers that differ only in such values share one program (40 everyday buttons: 31 → 4). Triggers made with an earlier version are applied again once
- The Inspector draws big triggers faster again (72 open blocks: 24 ms → 8 ms generating a pass): inlining single-use bodies no longer starts over after each one
- Checks: a saved variable changed many times a second (each change sends all of the player's saved data)
- An input missing from an action's saved data (Set / Read Another Trigger's Variable, loops, Calculate...) is reported on the action instead of stopping the generator with an exception
Udon Bridge 0.1.0
- 最初の版。Tripwire から、UdonSharp と Udon の内部に触る部分を切り出しました。
- Udon のノード定義(公開されている API、変数にできる型、
==が使える型、イベント)を読むUdonNodes。 - UdonSharp と同じ規則でメンバーの Udon 名を付ける
UdonNames。継承したメンバーは呼び出す側の型の名前で、フィールドはget_/set_の名前で付けます。 - プログラムアセットの用意と、UdonBehaviour のプログラムをその場で差し替える
UdonSharpPrograms。差し替えても、ほかからの参照と、有効・無効の状態は残ります。 - Play 中に U# だけをコンパイルし直し、動いている behaviour に新しいプログラムを入れる
HotReload。フィールドの値は引き継ぎます。エラーで止まっていた behaviour も動き直します。実行順([DefaultExecutionOrder])を変えた変更は、Play を止めてから反映されます。 UdonBridge.Compiler(Roslyn を使うアセンブリ): UdonSharp のコンパイル設定を読むUdonSharpSettingsと、UdonSharp の bind・emit・アセンブラーをメモリ上で走らせ、保存していないコードのエラーを出すUdonSharpCheck。
Tripwire 0.1.1
- The Inspector draws big triggers about ten times faster (72 blocks: 270 ms → 25 ms a pass): the loop check listed each block's links once instead of scanning all of them at every step
- Call Udon API: members with
outparameters (Physics.Raycast, int.TryParse, PlayerData.TryGetInt...), each received by a variable picked in the Inspector: 132 more members. Members withrefparameters stay out: in Udon their values don't come back - Call Udon API: members that report back to a behaviour (VRCStringDownloader.LoadUrl, VRCImageDownloader.DownloadImage, VRCTween callbacks, SendCustomNetworkEvent with values, Store.ListPurchases...), with this trigger as the receiver by default
- Call Udon API: setters and void methods of structs on a variable (a position's y, a color's alpha, Normalize, VRCTweenHandle.Kill), stored back into the variable
- Call Udon API: members returning an enum Udon can't keep in a variable (VRCPickup.currentHand...) store its number; 14738 members in all (13489 before)
- Calculate: A + − × ÷ % B into a number, position, color or text variable
- Get Component: a component of an object, or of its children or parents, into an object variable of that type
- Checks for combinations that compiled but went wrong: a call writing a synced variable from a broadcast event, when sync arrives or in a synced variable's change block (warned like Set Variable); network events with values sent to a trigger (an error: Custom events take no values); a call reporting back to a trigger without the event it reports to, or naming a Custom event or variable the trigger doesn't have; VRCTween's variableName given a trigger variable (now its Udon name); Get Component many times a second
- A variable written by name through VRCTween's variableName counts as used (Remove Unused Variables keeps it) and follows a rename
- An enum constant its enum doesn't have, or a synced variable of a type Udon can't sync, is an error in the trigger instead of a compile error that stopped every script
Tripwire 0.1.0
First public version.
- Inspector event → action lists compiled to UdonSharp: 30 events, 37 actions, variables (synced too), conditions, delays
- Any Udon API member and members of other UdonSharp scripts
- UI events, VRChat video player events and actions, notifications from other scripts
- Presets for ProTV, VizVid, USharpVideo and VideoTXL
- Values as text and {name} placeholders in Set Text and Log
- During Play, each card shows when it last ran, or which condition stopped it with the values; the Event History window lists every run; variable values can be changed in the Inspector to try things
- Export for Distribution: a .unitypackage of prefabs and scenes without the Tripwire component, which works with UdonSharp alone
- Japanese and English editor UI, menus included