VR,VRChat

ソード―アートオンライン知ってますか?
何年か前にアニメで見ました。
作中では、西暦2022年に1000人ベータテストののち、世界初のVRMMORPG(ソードアート・オンライン)(SAO)の正式サービスが開始された。となっています。今年が2022年ですのでちょうど今年ですね。

ゲームマスターがログインしたユーザーの前に現れて、自発的ログアウトは不可能。ゲーム内で死亡した場合は現実世界のプレイヤー自身が本当に死亡するということを宣言します。物語はそこから始まります。
で。ソードアートオンラインをvrchatで再現したワールドがあります。

ワールドの中に入って、ゼスチャーで上から下に腕を動かすと目の前に、ソードアート・オンラインの作中で見たことがあるようなメニューが表示されます。

VR,VRChat

ねこみみです。

NPC Cat toy というvrchatのワールドです。お家があり、ネコミミの子がいます。

VRに東北ずん子ちゃんのアバターで入ってみます。

ねこみみの子をじゃらしてます。癒されますね。

手が使えるのでねこじゃらしを手に持って遊べます。

ソファーの上で寝ている子を見てるだけです。

ねずみのぬいぐるみでじゃらしている間に、ネコミミをおさわりしてみます。

VR,VRChat

子供の遊びで『だるまさんが転んだ』があります。振り向いているときに動いたらアウトなゲームです。海外にもあり韓国では『ムグンファ コチ ピオッスムニダ』となりむくげの花が咲きましたになります。アメリカでは『レッドライト・グリーンライト』です。レッドは止まれ、グリーンライトは動いていいときです。

昨年、Netflix で配信されている韓国の『イカゲーム』が話題になりました。Netflix の配信画面で人気が作品に出てきたので見ました。

その中の日本語版の『だるまさんがころんだ』と『ガラスのブリッジ』がVRChatの中で再現ワールドになっていたのであそんでみました。私は1人でインスタンスをたてて遊びながら撮影しました。

まだイカゲームを見てない方でこれからNetflixで見るという人はネタバレ要素になるものもあるのでご注意ください。

ベッドが置いてある広い部屋です。

前のほうに、赤い服を着た素性を隠した人達がいます。顔はまる、三角、四角、の記号が書いてあります。

あの場面です。VRなので友達どうしでやるのがいいでしょう。緑色のジャージを着たアバターもyoutubeの動画で見かけました。

VR,VRChat

VRChat の「Around the Mysterious Structure 2․0」というワールドで遊んだのでその紹介です。VR機器がなくても遊べますが、VR機器があれば臨場感があるのでワールドに入ってみてはどうでしょうか。ワールド作者はPublicで他の人と一緒に体験してくださいとのことです。

気球があり、乗ることができます。中に椅子があるのでクリックします。上にバーナーがあるのでそれをクリックすると動き始めます。

遠くで光ってるもの

でっかい亀。乗ることができます。乗ったあとに亀の頭をくりっくすると動き始めます。

あやしいフラスコ

VR,VRChat

VRChat のワールドに「stair_hall」というワールドがあるのを見つけたので入ってみました。

ワールドに入ると、階段があります。上に続く階段。下へ続く階段。ずっと続いています。無限階段です。

歩いていくことができます。しばらくあるいても階段です。

階段を登ってもまた階段。

