2019年5月8日コンテンツを制作する際に資料映像として360°動画ファイルで頂くケースが最近増えてきました。Player上でシークがうまく行かなかったケースでのTipsをシェアしたいとおもいます。拡張子insvはInsta360のファイルフォーマットです。Playerを利用してこれらの拡張子のプレビューすることができます。公式サイトで無料でダウンロード可能ですが、サイトの構成変更でダウンロードリンクが若干わりづらくなっているようです。下記のプロダクトのページにリンクがあります。Playerにドラッグアンドドロップして読み込んだのですが、弊社で遭遇したケースでは再生バーをシークすると、該当箇所(フレーム)の映像は表示されますが、シーク中の映像が停止した状態となりました。撮影した映像が高解像度かつ高ビットレートだったため、再生バーをシークしても早送りや巻き戻しが見た目に反映されていないようです。Studioを使って、映像を解像度とビットレートを圧縮することにしました。(※先程のPlayerをダウンロードしたページの中部あたりにあります。その後アプリケーションのタイトルバー付近の上部の黄色いボタン(➀)を押して、圧縮設定ウィンドウを表示します。解像度を設定した後、「Bitrate」の項目のプルダウンリストからCustomizeを選択して(2)、横の文字入力ウィンドウに任意の数字を入力します。今回の場合は”18”にしました。OKを押すとキューに追加されて、圧縮が開始されます。今回のケースでは下記のように設定しました。Playerにドラッグアンドドロップすると、シークが効くようになりました。insvフォーマットのままの圧縮はできないようです。2019年4月9日Blogをいつもご覧いただきありがとうございます。シューティングゲームを作った時に、武器の弾のシステムは様々な書き方がありますが、一番シンプルな書き方は、恐らく弾のオブジェクトをインスタンスして、敵にヒットしたら(コード側ではコライダーやポジションでどちらでも可能です。)、敵と弾一緒に消滅すると思います。2019年2月14日あるシーンが、「PostProcessingのエフェクトが適用されているシーンのはずなのに自分のPCで開くと見た目が通常と変わらない。Stackがインストールされているかをチェックしてみてください。確認方法は下記のとおりです。Processing(2)を選択します。3.右上のInstallボタン(3)を押してインストールします。Processingの効果が確認できると思います。2018年10月15日Blogをいつもご覧いただきありがとうございます。前回は「Unity3D+Anima2Dチュートリアル」というテーマの記事を投稿しました。Kinematicsについて説明したいと思います。Kinematicsのコンポーネントがあります。これを使い、親関係のボーンオブジェクトの子供を動かすと、親も連動し動きます。例を挙げると、腕と肩の関係のようなものです。(以下省略”IK”です)。シンプルなアニメーションは、ボーンをいじるだけで充分ですが、もしアニメーションが複雑な場合はかなり時間がかかると思います。いう場合は「IK」が便利です。移動させたいボーンを「IK」と繋げればこのボーンのチェーンを丸ごと動かすことができとても便利です。いう2種類のIKがあります。Limbは骨を2本しかコントロールできません、余弦定理ですので、今回の場合手足に利用します。設定に応じて、最大コントロールできる本数がルートボーンまでの全部の骨をコントロールすることができます。今回の場合頭と尻尾に使います。前回の引継き、IKの使い方を説明します。IKをの使い方を説明する前に、先ずAnima2Dの効率をアップでさせる機能を紹介したいと思います。「PoseManager」というものです。使い方はとても簡単です。Manager」を入れれば、使えるようになるはずです。pose」をクリックしたら、今のスプライトのポジションとローテーションがセーブできます。一つの「Idle」のポーズを「Save」をクリックしてから、後はどんな調整しても、ただ「Load」ボタンをクリックしたら、最初設定のポーズに戻れます。(ちなみに、「Save」はオーバライドしますので、ご注意ください。Manager」の使い方はここまでです。それでは、「IK」の使い方の説明に入りましょう。「牛」のオブジェクトの中に、もう一個の空のオブジェクトを作って、名付け「IK」です。Limb」をクリックしたら、「IK」が出ます。「IK」のパラメータを説明しましょう。Record:アニメーションモードの間,ボーンのキーフレームを記録します。IKが適用されるボーン。Weight:​IKのポーズに対する影響度。2018年9月18日Blogをいつもご覧いただきありがとうございます。先日、「Unity+Myo(ジェスチャーを活用して牛乳を搾るゲームを作りました)」というテーマのブログを発表しました。下記のURLはゲームの映像です。その中の「牛」はAnima2Dプラグインを利用して制作しました。Unity3Dのアニメーションと同じ感覚で2Dキャラクターが動かせます。スキニングとBoneが付くアニメーションを作ることができます。Spriteの各頂点編集することができます。AssetStoreからAnima2Dを検索し、ダウンロードしてから、インポートをしてください。上記の画像はまだ分割していない状態です。分けたいので、こちらで「Gimp2」でこの4つの部分を分割しました。分割した画像をUnityにインポートして、下記の状態になりました。UI)に変更するのを忘れないで下さい。これで、下準備は完了です。先用意した画像を選択して、右クリックしてSpriteMeshが作れます。上記のステップで、拡張子が「asset」のファイルができると思います。保存先が分からなくなってしまわぬよう独立のフォルダーを入れるとよいと思います。これから、作り上げたSpriteMeshをシーンに配置します。GameObjectを作って、この中で二つ空のGameObjectを作ります。下記の画像ご参考までに。SpriteMeshを一個ずつBodyのGameObjectに入れます。全部入れて、元「牛」の四肢のようにポジションを調整したら、下記の画像のようになるかと思います。牛の頭が体に隠れてしまってるように見えますので、そこで、OrderLayerの順位を調整します。SpriteMeshのSortingLayerを全部同じにします。SpriteMeshのオブジェクトを選択して、右側は下記のようにします。デフォルトの状態で全部のSpriteMeshのOrderLayerは0になっていますので、一番前に表示したい物のLayerの順位を0より大すると前面に表示できます。今回の場合は牛の頭を体の前に表示しようと思いますので、頭のオブジェクトを選択して、OrderLayerは1にすれば、一番前に表示できるようになると思います。これで、SortingLayerとOrderLayerの説明は維持上です。これがAnima2Dのとても大事な機能です。スプライトに骨を付けることができます。先ほど作ったBoneというゲームオブジェクトに右クリックしてください。下記の画像のように選択します。すれば、新しいBoneオブジェクトがインスタンスされます。自分が分かりやすい名前を決めてください。「Torso」の中で頭、両足の2DBoneを作って、針みたいなものを相応の所に配置します。注意点:上記の赤い箇所で示している所は「骨」の長さです、スプライトの大きさに相応して決めてください。bonesの所に入れます。注意点:繋げたくない部分があれば、右クリックで削除してください。2018年7月2日Blogをいつもご覧いただきありがとうございます。先日「Myo」のジェスチャーでゲームを作ってみましたので今回はここでジェスチャーの使い方を紹介しようと思います。下記のURLはゲームの映像です。Myoアームバンドは、腕、手首、指のジェスチャーで、デバイスをワイヤレス操作することができます。下記のURLはMyoの公式サイトです。デフォルトで認識するプリセットジェスチャーは下記のとおりです。「グー」と「パー」を合わせて、モミモミすることができそうなので、私はこの二つのジェスチャーを利用して牛乳を搾るゲームを作りました。それでは、ジェスチャーの部分に入りましょう。SDKを持っていない人は上記のサイトからダウンロードできます。SDKをダウンロードして、Unityにインポートしましたが、エラーが三つ出ました。エラーが発生しているスクリプト(ColorBoxByPose)をチェックしたら、レンダリングの設定の書き方が古すぎますので、Unity2018.1.0f2(恐らくUnity2017以降のバージョン)では、書き方を変える必要がありますね。上記のように修正してエラーが消えるはずです。次はMyoをコントロールするために、SDKが用意してくれたプリハブをシーンに入れます。サンプルシーンの中で「Joint」というGameObjectがあります。このGameObjectに存在するスクリプト(JointOrientation)がMyoデバイスの方向を管理しています。これをプリハブにして、自分のシーンに適用します。方向を制御するスクリプトできたので、次はジェスチャー検出のコードですね。それでは、ジェスチャー検出用のスクリプトを作りましょう。そのオブジェクトに自分が作った「gManager」を入れて、ジェスチャー検出のコードを全部このスクリプト内に記述することにします。これで、SDKのプラグインの導入が完了しました。