Insta360 ONE Xの使い方
ボタン
大ボタン:シャッター、エンターボタン
小ボタン:電源、モードスイッチボタン
電源
小ボタン長押しでオン、オフ
アプリの操作
下の中央のカメラボタンを押す
接続画面になるので、Connect via Wi-Fiを選ぶ
下の画面になったらjoinを選ぶ
撮影画面になったら、ビデオアイコンを選択する
右下の設定アイコン(青い円内)で、撮影設定を変えられる。赤い円内の部分で、5.7K 30FPSであることを確認する。
撮影が終わったら、左下のアイコンを選ぶと、動画を編集できる。
UnityのDefault PlayablesとTimeline Playable Wizardを使う際の備忘録 後編 Normal Modeを使う
はじめに
この記事は、前編(UnityのDefault PlayablesとTimeline Playable Wizardを使う際の備忘録 前編 Standard Bind Playableを使う)の続きです。こちらではDefault PlayablesのTimeline Playable WizardのNormal modeの使い方をまとめます。Timeline Playable Wizardの基本的な使い方は前編をご覧ください。
Normal Modeは、タイムラインで操作するゲームオブジェクト以外への参照が必要な時に使用します。例えば、指定する二つのゲームオブジェクトの間を移動させるなどです。
使用するサンプルスクリプト
今回は、こちらの NormalModeSample.cs を使います。
gist64e5f0aee13fae187a658cd08b92c8f7
Unity Editor上でファイルを作り、Main Cameraにコンポーネントとしてアタッチしてください。
このスクリプト自体は、SampleVariableの値をDebug.Logで表示する以外のことは行いません。SampleVariableに入れるべき値はPlayableの方で行います。
Timeline Playable WizardのNormal modeの設定
Timeline Playable Wizardを開きます。今回は以下の通りに設定します。
Standard Blend Playableのチェックは入れません。
Exposed Referencesにはシーン内のほかのゲームオブジェクトへの参照をするための変数を指定します。今回は、OtherGameObjectTransformという名前で、ほかのゲームオブジェクトのTransformを参照できるよう設定します。
Behaviour Variablesはシーン内のオブジェクトへの参照が不要であるものを指定します。今回はMultiplyというfloatの値を使います。
あと、Create Drawerにもチェックを入れておきます。
最後に、Createボタンを押して、Playableを作成してください。
MixerBehaviourの設定
Createを押すと、以下の通り、NormalModeSamplePlayableのスクリプトが作られます。この中のNormalModeSamplePlayableMixerBehaviourのスクリプトを編集します。
スクリプトは、以下の通りです。
gistc7901e6460f0137df332ae601e949f40
11行目のtrackBindingがWizardで指定したTrack Binding Type(今回はNormalModeSample.cs)への参照になります。NormalModeSample.cs内のSampleVariableへはこれでアクセスできます。
この中で18行目にforループがありますが、ここで追加した各クリップでの処理を行います。
inputWeightはクリップ外では0、クリップ内では1ですが、Easingを設定している場合は徐々に0~1で値が変化します。
inputは、Exposed ReferencesやBehaviour Variablesで指定した変数(今回はOtherGameObjectTransform, Multiply)を参照するために使います。
これら、inputWeightとinputを使って必要な計算を行い、trackBindingで参照できるTrackBinding Typeへ値を与えます。その処理は、24行目の"// Use the above variables to process each frame of this playable."以下に追加します。今回は、以下の行を追加します。OtherGameObjectTransformのy座標をMultiply倍する処理にinputWeightを追加しただけの処理です。
trackBinding.SampleVariable = input.OtherGameObjectTransform.position.y * input.Multiply * inputWeight;
追加したら、保存してください。
Timelineで使う
Main CameraにTimelineを追加し、TimelineにNormal Mode Sample Playable Trackを追加します。このTrackの任意の場所にClipを追加しましょう。以下の通りになるはずです。
追加したClipには、Exposed ReferenceやBehaviour Variablesで指定した変数への設定ができます。今回は、以下の通りMultiplyを5とし、OtherGameObjectTransformとしてDirectionl Light(y座標 = 3)を与えます。また、Ease In Durationを1にしておきます。
この設定で実行すると、以下の通り、クリップ内でNormalModeSample.csのSampleVariableの値が0から15に上昇します。15というのは、OtherGameObjectTransformとして指定したDirectionl Lightのy座標が3、Multiplyの値が5で、それらの積をSample Variableに保存しているからです。
Clip内を実行中にDirectionl Lightのy座標を変えれば、それによってSample Variableの値も変わります。
このように、自分以外のオブジェクトを参照しながらTimelineを実行するには、Normal Modeを使うのが良いです。
UnityのDefault PlayablesとTimeline Playable Wizardを使う際の備忘録 前編 Standard Blend Playableを使う
はじめに
この記事は二部構成です。後編(UnityのDefault PlayablesとTimeline Playable Wizardを使う際の備忘録 後編 Normal Modeを使う)はこちらをご覧ください。
Default Playableとは
UnityのTimeline機能は動画のようなストーリーのあるコンテンツを作るのに有効ですが、カスタマイズするためのスクリプトを書くのがなかなか大変です。そのカスタマイズの助けになるのがUnityが公開している"Default Playables”アセットです。
このアセットについては、テラシュールブログさんが紹介記事を公開しています。
この記事にあるように、Default PlayableアセットはVideo Playerの制御やTransformのTween(位置をAからBへ徐々に動かす)などをTimelineで行うためのTrackを提供していますが、もう一つ重要なのがTimeline Playable Wizardです。こちらについてもテラシュールブログさんが紹介記事を出しています。
この記事の説明の通り、Wizardを使うことでTimelineのカスタムTrackをコードを自分でゼロから書くことなく準備することができます。ただ、細かい作り方についての解説はこの記事になかったので、備忘録としてこちらに書くことにしました。
Timeline Playable Wizard
Asset StoreからDefault Playablesを入手すると、Unity EditorのWindowsのメニューにTimeline Playable Wizardが追加されるので、それを選択します。すると、以下のメニューが出てきます。
このメニューでは、Standard Blend Playable(上図赤丸内)にチェックを入れるかどうかで設定が変わってくるので、分けて説明します。チェックを入れない(Normal Mode)場合の使い方については後編をご覧ください。
Standard Blend Playableを使う
以下のサンプルスクリプト StandardBlendPlayableSample.csを使います。
SampleVariableに値が保存されると、その値をDebug.Logで表示します。これをMain Cameraにアタッチするとします。
インスペクタ内で、アタッチしたSample Blend Playable SampleコンポーネントのSample Variableの値を0.5に指定します。
次に、Timeline Playable Wizardを開いて、以下の通りに設定します。
Playableの名前をSamplePlayableとし、Standard Blend Playableに、Track Binding Typeを先ほど作ったStandardBindPlayableSampleにすることで、このコンポーネントをタイムラインで制御できます。
Default Valuesには、StandardBindPlayableSample.csをアタッチしたMain Cameraをヒエラルキーからドラッグアンドドロップしましょう。これで、Main CameraにアタッチされているStandardBindPlayableSampleコンポーネントに対してインスペクタで設定した値(Sample Variableの値が0.5、など)が、Playableのデフォルトの値になります。
最後に、Standard Blend Playable Propertiesの項目でTimeline上で変化させたい変数を選択します。今回はSampleVariableを変化させます。
設定が終わったらCreateを押すと、Playable Nameとして設定した名前のフォルダと以下のファイルが作られます。
次に、以下のように、ヒエラルキーでMainCameraを選択した状態でTimelineウィンドウを開き、Createを押してTimelineアセットを作って保存します。
ファイル名はMainCameraTimeline.playableにします。
すると、Main CameraのTimelineがTimelineウィンドウに作られます。Addボタンを押すと、Activation TrackなどUnity Editorに付属するTrack、Transform TweenなどDefault Playablesアセットに付属するTrackに加えて、Sample Playable Trackが選べるようになってるので、それを選んでTrackを作ります。
次に、下図のようにStandardBlendPlayableSample.csをアタッチしているMain Cameraを、"None(Standard Bind)”と表示されているアセットの選択窓にドラッグし、Timeline上で右クリックして"Add Sample Playable Clip"を選び、Clipを追加します。
追加したクリップを選択すると、クリップのタイミング、イージングやSample Variableの値を設定できます。このとき、Sample Variableのデフォルトの値はTimeline Playable Wizardで指定した通り、Main CameraにアタッチされているStandardBlendPlayableSampleコンポーネントに対してインスペクタで設定した値(Sample Variables = 0.5)が反映されています。
ここで、Ease In Durationを1, Sample Variableを1に変更してみましょう。
これで準備ができました。Timelineの再生位置を先ほど追加したクリップの前に置くと、Consoleには"Main Camera:0.5"と出ますが、クリップ内では1へ増えていきます。
今回はDebug.Logで値を表示するだけでしたが、その代わりに別のコードを入れることで、いろいろなものをTimelineで操作できるようになります。
それでは、次に後編
をご覧ください。
Oculus GOで360度動画を観る。③Oculus GOに保存された360度動画を視る
はじめに
この記事は、「Oculus GOで360度動画を観る」のパート③です。本体に保存された360度動画を視る方法を説明します。パート①(Oculus GO基礎編)、パート②(Oculus GOでYouTubeの360度動画を視る)も併せてご覧ください。
続きを読む
Oculus GOで360度動画を観る。②Oculus GOでYouTubeの360度動画を視る
はじめに
この記事は、「Oculus GOで360度動画を観る」のパート②です。YouTubeの360度動画を視る方法を説明します。パート①(Oculus GO基礎編)、パート③(Oculus GOに保存された360度動画を視る)も併せてご覧ください。
続きを読む
Oculus GOで360度動画を観る。①Oculus GO基礎編
Unityで360度動画を観る
この記事は、Unityの公式チュートリアル https://docs.google.com/document/d/1JjOQ0dXTYPFwg6eSOlIAdqyPo6QMLqh-PETwxf8ZVD8/edit から作成したものです。
UnityにビデオをImportする
まず、Unity Editorを起動して、新規プロジェクトを作る。
次に、https://drive.google.com/file/d/13ZV8euKaDVU6dbjOc496y9kfA1pjJVit/view?usp=sharing から、サンプル動画をダウンロードする。
ダウンロードしたファイルは、Unity EditorのProjectタブのAssetsフォルダへドラッグアンドドロップすればImportできる。ファイル名はoutputTrimのはず。
次に、Importした動画ファイルをHierarchyにドラッグアンドドロップする
そうすると、ファイル名と同じ名前のゲームオブジェクトoutputTrimが作成され、そのゲームオブジェクトにはVideo Playerというコンポーネントが見られる。
RenderTextureを設定する
Editor上部のAssets->Create メニューから、RenderTextureを選択する。名前はVideoTextureにしておく。
Assetsフォルダ内に作られたVideoTextureファイルをクリックすると、Inspectorタブ内で設定が可能になる。ここでSizeを 3840*1920(先ほどImportしたVideoの画面サイズ) に設定し、Depth BufferのオプションをNo Depth Bufferにする。
VideoPlayerを設定する
先ほどHierarchyに作ったoutputTrimオブジェクトを選択し、VideoPlayerコンポーネントを設定する。Render ModeをRenderTextureにして、上で作ったVideoTextureをVideoPlayerのTargetTextureにドラッグアンドドロップする
SkyBoxマテリアルを設定する
上のメニューのAssets->CreateからMaterialを選択し、新しいマテリアルをつくる。名前はPanoramicにする。
次に、Panoramicファイルを選択し、インスペクタ上でShaderをSkyBox→Panoramicに設定する。
引き続き、Inspector内のPanoramicマテリアルの設定画面で、右にあるTextureのボックスに先ほど作ったVideoTextureをドラッグアンドドロップする。
SkyBoxを設定する
上のメニューのWindows->Lighting->Settingsを選択し、Inspectorタブ内でLightingの設定を行う。
EnvironmentのSkyBox Materialに上で作ったPanoramicマテリアルをドラッグアンドドロップする。
動作を確認する
Playボタンで再生すると、SceneおよびGame画面で、360度動画が再生される。
(おまけ)スマホで360度動画を視る
Unity Editor + iPhone(あるいはiPod Touch)で360度動画を視るときは、GoogleのMagic Windowのスクリプトを使うと、iPhoneの動きに合わせてカメラの方向を変えることができる。
UnityのiOSビルドサポートの準備
そのために、まずUnityでiOSのビルドサポートを入れる必要がある。下記の通り、File → Build Settingsを選ぶ。
Build Settingsのウィンドウで、下図のようにPlatformでiOSを選んだ時に"No iOS module loaded"となっていたら、"Open Download Page"を押して、iOSモジュールのダウンロードを行う。
ダウンロードしたアプリを起動し、インストーラーを実行する。
以下の画面のとき、Unity Editorの保存場所が表示されていることを確認する。そうでなければ、Browse...のボタンを選んで、Unityのインストールフォルダを選ぶこと。
Unity Editorのインストールフォルダは、以下のように"Editor"フォルダを内包するフォルダ(つまり、"Editor"の一階層上のフォルダ)を選択する。
次に、もし下図のように"Applications are blocking the installer"が出てきたら、Unity Editorを閉じる。すると、インストールが進行する。
後は、インストールが終わるまで待つ。インストールが終わったら、Unity Editorを起動し、File → Build Settingsを選び、Build Settingsのウィンドウで、PlatformでiOSを選んだ時に下図のようになっていればOK。
iTunesの準備
PCの方にiTunesが入っていることを確認する。入っていなければこちらから
インストールすること。そして、iPhoneをUSBケーブルでPCにつなぐ。
Unity Remoteの準備
そのためには、まずiPhoneでapp storeからUnity Remote 5をダウンロード、インストールして開いておく。
次に、PCの方にiTunesが入っていることを確認する。入っていなければインストールすること。そして、iPhoneをUSBケーブルでPCにつなぐ。
次に、Edit -> Project Settings -> Editorで"Unity Remote"を"(iPhoneの機種名)"にする。
GyroControllerを使う
そして、新しくC#スクリプトファイル GyroController.csを作り、GoogleのMagic Windowのスクリプトのページの最後のスクリプトをコピペする。最後に、GyroController.csをMain Cameraにアタッチする。
これでUnity Editorを再生すると、Game画面がiPhoneの方にも表示され、iPhoneを動かすとカメラの方向が変わるはずである。