Archive For The “2D” 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”) ==…

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…

Unity3D+Anima2Dチュートリアル

By |

Unity3D+Anima2Dチュートリアル

Blogをいつもご覧いただきありがとうございます。 先日、「Unity+Myo(ジェスチャーを活用して牛乳を搾るゲームを作りました)」というテーマのブログを発表しました。 下記のURLはゲームの映像です。 その中の「牛」はAnima2Dプラグインを利用して制作しました。Anima2Dの使い方のチュートリアルとして今回はAnima2Dを利用して「牛」を動かしてみましょう! Anima2Dのメリットは?   Unity3Dのアニメーションと同じ感覚で2Dキャラクターが動かせます。 スキニングとBoneが付くアニメーションを作ることができます。 Spriteの各頂点編集することができます。 全部アニメーション(Unity3Dの標準機能)でコントロールすることができます   Step1 Anima2Dをインストール   AssetStoreからAnima2Dを検索し、ダウンロードしてから、インポートをしてください。   Step2 「牛」の画像を分割 上記の画像はまだ分割していない状態です。 ゲームでは「頭」、「足」二本、「体」を分けたいので、こちらで「Gimp2」でこの4つの部分を分割しました。 そして、分割した画像をUnityにインポートして、下記の状態になりました。 画像のInspectorのTexture TypeをSprite (2D and UI)に変更するのを忘れないで下さい。 これで、下準備は完了です。 Step3 SpriteMeshを作る ここから本番ですね。先用意した画像を選択して、右クリックしてSpriteMeshが作れます。( Create→Anima2D→SpriteMesh) 上記のステップで、拡張子が「asset」のファイルができると思います。保存先が分からなくなってしまわぬよう独立のフォルダーを入れるとよいと思います。 Step4 SpriteMeshをSceneに配置 これから、作り上げたSpriteMeshをシーンに配置します。 まず、シーンにempty GameObjectを作って、この中で二つ空のGameObjectを作ります。下記の画像ご参考までに。 そして、SpriteMeshを一個ずつBodyのGameObjectに入れます。(一気に全部選択しても一個ずつしか入りませんので) 全部入れて、元「牛」の四肢のようにポジションを調整したら、下記の画像のようになるかと思います。 Step5 SortingLayer、OrderLayerの調整 ですが、牛の頭が体に隠れてしまってるように見えますので、そこで、OrderLayerの順位を調整します。 先ず、SpriteMeshのSortingLayerを全部同じにします。SpriteMeshのオブジェクトを選択して、右側は下記のようにします。 デフォルトの状態で全部のSpriteMeshのOrderLayerは0になっていますので、一番前に表示したい物のLayerの順位を0より大すると前面に表示できます。 今回の場合は牛の頭を体の前に表示しようと思いますので、頭のオブジェクトを選択して、OrderLayerは1にすれば、一番前に表示できるようになると思います。 これで、SortingLayerとOrderLayerの説明は維持上です。 Step6 Boneを入れる これがAnima2Dのとても大事な機能です。スプライトに骨を付けることができます。 先ず、先ほど作ったBoneというゲームオブジェクトに右クリックしてください。 下記の画像のように選択します。 こうすれば、新しいBoneオブジェクトがインスタンスされます。自分が分かりやすい名前を決めてください。 そして、「Torso」の中で頭、両足の2DBoneを作って、針みたいなものを相応の所に配置します。   注意点:上記の赤い箇所で示している所は「骨」の長さです、スプライトの大きさに相応して決めてください。 そして、BoneとSpriteMeshを繋げましょう! 下記の画像の通りにそれぞれのBoneオブジェクトをSpriteMeshのSet bonesの所に入れます。   注意点:繋げたくない部分があれば、右クリックで削除してください。…

Unity+Myo(ジェスチャーを活用して牛乳を搾るゲームを作りました)

By |

Unity+Myo(ジェスチャーを活用して牛乳を搾るゲームを作りました)

Blogをいつもご覧いただきありがとうございます。先日「Myo」のジェスチャーでゲームを作ってみましたので今回はここでジェスチャーの使い方を紹介しようと思います。 下記のURLはゲームの映像です。 · Myoってどんなもの? Myoアームバンドは、腕、手首、指のジェスチャーで、デバイスをワイヤレス操作することができます。 下記のURLはMyoの公式サイトです。 https://www.myo.com · Myoのジェスチャーの紹介 デフォルトで認識するプリセットジェスチャーは下記のとおりです。 · グー(Fist) · パー(FingersSpread) · ダブルタップ(DoubleTap) · 手首で手を左に仰ぐ動作(WaveIn) · 手首で手を右に仰ぐ動作(WaveOut) · リラックス(Rest)   「グー」と「パー」を合わせて、モミモミすることができそうなので、私はこの二つのジェスチャーを利用して牛乳を搾るゲームを作りました。それでは、ジェスチャーの部分に入りましょう。 · sdkの導入 環境状況: Unity2018.1.0f2 SDKバージョン:Windows SDK 0.9.0 Firmware: 1.5.1970 https://developer.thalmic.com/downloads SDKを持っていない人は上記のサイトからダウンロードできます。 SDKをダウンロードして、Unityにインポートしましたが、エラーが三つ出ました。 エラーが発生しているスクリプト(ColorBoxByPose)をチェックしたら、レンダリングの設定の書き方が古すぎますので、Unity2018.1.0f2(恐らくUnity2017以降のバージョン)では、書き方を変える必要がありますね。   では、そこの書き方を変えましょう! 上記のように修正してエラーが消えるはずです。 次はMyoをコントロールするために、SDKが用意してくれたプリハブをシーンに入れます。 サンプルシーンの中で「Joint」というGameObjectがあります。このGameObjectに存在するスクリプト(JointOrientation)がMyoデバイスの方向を管理しています。これをプリハブにして、自分のシーンに適用します。 方向を制御するスクリプトできたので、次はジェスチャー検出のコードですね。 それでは、ジェスチャー検出用のスクリプトを作りましょう。 そのオブジェクトに自分が作った「gManager」を入れて、ジェスチャー検出のコードを全部このスクリプト内に記述することにします。 これで、SDKのプラグインの導入が完了しました。 · ジェスチャー検出 例: using System.Collections; using System.Collections.Generic; using UnityEngine;…

Unity3Dタイルマップ作成時の注意点

By |

Unity3Dタイルマップ作成時の注意点

Unity3D has a tile map system that allows you to make 2D maps with no programming at all. This tool is available for free with the unity base package and can be expanded with the 2D extras package found in unity’s GitHub. It’s fairly easy to use but if you are not careful when setting it up you could have a hard…

Go Top