タグ別アーカイブ: ツール

■Unityメモ_Arbor2を試してみる

Assetの「Arbor2」を試してみようと思います!

arbor_1_1

Arbor2」はFSM(finite state machine)ベースのビジュアルスクリプティング
詳しくはこちらから確認します。
説明:http://arbor.caitsithware.com/manual/getting-started/#FSM
リファレンス:http://arbor.caitsithware.com/manual/behaviour-reference/

本当に軽くですが、まずは敵が徘徊する設定まで。
とりあえず敵とするキャラに、「ArborFSM」をアタッチします。

arbor_1_2

「OpenEditor」ボタンを押して、編集画面を表示
ステートを作成して、「挙動追加」→「Agent」→「AgentPatrol」を選択して追加

arbor_1_3

必要な値の詳細はリファレンスを確認するとして、
「AgentController」が必要なので、敵キャラにアタッチします。

arbor_1_4

「AgentController」に必要なパラメータとして
リファレンスによると、
「Agent」に、「NavMeshAgent」

「Speed Parameter」から
「Animator」に、使用したい「Animatorコンポーネント」を設定
設定したAnimatorの「Parameter」がプルダウンで表示されます。
この項目は「移動速度をAnimatorへ渡す際のSpeedパラメータの名称を指定する。」
とのことで移動する際に、プルダウンで設定した「Parameter」に渡されます。
ただし「Float型」だけのようです。

とりあえずまずは、「NavMeshAgent」を用意します。
移動したいフィールドのオブジェクトを「Static」設定します。

arbor_1_5

Unityメニューの「Window」→「Navigation」を開き
タブ「Bake」から「Bake」ボタンを押して、「NavMesh」を作成します。

敵キャラに「Navigation」→「NavMeshAgent」をアタッチします。

arbor_1_6

これで「NavMeshAgent」が用意できたので、
敵キャラの「AgentController」の「Agent」に自身をアタッチします。

arbor_1_7

次に「OpenEditor」ボタンから、「ArborEditor」を開き
「AgentController」パラメータに敵キャラをアタッチして、各パラメータを入力します。

arbor_1_8
動かすと・・・

arbor_1_9

自動で徘徊するようになりました!
他の「Agent」である、「AgentFollow」「AgentEscape」も
対象設定する以外には同じパラメータなので、すぐ実装できました!

arbor_1_10

今後活用していきたいけど、使いどころとかまだよくわからないし
チュートリアルも少ないし、調べながら使っていこう。

■Unityメモ_SuperLevelOptimizerを試してみる

Assetの「SuperLevelOptimizer」を試してみようと思います!
こちらのアセットはSceneに配置された大量のオブジェクトを1つにまとめたり
ゾーン分けしてドローコールを減らすように出来るみたいですね。

とはいえ日本語資料もなさそうだし、本家のチュートリアルは英語だし・・・
動画見てわかるところを少し触る程度です。
また、無駄な手順や間違いもありそうです・・・

まずは結合したいオブジェクト以外を非アクティブにした後に
結合したオブジェクトを全選択して、Staticにチェックを入れるようです。

level_1_1
「Yes,change children」を押して、Static化!

次にメニューから「Tools」 → 「NGSTools」 → 「SuperLevelOptimizer」 → 「CreateOptimizer」
と選択して、専用オブジェクトを作成します。

level_1_2

作成した専用オブジェクトを選択すると
「Inspector」に「Optimize」というボタンが現れるので選択します。

level_1_3

処理が終わると、「Hierarchy」上に結合されたオブジェクトが作成されます。
この作られたオブジェクトだけの表示と、結合前のオブジェクトだけを表示した場合の
「Batches」を比較してみましょう。

level_1_4level_1_5

こちらは結合前のオブジェクト表示状態、「Batches」が「162」となっておりますが・・・

level_1_6level_1_7

こちらは結合後のオブジェクト表示状態、「Batches」が「13」となっており、
ドローコールが減少しておりますね!

代わりに「Saved by Batching」が102の増加となってますね。
この「Saved by Batching」がなにかを調べると、複数描画をまとめる機能のようで
今回の機能が働いていることがわかりますね・・・よかった!!

※参考資料
https://www.youtube.com/watch?v=M3b38qSAlZE&feature=youtu.be
https://www.youtube.com/watch?v=UOd4QmQes44&feature=youtu.be
https://www.youtube.com/watch?v=5ShWfQa3GME
https://www.youtube.com/watch?v=W0fqW4XtK2E
http://tsubakit1.hateblo.jp/entry/20130509/1368110060

■Unityメモ_Skele_part2

Skeleで少し躓いた箇所があったのでメモメモ

3Dモデルに武器を持たせるときに
よくボーンの手の子要素に武器のオブジェクトを入れることがあるかと思います。
skele_p2_1

この状態で「Skele」をからボーン編集が可能ですが、
ポーズをリセットするときに、この持たせた武器がでっかくなっちゃった!!
skele_p2_2

