Archive For The “初心者向け” Category

拡張子insvがInsta360 Playerでスムーズに再生できない

By |

拡張子insvがInsta360 Playerでスムーズに再生できない

コンテンツを制作する際に資料映像として360°動画ファイルで頂くケースが最近増えてきました。下記にInsta360で撮影した動画がそれほど高スペックでないPCのInsta360 Player上でシークがうまく行かなかったケースでのTipsをシェアしたいとおもいます。 拡張子insvはInsta360のファイルフォーマットです。Insta360 Playerを利用してこれらの拡張子のプレビューすることができます。 公式サイトで無料でダウンロード可能ですが、サイトの構成変更でダウンロードリンクが若干わりづらくなっているようです。 下記のプロダクトのページにリンクがあります。 https://www.insta360.com/download/insta360-4k ダウウンロードしたらアプリを起動して、360°動画ファイルをInsta360 Playerにドラッグアンドドロップして読み込んだのですが、弊社で遭遇したケースでは再生バーをシークすると、該当箇所(フレーム)の映像は表示されますが、シーク中の映像が停止した状態となりました。 どうやら撮影した映像が高解像度かつ高ビットレートだったため、再生バーをシークしても早送りや巻き戻しが見た目に反映されていないようです。 そこで、公式ページにあるInsta360 Studioを使って、映像を解像度とビットレートを圧縮することにしました。 (※先程のPlayerをダウンロードしたページの中部あたりにあります。) Insta360 Studioを起動して、ファイルをドラッグアンドドロップして読み込みます その後アプリケーションのタイトルバー付近の上部の黄色いボタン(➀)を押して、圧縮設定ウィンドウを表示します。 解像度を設定した後、「Bitrate」の項目のプルダウンリストからCustomizeを選択して(②)、横の文字入力ウィンドウに任意の数字を入力します。今回の場合は”18”にしました。 OKを押すとキューに追加されて、圧縮が開始されます。 今回のケースでは下記のように設定しました。 元ファイルの設定: 3840px × 1920px ビットレート 50Mbps 圧縮後のファイルの設定: 1920px × 960px ビットレート 18Mbps(カスタムを選択して手動入力) 圧縮が終わったファイルをInsta360 Playerにドラッグアンドドロップすると、シークが効くようになりました。 なお、insvフォーマットのままの圧縮はできないようです。残念です。 “Spherical pictures and videos can be played and edited by Insta360 Studio, which would export the original insv video and insp picture to MP4…

Unity3D+シューティングゲームのオブジェクトプールのチュートリアル

By |

Unity3D+シューティングゲームのオブジェクトプールのチュートリアル