[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

HTC VIVE トラッカー(2018) 99HANL005-00
価格:12860円(税込、送料別) (2022/1/22時点)



[商品価格に関しましては、リンクが作成された時点と現時点で情報が変更されている場合がございます。]

HTC VIVE Pro Eye|99HARJ006-00
価格:182824円(税込、送料別) (2022/1/22時点)


Uncategorized,VR,VRChat,VRCSDK3

VRChatのワールドで、設置したカメラからの映像をディスプレイに見立てたオブジェクトへ表示したい場合があります。

いつもやり方がわからなくなるため、メモします。

◇ カメラ映像を表示するものを作成する

プロジェクトの「Assets」→「Create」→「Render Texture」を指定してRender Textureを作成し、名前を付ける。

作成したRender Textureを選択してInspectorのSizeを調整する。例えば1280,720、1920,1080など。

Render Textureをシーン上に作ったディスプレイ(Cubeや取り込んだディスプレイのモデルなど)にドロップし、大きさや奥行き(表示されるように)を調整する。

◇ カメラを作成して設定する

Hierarchy のカメラを作りたい階層を選択して右クリックメニューから「Camera」を選択してシーンに新しくカメラを作成する。

作成したカメラを表示するものが映る位置へ移動させる。

作成したカメラのInspectorの「Target Texture」に作ったRender Textureを指定する。

カメラに表示したくないものがあれば、CameraのInspectorのCulling MaskでPlayerLocal、UI、UiMenu、reserved2などを指定する。reserved2はプレーヤーが使ってるカメラをマスクするときに使用する。

◇ ディスプレイの設定

作ったディスプレイ(Render Textureをドロップしたもの)のMaterialコンポーネントのShaderをUnlit → Textureに設定する。
これでカメラ映像が表示される。表示されない場合は奥行きを手前に調整する。

下の画像は宇宙船のアセットについてきたディスプレイのフレーム部分を再利用して、薄く作ったCubeをうまくディスプレイの位置に設置し、Render Textureを指定したもの。カメラには宇宙船とその向こうの土星の環が見える。

VR,VRChat,VRCSDK3

いつもやり方がわからなくなるためのメモです。

VRChat のワールドを作るときのSDK3とUdonSharpを使うボタン操作です。
各ソフトのバージョンは以下のとおりです。

  • Unity 2019.4.31f1
  • VRCSDK3-WORLD-2021.11.24.16.19
  • UdonSharp_v0.20.3

それぞれのパッケージをインポートします。今回は表示するカメラ映像を切り替えるためのボタンを作ります。

ディスプレイを2個設置していますが、1個にします。左に球体を置き、ボタンで映像を切り替えるようにします。

最終的には以下のようにします。上のボタンで1番目のカメラ映像を表示します。下のボタンで2番目のカメラ映像を表示します。

作り方です。
ボタンとする球体に「Udon Behaviour」を追加します。

プログラムソースは「New Program」で追加します。下のプルダウンからUdon C# Program Assetを選んでおきます。Udon Graph から変えておきます。

ボタンを押したときに、Cube_Display_1のActiveをTrueにしてCube_Display_2のActiveをFalseにします。

ソースコードを作成し、適当な場所に保存します。そのあとProgram ScriptをダブルクリックしてVisual Studioを起動します。

以下のように入力します。


using UdonSharp;
using UnityEngine;
using VRC.SDKBase;
using VRC.Udon;

public class Sphere_display_1 : UdonSharpBehaviour
{
    public GameObject Cube_Display_1;
    public GameObject Cube_Display_2;

    void Start()
    {
        
    }

    private void Interact()
    {
        if (!Networking.IsOwner(Networking.LocalPlayer, this.gameObject)) Networking.SetOwner(Networking.LocalPlayer, this.gameObject);

        SendCustomNetworkEvent(VRC.Udon.Common.Interfaces.NetworkEventTarget.All, "ChangeStreamDisplay");
    }

    public void ChangeStreamDisplay()
    {
        Cube_Display_1.SetActive(true);
        Cube_Display_2.SetActive(false);
    }
}

ボタンをもう1つ下に追加しコードを同じように追加します。
表示するものをトグルするため、Cube_Display_1.SetActive(false);とCube_Display_2.SetActive(true);を記載します。

Udon BehaviourにVisual Studioでコードを書いて保存した後に追加されている項目があります。Cube_Display_1、Cube_Display_2にUnityのHierachyから同名のオブジェクトをドラッグ・ドロップしてセットします。