原因としては・・・単に武器オブジェクトの「Rig」設定が
初期値である「None」だった為でした・・
skele_p2_3

ボーンがないから大丈夫かなと思ってましたが・・・
「Generic」にすると正常になりました。
これからはしっかり設定しないと!
skele_p2_4

■Unityメモ_Skele_part1

HaxeFlixelを卒業して、Unityを本格的に開始!
そこで最近購入したAssetの「Skele: 動画工具セット」のメモを残していきます!

AssetStore Skele: 動画工具セット
skele_top

細かい機能について、
AssetStoreの説明やマニュアルがあるのでそれを参照するか、
youtubeのチュートリアル動画を見るとビジュアル的にわかりやすいですね。
簡単に言えばskeleは、Unity上で3Dモデルのボーンアニメーションや
頂点アニメーションなどが作成できます。
要は3Dモデルを自由に動かしてアニメが出来るということで!

そして使用するに当たって注意が必要なことが・・・
どうやらUnity5.3.4p1から不具合(後述)があり、
使用するには該当のバージョン以前が必要そうです。

今回使用するバージョンはこちら
Unity : 5.3.3f1
Skele : 1.9.6p2

3Dモデルとして、Voxelで作ったVoiceroidのゆかりさん達を使います!
voxel_voiceroid

とりあえず簡単にボーンアニメーション作成をメモ
編集メニューの詳しい使い方はこちらの方が解説して頂いているので
大変参考になります!本当にありがたいです!
「藍と淡々」
http://megumisoft.hatenablog.com/entry/2015/08/02/224008

1.SkeleをAssetStoreからインポートする
2.Projectフォルダから動かしたい3Dモデル(FBXなど)のInspectorから
下記のようにGenericに変更する
タブ「Rig」 → 「AnimationType」を「Generic」に変更 → 「Apply」ボタン
generic
3.Projectフォルダから3Dモデルをsceneに配置する
4.Projectフォルダにて、「Animator」を作って3Dモデルにアタッチする
5.UnityメニューからWindow → Animationを選択して
アニメーション画面を表示し、「Create」ボタンで新規作成する
6.配置した3Dモデル内の「Skinned Mesh Renderer」コンポーネントから
「StartEdit」を選択して、編集を開始する
skin
7.アニメーション画面から録画ボタンを選択し、録画を開始する
8.3Dモデルに表示されるボーンを「移動」「回転」「拡大」「縮小」で編集や
IKモードでキーフレームごとにアニメーションを作成します

適当ではありますが、アニメーション作成の様子を動画にしました
オラァ!て感じのパンチですが、10分もかからず作れます!

ちなみに先ほど「Unity5.3.4p1」以降を使用すると
例えば左回転させたはずが、
アニメを再生すると右回転になったりする不具合があります!

これを逐一修正するのは大変難儀します・・・
素直に前バージョンを使いつつ、Unity5.4で直ることを祈りましょう・・・
以上!
正直「藍と淡々」様のサイトのほうが詳しいです。
今後はもう少し踏み込んだメモが残せるといいかな。

■ゲーム開発メモ_音声編集方法

ゲーム開発していると欲しい音声ファイルがなかった時に、
元の音声ファイルを編集して、欲しい音声ファイルにすることがありました。
当時は「Audacity」を使用していたけど、他のツールもメモメモ

Audacity
⇒参考サイト Re:I 様

SoundEngine
⇒参考サイト soundengine.jp 様

Wave Editor
⇒参考サイト アシマネくんのほんわか日記 様

■ゲーム開発メモ_iOS/Androidアプリ用アイコン作成方法

作成したアプリをPlaystoreやAppstoreで公開する為に、
各機種の解像度に合わせたアイコンが必要となりますが、解像度毎に作成することは難儀です・・・
下記サイトは、一つのアイコン画像で各解像度に合わせたアイコンを生成してダウンロードできて
すっごく便利です!!本当にありがたや!

・iOS・Android アプリのアイコンの一括リサイズをやってます
http://araishi.com/icon-resize/

・App Icon Resizer
http://www.lifehacker.jp/2015/05/150509app_icon_resizer.html

■ゲーム開発メモ_ノーマライズ・音量均一化

ゲーム開発で音声ファイル(MP3/OGGなど)を使用するときに、
各音声ファイル自体の音量を一定にしないと再生された時に、
再生
音量がバラバラになるようですね。
そんなときに参考にさせて頂いた資料

オープンゲームシーカー様
http://opengameseeker.com/archives/2875

簡単な手順として
1.使用するツールをダウンロード
MP3Gain
xrecode II

2.xrecode IIで、使用する音声ファイルをすべてMP3に変換する ※元々MP3であれば必要
3.MP3Gainで、変換した音声ファイルを読み込む
4.目標音量部分を調整して、「トラックゲイン」ボタンを押すことで音量が変更される
5.音量変更された音声ファイルをxrecode IIで、元の拡張子に戻せばノーマライズ完了!