Blogをいつもご覧いただきありがとうございます。 シューティングゲームを作った時に、武器の弾のシステムは様々な書き方がありますが、一番シンプルな書き方は、恐らく弾のオブジェクトをインスタンスして、敵にヒットしたら(コード側ではコライダーやポジションでどちらでも可能です。)、敵と弾一緒に消滅すると思います。 弾を生成する場合の例: using UnityEngine; using System.Collections; public class BulletInstance : MonoBehaviour { public GameObject BulletPrefab; // Update is called once per frame void Update () {  GameObject bullet = Instantiate(BulletPrefab, Vector3.zero, Quaternion.identity) as GameObject; //弾をインスタンス } 弾と敵を消滅する場合の例: using UnityEngine; using System.Collections; public class Enemy : MonoBehaviour { void OnTriggerEnter(Collider other)  { if (other.tag.CompareTo(“Bullet”) ==…

Davinci Resolveで黒の余白なくビデオを出力する方法

By |

Davinci Resolveで黒の余白なくビデオを出力する方法

Youtubeに動画をアップする場合、無償で使える強力な編集ソフトとして、 DaVinci Resolve 15 があります。 (ダウンロードリンクは下記ページの最下部にあります。) https://www.blackmagicdesign.com/jp/products/davinciresolve/ DaVinci ResolveインストールしてYoutube用のムービーを書き出しした際にはまった箇所があり、その解決方法をシェアしたいとおもいます。 トラブルとしては、解像度を指定してビデオを書き出したかったのですが、出力した映像に下記のような上下に黒い帯が入ってしまうというケースです。   調べた結果、プロジェクトセッティングの解像度の設定が適切でなかったのが原因でした。 解決方法と手順を下記に記します。 ※今回は問題を再現する為にイレギュラーな解像度(2048×1023)のイメージを利用しています。 1.タイムラインに配置されてたフッテージ素材の解像度を確認します。 2.File>Project Setting…を開きプロジェクトの解像度を設定します。 3.Timeline resolutionをCustomに変更して、解像度を素材の解像度と同じに(2043x1023px:ご自身の状況に応じて変更してください。 )設定します。 4.Davinci Resolve下の方のDeliverタブ(➀)をクリックしてビデオの出力設定を開きます。 ②Individual Clipsを選択 ③Videoタブを選択 ④出力フォーマットを選びます。 ⑤Render at source resolution を選択します。 上記の設定が終わったら、Add to Render Queueボタンを押して、 レンダーキューに追加して、レンダーを行います。 以上で下記のような余白がないビデオが出力できるともいます。

Unity_PostProcessing機能の有効化

By |

Unity_PostProcessing機能の有効化

あるシーンが、「PostProcessingのエフェクトが適用されているシーンのはずなのに自分のPCで開くと見た目が通常と変わらない。」 上記のような場合は、Unity PostProcessing Stackがインストールされているかをチェックしてみてください。 確認方法は下記のとおりです。 1.メニューバーのWindow->Package Manager をクリック。 2.Allのタブ(①)をクリックし、スクロールダウンしてPost Processing(②)を選択します。 3.右上のInstallボタン(③)を押してインストールします。 この手順でシーンのカメラに設定された、Post Processingの効果が確認できると思います。

Unity3D+IK(Inverse Kinematics)のAnima2Dチュートリアル

By |

Unity3D+IK(Inverse Kinematics)のAnima2Dチュートリアル

Blogをいつもご覧いただきありがとうございます。   前回は「Unity3D+Anima2Dチュートリアル」というテーマの記事を投稿しました。   今回はAnima2dのInverse Kinematicsについて説明したいと思います。   Inverse Kinematicsとは何ですか?   Anima2Dには、Inverse Kinematicsのコンポーネントがあります。これを使い、親関係のボーンオブジェクトの子供を動かすと、親も連動し動きます。 例を挙げると、腕と肩の関係のようなものです。(以下省略”IK”です)。 シンプルなアニメーションは、ボーンをいじるだけで充分ですが、もしアニメーションが複雑な場合はかなり時間がかかると思います。 そういう場合は「IK」が便利です。移動させたいボーンを「IK」と繋げればこのボーンのチェーンを丸ごと動かすことができとても便利です。   IKの種類は?   Anima2DのIKには,IK CCDとIK Limb という2種類のIKがあります。 IL Limbは骨を2本しかコントロールできません、余弦定理ですので、今回の場合手足に利用します。 IK CCD は設定に応じて、最大コントロールできる本数がルートボーンまでの全部の骨をコントロールすることができます。今回の場合頭と尻尾に使います。   では、前回の引継き、IKの使い方を説明します。 IKをの使い方を説明する前に、先ずAnima2Dの効率をアップでさせる機能を紹介したいと思います。 「PoseManager」というものです。 使い方はとても簡単です。下記の画像のように、前回の「牛」のオブジェクトに「Pose Manager」を入れれば、使えるようになるはずです。 そして、「Create new pose」をクリックしたら、今のスプライトのポジションとローテーションがセーブできます。 一つの「Idle」のポーズを「Save」をクリックしてから、後はどんな調整しても、ただ「Load」ボタンをクリックしたら、最初設定のポーズに戻れます。(ちなみに、「Save」はオーバライドしますので、ご注意ください。)   「Pose Manager」の使い方はここまでです。 それでは、「IK」の使い方の説明に入りましょう。   Step 1: IKをクリエイトします   「牛」のオブジェクトの中に、もう一個の空のオブジェクトを作って、名付け「IK」です。 下記の画像のようにそのオブジェクトに右クリックして、「2D Object」→「IK Limb」をクリックしたら、「IK」が出ます。   では、「IK」のパラメータを説明しましょう。 Record:アニメーションモードの間,ボーンのキーフレームを記録します。 Target​: IKが適用されるボーン。 Weight:​IKのポーズに対する影響度。 Restore…

Flowの基礎について

By |

Flowの基礎について

前回は、Stingrayの基本と、テストプレイまで紹介しました。 今回はStingrayによる開発で、最も重要になると思われる 『Flow』についてご紹介します。 1.Flowとは何か 『Flow』とは、Stingrayに基本搭載されているビジュアルスクリプティング機能です。 そもそも、ビジュアルスクリプティングとは『視覚的にプログラムが組める機能』といった感じです。 有名なものでいえば、UnrealEngine4の『Blueprint』や、初心者向けのプログラミング言語の『Scratch』などがありますね。 ビジュアルスクリプティングの利点として、 『プログラムに触れたことのない初心者に優しい』、『一目でどのような処理かわかりやすい』という点があります。 もちろん、普通のプログラムができないわけではなく、StingrayではLuaにてプログラミングが行えます。 2.フローの開きかた 今回はまず、前回に作成したプロジェクトのFlowを開いてみます。 VRテンプレートのエディタの『Level Viewport』のタブのすぐ右側にある『Level Flow』タブを開きましょう。 『Level Flow』タブが見つからない場合は、『Window』のドロップダウンメニューを開き、 『Level Flow』を選択してください。 すると、画像のようなエディタが開かれるはずです。 これは『レベルフロー』といい、Flowの一種です。 たくさんのブロックが線で繋がっているのが見えます。 これがビジュアルスクリプティングにおけるプログラムになります。 3.Flowの基礎(ピンとノード) Flowにおけるブロックは『ノード』と呼ばれ、 『特定の値を拾う』『操作を受け付ける』等といった機能が、ブロックごとに設定されています。 Stingrayではこのブロックとブロックを線で繋ぎ、プログラミングをやっていきます。 今のままでは、画面がよく見えないため、Flowを拡大しましょう。 Flowの拡大/縮小はマウスホイールで行えます。 また、ホイールクリックでFlowの移動もできます。 画像は先ほどのFlowの左上の部分を拡大したものです。 ノードにいくつかの○があるのが見えます。 この○は『ピン』といい、ノードに入力する値(引数)か、 ノードから出力される値(返り値)を表します。 左側の○が引数、右側の○が返り値となります。 線はこのピンから伸び、また別のノードのピンに繋がります。 線とピンにはそれぞれ色がついています。 この色は、その線とピンが『何を表しているか』を示しています。 どの色が何を表すか、については今後必要に応じて説明するため、 現時点では、『白い線で繋がっているノードの順に実行される』ということだけ覚えておけば大丈夫です。 4.処理の始まりのノード 先ほどの画像では、『Level Update』というノードから白い線が始まっているのがわかります。 つまり、ここが処理の始まりの部分となるわけです。 『Level Update』というノードは『更新の度にout以降の処理を行う』というものです。 つまり、『Level Update』の『out』から繋がったノードは、一定の間隔で実行されるということです。 何度も実行したい処理はこのノードに繋げます。 この他にも、『処理の始まり』となるノードは幾つも存在します。 そのうちの一つが、『Level Loaded』ノードです。 このノードは『レベルのロード時のみ』に呼ばれます。 分かりづらいという方は『一番最初に一度だけ呼ばれる』と覚えておけば、今の時点では問題ありません。 また、その逆で『レベルの終了時』、つまり『一番最後に一度だけ呼ばれる』、…

Stingrayに触れてみよう

By |

Stingrayに触れてみよう

近年、VR/AR技術はゲーム業界のみならず、医療分野やその他の分野でも利用されるようになりました。 特に建築分野では、ウォークスルーアニメーションのプレゼンムービー等、 VIVEコントローラーによる入力を伴ったビジュアライゼーションの現場で活用されています。 液晶画面上に(内覧用の)モデルルームを表示したいとき、あるいは室内の家具の配置を考えるときに、VR/AR技術は有用です。 なぜなら実際の建築物・家具を設置する必要がなく、 以前より制作会社に蓄積されたCGアセットを活用でき、大幅な省力化が図れるからです。 この点は、建築分野においてVR/AR技術が注目を集めている大きな理由です。 通常、建築系のVRのコンテンツ開発にはゲームエンジンが用いられます。 代表的なゲームエンジンとして、UnityやUnrealEngine4が挙げられます。 ゲームエンジンとは文字通り、『ゲームを作るためのエンジン』です。 (近頃は建築などゲーム以外の用途にも使われることも増えています。) さて、話は変わりますが、『Stingray』というゲームエンジンがあります。 Stingrayは2年前にAutodesk社がリリースしたゲームエンジンで、 プログラマでない方にも親しみやすく、3D機能に非常に優れています。 拡張性の高いシステムに、一目でわかるビジュアルスクリプティングが特徴です。 また、Mayaや3dsMaxで有名なAutodesk社がリリースしたエンジンであるため 上記の3Dデザインツールとの連携も容易というメリットがあります。 ただ、UnityやUnrealEngineに比べると情報が少ないのが難点です。 Autodesk公式が運営しているチュートリアルと、 Stingrayそのもののヘルプページを除くと、Stingrayについての情報を見つけるのはかなり難しいと思います。 前置きが長くなりましたが、 数回に分けてStingrayについて、このブログに書いていくことにします。 Stingray自体がデザイナー向けのエンジンという事もあり、 ビジュアルスクリプティングをメインに書いていく予定です。 —————————————————– ・Stingrayに興味があるが触ったことのない方 ・あまりゲーム開発やゲームエンジンにあまり詳しくない方 ・HTC Viveのセットアップが既にできている方 ・プログラムが全く分からない方 —————————————————– このページは上記のような方々を対象にしています。 今回は、『Stingrayの起動』から、『VRテンプレートのプレイ』までを書いていきます。 1.まずはプロジェクトを作成を行う 最初はプロジェクトの作成を行います。 StingrayのランチャーからStingrayを起動します。 起動直後の画面では、いくつかのテンプレートが表示されているはずです。 (表示されていない場合、画面のタブから『Templete』を選択してください) このテンプレートの中から、使用したい物を選びます。 今回はHTC Viveで動かすため、『VR HTC Vive』のテンプレートを使用します。 『VR HTC Vive』のテンプレートをクリックして、右下の『Create』ボタンをクリックしましょう。 すると、下の画像にあるようなウィンドウが出て来ます。 『Name』はプロジェクトの名前なので好きな名前にしましょう。 『Directry』はファイルを保存する場所ですが、何かしらのこだわりがない限りはそのままで大丈夫です。 設定が終わったら『Create』ボタンをクリックします。 これで新規プロジェクトの作成は完了です。 2.プロジェクトをプレイする しばらく待つと、上の画像にあるような画面が表示されます。 これがStingrayのメイン画面になります。 お気付きの方もいるかもしれませんが、…

Go Top