Placeholder Image

字幕表 動画を再生する

AI 自動生成字幕
  • Hi XR developers, today we're going to talk about a new tool from Meta which is called the Mixed Reality Utility Kit or MRUK for short.

    XR開発者の皆さん、こんにちは。今日はMetaの新しいツール、Mixed Reality Utility Kit、略してMRUKについてお話しします。

  • Before, when we wanted to test features like the Scene API or Anchors, we always had to build an APK and test it on our device.

    以前は、Scene APIやAnchorsのような機能をテストしたい場合、常にAPKをビルドしてデバイス上でテストする必要がありました。

  • MRUK now allows us to directly test everything in the editor when we use the Quest link.

    MRUKでは、Questのリンクを使うと、エディターで直接すべてをテストできるようになった。

  • It even comes with room prefabs which allows us to test different rooms to better fit our application to different room sizes of our users.

    部屋のプレハブも付いているので、さまざまな部屋をテストして、ユーザーのさまざまな部屋のサイズにアプリケーションをより適合させることができます。

  • Trust me, this is a really great tool to develop mixed reality experience and I hope you're as excited as I am.

    信じてほしい、これは複合現実体験を開発するための本当に素晴らしいツールだ。

  • If you like this type of videos and they are helpful to you, please take a second to like and subscribe to this channel.

    このようなビデオがお好きで、お役に立つようでしたら、ぜひ「いいね!」とチャンネル登録をお願いします。

  • It helps me a lot.

    とても助かるよ。

  • If you'd like to get the source code of each video, please consider subscribing to my Patreon where you can find all the source codes.

    各ビデオのソースコードを入手したい方は、すべてのソースコードが掲載されている私のPatreonへの登録をご検討ください。

  • If you have any questions, please join our Discord community.

    ご質問があれば、Discordコミュニティにご参加ください。

  • We are a community of over 200 XR developers at this point and we are happy to help you with any questions.

    私たちは現時点で200人以上のXR開発者のコミュニティであり、どんな質問でも喜んでお手伝いします。

  • And now, let's get started with MRUK.

    それでは、MRUKを始めよう。

  • To begin, let's cover the requirements for using the MRUK.

    まず、MRUKを使うための条件を説明しよう。

  • To use MRUK with Unity and MetaQuest, ensure you have Unity 2021.3.30 or newer and a Quest 2, Pro or 3 with firmware version 60 or newer.

    MRUKをUnityとMetaQuestで使用するには、Unity 2021.3.30以降とファームウェアバージョン60以降のQuest 2、Pro、3が必要です。

  • For PC, use Quest link but remember the passthrough image is headset only and set up your room scan before connecting.

    PCの場合はQuest linkを使用しますが、パススルー画像はヘッドセットのみであることをお忘れなく。

  • On Mac, you will have to build and deploy an APK.

    Macの場合は、APKをビルドしてデプロイする必要がある。

  • Keep in mind that you do not need an OVR Scene Manager in your scene, MRUK serves as a replacement for it.

    シーンにOVRシーンマネージャーは必要なく、MRUKがその代わりとなることを覚えておいてください。

  • Lastly, it is advised to familiarize yourself with Meta's Scene API first.

    最後に、最初にMetaのScene APIに慣れることをお勧めする。

  • With that out of the way, let's set up a new Unity project.

    それでは、新しいUnityプロジェクトを立ち上げましょう。

  • We first want to install the meta-xr-sdk from the Package Manager.

    まず、パッケージマネージャからmeta-xr-sdkをインストールする。

  • You can simply install it by its name, which is com.meta.xr.sdk.all.

    com.meta.xr.sdk.allという名前でインストールできます。

  • Next, we install the Mixed Reality Toolkit from our Package Manager by typing com.meta.xr.mrutilitykit.

    次に、パッケージ・マネージャーからcom.meta.xr.mrutilitykitと入力して、Mixed Reality Toolkitをインストールします。

  • After installing MRUK, also make sure to install the samples which we will look at in a second.

    MRUKをインストールした後、サンプルをインストールしてください。

  • Let's make sure we create a new room scan inside our MetaQuest.

    メタクエストの中に新しいルームスキャンを作成しましょう。

  • The more accurate the scan, the better will be our experience later.

    スキャンの精度が高ければ高いほど、後々良い経験ができる。

  • Take your time to walk around your room and look at your surfaces from different angles.

    時間をかけて部屋の中を歩き回り、さまざまな角度から表面を見てみましょう。

  • Also, take enough time to add new anchors for your furniture and add the correct labels such as table, couch, or bed.

    また、十分な時間をかけて家具用の新しいアンカーを追加し、テーブル、ソファ、ベッドなど正しいラベルを付ける。

  • Now, in order to later test any of our scenes, let's set up our project with the Project Setup Tool from Meta.

    さて、どのシーンも後でテストするために、MetaのProject Setup Toolを使ってプロジェクトをセットアップしましょう。

  • Just apply all the suggested changes, which will set up everything for us, even our XR plugin for testing the scene directly on our device.

    提案された変更をすべて適用するだけで、デバイス上で直接シーンをテストするためのXRプラグインまで、すべてがセットアップされます。

  • Do this for both Windows and Android, and lastly, switch the platform to Android in the Build Settings, in case you want to deploy the app to your headset later.

    WindowsとAndroidの両方でこれを行い、最後に、後でヘッドセットにアプリをデプロイする場合に備えて、Build SettingsでプラットフォームをAndroidに切り替える。

  • We are now finally ready to test out some of the samples and examine the components and functions that come with the Utility Kit.

    これでようやく、いくつかのサンプルをテストし、ユーティリティ・キットに付属するコンポーネントや機能を検証する準備が整った。

  • Firstly, let's just look at the MRUK base scene.

    まず、MRUKのベースシーンを見てみよう。

  • We can see that we have a regular OVR camera rig with the Tracking Origin Mode set to Stage.

    通常のOVRカメラリグで、トラッキングオリジンモードがステージに設定されていることがわかります。

  • Under Quest Features, we can see that we don't need to support Spatial Anchors, Scene Understanding, and Passthrough like we normally have to if we don't use the Utility Kit.

    Quest Features(クエスト機能)」では、ユーティリティキットを使用しない場合、通常のようにSpatial Anchors(空間アンカー)、Scene Understanding(シーン理解)、Passthrough(パススルー)をサポートする必要がないことがわかる。

  • However, we still require an OVR Passthrough layer to actually be able to start our experience in Passthrough mode.

    しかし、パススルー・モードで実際に体験を開始できるようにするには、OVRパススルー・レイヤーが必要です。

  • Keep in mind, however, if you would like to build your app to your Quest device, you will still need to enable the Anchors and enable the Scene Support as well as the Passthrough mode.

    ただし、アプリをQuestデバイスにビルドしたい場合は、アンカーを有効にし、シーンサポートとパススルーモードを有効にする必要があります。

  • Let's now look at our MRUK prefab that contains the main component MRUK, which is a singleton and therefore should only exist once within our scene.

    メインコンポーネントの MRUK を含む MRUK プレハブを見てみましょう。

  • Firstly, we have a Scene Loaded event, which lets us easily execute any public method from here once our scene has loaded.

    まず、Scene Loaded イベントがあり、シーンがロードされたら、ここから簡単にパブリックメソッドを実行できる。

  • Now, keep in mind, you don't have to use this component to reference all your methods.

    このコンポーネントですべてのメソッドを参照する必要はない。

  • The Utility Kit also comes with a MRUK Start component, which you can find on Effect Mesh, GameObject for example.

    ユーティリティ・キットにはMRUK Startコンポーネントも付属しており、例えばエフェクト・メッシュやGameObjectで見つけることができます。

  • This component is not different to the MRUK, but simply exists for drag and drop ease of use, so you don't have to use the event on the MRUK component to reference all your methods that you want to execute when your scene has loaded.

    このコンポーネントはMRUKと違いはありませんが、単にドラッグ&ドロップを簡単にするために存在します。そのため、シーンがロードされたときに実行したいすべてのメソッドを参照するために、MRUKコンポーネントのイベントを使用する必要はありません。

  • Now, let's look at the main component in detail.

    では、メインコンポーネントを詳しく見ていこう。

  • The first checkbox we enable is called World Lock.

    最初に有効にするチェックボックスは「ワールドロック」。

  • World Locking is a new feature that makes it easier for developers to keep the virtual world in sync with the real world.

    ワールドロックは、開発者が仮想世界を現実世界と同期させやすくする新機能だ。

  • Previously, the recommended method to keep the real and virtual world in sync was to ensure that every piece of virtual content is attached to an anchor.

    以前は、現実とバーチャルの世界を同期させる方法として、バーチャルのコンテンツには必ずアンカーを付けることが推奨されていた。

  • This meant that nothing could be considered static and would need to cope with being moved by small amounts every frame.

    つまり、静的なものは何もなく、毎フレーム少量の移動に対応する必要があった。

  • This can lead to a number of issues with networking, physics, rendering, etc.

    これは、ネットワーク、物理演算、レンダリングなどで多くの問題を引き起こす可能性がある。

  • So, we definitely want to keep this box checked.

    だから、このボックスには絶対にチェックを入れておきたい。

  • Next, we look at the scene settings.

    次に、シーン設定を見てみよう。

  • Our data source can either be a room prefab which is provided to us by the utility kit already, or it can be the scene model that we have created inside our headset already.

    データソースは、ユーティリティキットによってすでに提供されているルームプレハブでも、ヘッドセット内ですでに作成したシーンモデルでもかまいません。

  • There is a third option called Device with Prefab Fallback, which means if we haven't set up a room scan inside our quest home, our application will make use of the room prefabs that the utility kit provided to us.

    これは、クエスト・ホーム内でルーム・スキャンを設定していない場合、ユーティリティ・キットが提供するルーム・プレハブをアプリケーションが利用することを意味する。

  • This is not only beneficial for when we cannot scan our own room, but also if we want to test our app in a variety of rooms that could be similar to our end-users' rooms.

    これは、自分の部屋をスキャンできない場合だけでなく、エンドユーザーの部屋と似ている可能性のあるさまざまな部屋でアプリをテストしたい場合にも有益だ。

  • Next, we have a room index and a list of room prefabs that can be loaded.

    次に、部屋のインデックスと、読み込める部屋のプレハブのリストを用意します。

  • Setting the room index to minus one means that a random room prefab will be loaded.

    ルームインデックスをマイナス1に設定すると、ランダムなルームプレハブが読み込まれます。

  • Setting the index to the number zero means the first room prefab will be loaded every time and so on.

    インデックスをゼロに設定すると、毎回最初のルームプレハブが読み込まれます。

  • The list below comes already prefilled with some room prefabs.

    以下のリストには、すでにいくつかの部屋のプレハブが含まれています。

  • If we play the scene two different times, you will be able to see that, in the editor Unity, we'll randomly load two different rooms.

    このシーンを2回再生すると、エディターのUnityで、ランダムに2つの異なる部屋がロードされるのがわかるでしょう。

  • Next, there is the Load Scene on Startup checkbox.

    次に、Load Scene on Startupチェックボックスです。

  • When enabled, the scene is automatically loaded if it exists, and the scene loaded event is fired with no other action.

    有効にすると、シーンが存在すれば自動的にロードされ、シーン・ロード・イベントは他のアクションなしで発生します。

  • When false, you can manually control scene initialization behavior.

    Falseの場合、シーンの初期化動作を手動でコントロールできる。

  • Lastly, we can specify the width of a seating area within our scene model.

    最後に、シーンモデル内の座席エリアの幅を指定します。

  • This means, if we have set up an anchor with the Couch label, and it has at least the width specified on our MRUK component, it can be queried from code, so for example, we could call tryGetClosestSeatPose, which returns the closest seat pose on any couch objects.

    つまり、Couchラベルでアンカーを設定し、それがMRUKコンポーネントで指定された幅以上であれば、コードから問い合わせることができます。例えば、tryGetClosestSeatPoseを呼び出すことで、すべてのカウチオブジェクトで最も近いシートポーズを返すことができます。

  • Or we could also call getSeatPoses, which simply returns all seat poses in the room.

    また、getSeatPosesを呼び出すこともできる。

  • It will return zero if there are no couch objects in the scene.

    シーンにカウチオブジェクトがない場合は0を返します。

  • Let's now look at the Effect Mesh component.

    エフェクト・メッシュ・コンポーネントを見てみよう。

  • This component allows us to easily render our scene models in a different material, which we can assign under Mesh Material.

    このコンポーネントを使えば、シーンモデルを別のマテリアルで簡単にレンダリングすることができます。

  • It also allows us to enable colliders, which will let us interact with physics in our scene like bouncing objects off our models.

    また、コライダーを有効にすることで、オブジェクトをモデルに跳ね返したりして、シーンの物理と相互作用させることができる。

  • We can also allow the casting of shadows on our surfaces, which lets us see the shadow of other objects when they are moving within our scene.

    また、サーフェスに影を落とすこともできるので、シーン内で他のオブジェクトが動いているときに、その影を見ることができます。

  • Lastly, we can decide which labels to apply this scene effect to.

    最後に、このシーン・エフェクトをどのラベルに適用するかを決める。

  • For example, just floors and walls, or all the objects in our scene.

    例えば、床と壁だけとか、シーン内のすべてのオブジェクトとか。

  • I will leave a link in the description that explains the other properties on this component, which we won't look at in more detail in this video.

    このコンポーネントの他のプロパティを説明するリンクを説明文に残しておく。

  • Lastly, let's look at the RoomGuardian GameObject.

    最後に、RoomGuardian GameObjectを見てみよう。

  • It contains the Effect Mesh and MRUKStart component like on the Effect Mesh GameObject.

    Effect Mesh GameObjectと同じように、Effect MeshとMRUKStartコンポーネントが含まれています。

  • But this time, we also have a RoomGuardian component, where we can set a distance.

    しかし、今回はRoomGuardianコンポーネントもあり、そこで距離を設定することができる。

  • This is the distance from which the guardian should be activated, from when the player moves within that distance.

    これは、プレイヤーがその距離内に移動したときから、ガーディアンを作動させるべき距離である。

  • On the SceneLoaded event, we call the GetEffectMesh material from the RoomGuardian component.

    SceneLoaded イベントで、RoomGuardian コンポーネントから GetEffectMesh マテリアルを呼び出します。

  • This method will find the mesh from our Effect Mesh and fade the guardian material depending on our distance to the guardian.

    このメソッドは、エフェクトメッシュからメッシュを見つけ、ガーディアンとの距離に応じてガーディアンのマテリアルをフェードさせます。

  • We can see that right here in the code as well.

    このコードでもそれを見ることができる。

  • Let's take a look in our editor.

    エディターを見てみよう。

  • You can see the guardian being simulated very accurately, as if we are wearing our headset right now, and we would walk towards a boundary.

    まるで今ヘッドセットを装着して、境界線に向かって歩いているかのように。

  • You can play around with the distance and figure out which distance is best for your game.

    どの飛距離が自分のプレーに最適か、いろいろ試してみるといい。

  • The last thing we want to look at in this basic scene is the SceneDebugger component.

    この基本的なシーンで最後に見たいのは、SceneDebugger コンポーネントです。

  • This component offers us a menu with a variety of tools for getting anchor and surface information.

    このコンポーネントは、アンカーとサーフェスの情報を得るためのさまざまなツールをメニューで提供してくれる。

  • It also allows us to shoot a projectile into our space, if we enable the collision on our Effect Mesh.

    また、エフェクト・メッシュのコリジョンを有効にすれば、投射物をこちらの空間に発射することもできる。

  • Let's press play and see what kind of functions are open and available to us from the MRUK Singleton class that comes with the Mixed Reality Utility Kit.

    Mixed Reality Utility Kitに付属しているMRUKシングルトン・クラスから、どのような関数が利用できるのか見てみよう。

  • We can get the KeyWall, which is the longest wall in the room that has no other room corners behind it.

    キーウォールを手に入れることができる。キーウォールは、部屋の中で一番長い壁で、後ろに他の部屋の角がない。

  • Or we can request the largest available surface, or the closest surface position, which can be great for placing content in our own app.

    あるいは、利用可能な最大の表面や、最も近い表面の位置を要求することもできる。

  • We can also query the closest seat position, or visualize where our raycast is hitting the model, for example to get a better understanding of how users are interacting with our app.

    また、最も近い座席の位置を照会したり、レイキャストがモデルに当たっている場所を視覚化したりすることで、例えば、ユーザーが私たちのアプリとどのようにインタラクションしているかをよりよく理解することもできます。

  • Now let's look at some code, and for that we open the SceneDebugger script.

    SceneDebuggerスクリプトを開きましょう。

  • I want to show you how easy it is to query all this information yourself, and create your own unique gameplay with it.

    これらの情報をすべて自分で照会し、それを使って独自のゲームプレイを作ることがいかに簡単かをお見せしたい。

  • We can use three main classes, MRUK, MRUKRoom, and MRUKAnchor.

    MRUK、MRUKRoom、MRUKAnchorの3つの主要なクラスを使うことができる。

  • They all come with a bunch of methods that provide us with a lot of information about our room.

    それらはすべて、私たちの部屋に関する多くの情報を提供してくれるメソッドの束が付属している。

  • I will leave a link in the description to all of these methods.

    これらすべての方法へのリンクを説明文に残しておく。

  • Now, let's just quickly look at how Meta has used some of those methods for the debugging functionality.

    では、Metaがデバッグ機能のためにこれらのメソッドのいくつかをどのように使っているのか、さっそく見てみよう。

  • Let's check line 156, for example.

    例えば、156行目をチェックしてみよう。

  • As you can see, the GetKeyWallDebugger method is supposed to retrieve the KeyWall, and apply the debug visuals to it.

    ご覧のように、GetKeyWallDebuggerメソッドはKeyWallを取得し、デバッグビジュアルを適用することになっています。

  • To get the KeyWall from our room model, we can simply use the MRUK singleton, by calling MRUK.instance.

    ルームモデルからKeyWallを取得するには、MRUK.instanceを呼び出してMRUKシングルトンを使用します。

  • Then we need to get the current room, and get the KeyWall from it, by calling GetCurrentRoom.GetKeyWall.

    次に、GetCurrentRoom.GetKeyWallを呼び出して、現在の部屋を取得し、そこからキーウォールを取得する必要があります。

  • Also, as you can see, our KeyWall has the type MRUKAnchor.

    また、ご覧の通り、私たちのKeyWallはMRUKAnchorというタイプを持っています。

  • Let's also take a look at another method.

    別の方法も見てみよう。

  • In line 197, we can see that we are doing the exact same thing.

    197行目では、まったく同じことをしていることがわかる。

  • We declare another local MRUKAnchor variable, and get the largest available surface by calling the MRUK.instance, and then getting the current room we are in.

    別のローカル変数MRUKAnchorを宣言し、MRUK.instanceを呼び出して利用可能な最大のサーフェスを取得し、現在いる部屋を取得する。

  • We can then simply call the FindLargestSurface method, and provide it with the surface type parameter, so it knows which surface we are looking for.

    そして、単純にFindLargestSurfaceメソッドを呼び出し、サーフェスタイプのパラメータを与えることで、どのサーフェスを探しているのかを知ることができる。

  • Meta really made it super easy for us to query a bunch of scene data.

    メタのおかげで、たくさんのシーンデータをクエリするのがとても簡単になった。

  • But let's look at a few more samples to cover all the most important features of this amazing utility kit.

    しかし、この素晴らしいユーティリティ・キットの最も重要な機能を網羅するために、もう少しサンプルを見てみよう。

  • We open the FindFloorZone scene and open the FindFloorZone module, because the next component we take a look at is the FindSpawnPositions.

    FindFloorZoneシーンを開き、FindFloorZoneモジュールを開きます。次に見るコンポーネントはFindSpawnPositionsだからです。

  • This is an excellent tool for when we have our own prefabs, let's say a model of a small building for an architecture application, and we want to check where we are able to place it without overlapping with our furniture.

    これは、独自のプレハブ、例えば建築アプリケーション用の小さな建物のモデルを持っていて、家具と重ならないように配置できる場所をチェックしたい場合に最適なツールです。

  • So, we would reference our prefab in the SpawnPrefab field, and depending on the size of it, it will then decide on where and how often it can be placed on our surface.

    そこで、SpawnPrefabフィールドでプレハブを参照し、そのサイズに応じて、プレハブをサーフェス上に配置する場所と頻度を決定します。

  • If we look at this FloorSpot prefab for example, we can see it is 2 units long and wide, so it will only fit in places of that size or bigger.

    例えば、このフロアスポットプレハブを見てみると、長さと幅が2ユニットあるので、そのサイズ以上の場所にしか設置できないことがわかる。

  • We can set the amount of prefabs we want to place, as well as the number of times to attempt spawning or moving an object before giving up.

    配置したいプレハブの量や、オブジェクトのスポーンや移動をあきらめるまでの試行回数を設定できる。

  • We can also specify where on the surface we would like to spawn the objects, and for which kinds of labels, for example, just on the floor.

    また、オブジェクトを表面のどこにスポーンさせるか、どの種類のラベルに対してスポーンさせるか(例えば、床面だけ)を指定することもできる。

  • If CheckOverlap is enabled, then the SpawnPosition will check colliders to make sure there is no overlap.

    CheckOverlapが有効な場合、SpawnPositionはコライダーをチェックして重なりがないことを確認する。

  • We lastly call the StartSpawn method from the FindSpawnPositions on the SceneLoaded event.

    最後にSceneLoadedイベントのFindSpawnPositionsからStartSpawnメソッドを呼び出す。

  • Let's give this scene a try.

    このシーンを試してみよう。

  • We can see now how the different prefabs of different sizes are being spawned onto our floor surfaces.

    大きさの異なるプレハブが、どのように床面にスポーンされるかがわかります。

  • Great guys!

    素晴らしい人たちだ!

  • There's one very cool component left before we close off this video that I want to show you, and that's the AnchorPrefabSpawner.

    このビデオを締めくくる前に、とてもクールなコンポーネントが1つ残っているので紹介しよう。

  • Let's open the virtual home scene and look at the FurnitureSpawner.

    バーチャルホームのシーンを開き、FurnitureSpawnerを見てみよう。

  • The AnchorPrefabSpawner allows us to effectively replace existing anchors, such as beds and tables, with virtual objects, or in other words prefabs, that we prepared beforehand.

    AnchorPrefabSpawnerを使えば、ベッドやテーブルといった既存のアンカーを、あらかじめ用意した仮想オブジェクト、つまりプレハブに効率的に置き換えることができる。

  • So, if we open up the prefabs to spawn and then open one of the elements, we can see that we first specify the label of the anchor that we want to replace, in this case, the walls.

    プレハブを開いてスポーンし、エレメントのひとつを開くと、まず置き換えたいアンカー(この場合は壁)のラベルを指定することがわかります。

  • And after that, we assign the prefab that our walls should be replaced with.

    そしてその後、壁を取り替えるべきプレハブを指定する。

  • Let's give this last scene a try and see our room with those walls we added as prefabs.

    プレハブとして追加した壁がある部屋を見てみよう。

  • We can see that our real room turned into a completely virtual room.

    現実の部屋が完全にバーチャルな部屋になっているのがわかる。

  • This allows us to modify our users' rooms in the style of our game, which opens up a huge variety of gameplay.

    これにより、ユーザーの部屋をゲームのスタイルに合わせて変更することができ、ゲームプレイの幅が大きく広がります。

  • And I can't wait to see what all of you are building with the Mixed Reality Utility Kit.

    そして、皆さんが複合現実ユーティリティ・キットで何を作っているのか見るのが待ち遠しいです。

  • Alright guys, and that's it for this video.

    さて、今回のビデオはここまで。

  • I hope you learned a lot about MRUK today, and if you're enjoying this content, please take a second to like and subscribe to this channel, consider subscribing to my Patreon if you want to get all the source codes of each tutorial, and we are happy to welcome you in our Discord community, and feel free to join if you have any questions.

    もしこのコンテンツを楽しんでいただけたなら、このチャンネルに「いいね!」や「購読」をお願いします。各チュートリアルのソースコードをすべて入手したい場合は、私のパトロンに登録することを検討してください。

  • Thank you so much for watching, and see you in the next one.

    ご視聴ありがとうございました。

  • Microsoft Mechanics www.microsoft.com

    マイクロソフト メカニクス www.microsoft.com

Hi XR developers, today we're going to talk about a new tool from Meta which is called the Mixed Reality Utility Kit or MRUK for short.

XR開発者の皆さん、こんにちは。今日はMetaの新しいツール、Mixed Reality Utility Kit、略してMRUKについてお話しします。

字幕と単語
AI 自動生成字幕

ワンタップで英和辞典検索 単語をクリックすると、意味が表示されます

B1 中級 日本語

複合現実ユーティリティキット:Meta XR SDKで空間認識アプリを構築する (Mixed Reality Utility Kit: Build spatially-aware apps with Meta XR SDK)

  • 0 0
    鄭博涵 に公開 2024 年 11 月 27 日
動画の中の単語