Appearance
サンプルコード
ShirasUdonAssembly JSONのサンプルです。各ページでJSONを閲覧・コピーできます。
VRChatワールドにJoinすると、サンプルを選んでShirasUdonVMで実行できます。
CollatzSequence
27から始め、偶数なら2で割り、奇数なら3倍して1を足すCollatz数列を1まで出力します。分岐と繰り返しのサンプルです。
DecimalArithmetic
整数からDecimalを実行時生成し、(10 + 2) × 3 - 5を2で割る加減乗除を行います。計算式とDecimal結果15.5をログへ出力します。
EnumIncrement
VRCTweenEase.LinearをSystemInt32へCOPYし、1を加算してVRCTweenEaseへCOPYで戻します。実行すると変更前のLinearと変更後のInSineをログへ出力します。
FibonacciSequence
フィボナッチ数列の先頭20項を出力します。複数のローカル変数相当の値を更新するループのサンプルです。
FizzBuzz1To100
1から100までを走査し、3の倍数をFizz、5の倍数をBuzz、両方の倍数をFizzBuzzとして出力します。剰余、比較、条件分岐、ループのサンプルです。
GreatestCommonDivisor
ユークリッドの互除法で1071と462の最大公約数21を求めます。剰余を使ったwhileループのサンプルです。
IncreaseLocalPlayerMovement
AddSpeedはローカルプレイヤーのWalk Speed、Run Speed、Strafe Speedを現在値から1 m/s速くします。AddJumpは現在のGravity Strengthを考慮してジャンプ到達高度が約1 m高くなるようJump Impulseを変更します。Resetは各速度とJump ImpulseをVRChat標準値へ戻します。
PrimeNumbersUpTo100
100以下の素数を列挙します。候補ごとの内側ループ、剰余判定、真偽値による分岐を含むサンプルです。
PropertyGetterSetterTests
Vector3.x、Color.a、Rect.widthについて、コンストラクタで値型を生成し、getterで変更前の値を取得、setterで変更、getterで変更後の値を再取得してログへ出力します。__SystemVoidを省略するsetterと明記するsetterの両方を検証します。
RotateFloorSlowly
_startでGameObject.Findを使ってFloorを取得し、VRCTweenでY軸をゆっくり無限回転させます。_stopで保持中のTweenHandleをKillします。回転は各クライアントでローカルに実行されます。
StructDefaultValueTests
Vector3のdefault(T)初期化を検証します。ロード直後の最初の実行で各値のdefaultをログ出力した後、APIの戻り値、コンストラクタ、default値への直接操作という3つの経路で変更し、結果を再度ログ出力します。再実行時はHeapが維持されるため、変更後の値から開始します。
Sum1To100
1から100までの整数を加算し、sum = 5050をDebug.Logへ出力するサンプル。_startを実行するたびにローカル変数相当のsとiを初期化します。
Sum1To1000
1から1000までの整数を加算し、sum = 5050をDebug.Logへ出力するサンプル。_startを実行するたびにローカル変数相当のsとiを初期化します。
Sum1To10000
1から10000までの整数を加算し、sum = 5050をDebug.Logへ出力するサンプル。_startを実行するたびにローカル変数相当のsとiを初期化します。
Vector3Operations
Vector3(1,2,3)とVector3(4,5,6)を生成し、加算、距離、正規化をExternで実行して結果を出力します。