Pc-Trace

<< 2024年11月 >>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30






Pc-Trace
PC-Trace

Unity - 2016年2月の記事
02/26(金)
画像ファイルがあります 添付ファイルがあります
02/26(金)
画像ファイルがあります 添付ファイルはありません
02/24(水)
画像ファイルがあります 添付ファイルがあります
02/22(月)
画像ファイルがあります 添付ファイルはありません
02/12(金)
画像ファイルがあります 添付ファイルがあります
02/06(土)
画像ファイルがあります 添付ファイルはありません
>>このカテゴリーの記事一覧

「NavMesh」について3

「NavMesh」を立体モデルで実行した場合。
SketchUpで簡単なモデルを作成し、前回と同じ手順で設定。




設定画面

添付ファイル 添付ファイル


「NavMesh」について2

「NavMesh」について少し興味が湧いたところで、3D Warehouseから迷路のモデルをお借りし、目的地までの最短ルートを自動で探索して移動出来るかそのアルゴリズムを確かめてみた。

移動先はマウスによるクリックポイント。結果は動画の通り興味深いものとなった。
ビル内や道路などのルート検索など、他にも幅広く活用できるそうである。


【BAKEしたNavMeshの様子】


【経路探索について:Unityマニュアルより抜粋】
シーン中の 2 点間を結ぶ経路を探索するには、出発地点と目的地点をそれぞれの地点にもっとも近いポリゴンにマッピングする必要があります。次に、出発地点から検索を始め、目的地点ポリゴンに到達するまで近傍ポリゴンを進んでいきます。この際の経路を追跡することで、出発地点から目的地点までを結ぶルートが発見されます。探索に使用される主要なアルゴリズムには A*(A-star)と呼ばれるものがあり、Unity ではこれを採用しています。



「NavMesh」について

Unity公式サイトのマニュアルから。
http://docs.unity3d.com/ja/current/Manual/nav-NavigationSystem.html
色々活用出来そうだが、意味を理解するには時間が掛かりそう。

使い方の手順を理解するため、簡単なモデルを作成し、実行してみた。


手順

(1) 「Plane」をグランド代わりに、Rootに見立てる「Cube」を2個配置し、スケールで引き伸ばした後、片方を90度回転。
(2) Unityのメニューから、「Window」→「Navigation」をたどり、Navigationの設定画面を表示。
(3) とりあえず全てのオブジェクトをまとめて「Static」に指定。
(4) navigationのタブを選択し、「Bake」ボタンをクリック。
(5) ゴール(移動先)と、「Agent」に設定するオブジェクトを作成し、簡単なスクリプトをアタッチ。
※「Agent」は、メニューの「Component」→「Navigation」→「Nav Mesh Agent」で指定。
ゴールを指定するスクリプト(”MoveTo”)は、
http://docs.unity3d.com/ja/current/Manual/nav-CreateNavMeshAgent.html
をコピーして「Agent」にアタッチ。
面倒な人は、下の添付ファイルを利用しても同じ。

大まかには上の手順に従い、3つのゴールを作成して動かしてみた。

添付ファイル 添付ファイル


Standard Shader 練習1



モデルの質感を「Unity」だけで表現出来るようになるには遠く及ばないと思いつつ、簡単なものから。

上の、「Youtub」eの動画から、たった二つに絞って練習してみた。
写り込みの無い条件下でもそれなりの質感を得られる事が分かった。

【メタリック】


【スペキュラー】



「Configurable Joint」+「DragRigidbody.cs」で、3枚・引き違い戸

扉が一枚増えるだけで異なる設定になる、「DragRigidbody.cs」と、「Configurable Joint」を利用した3枚引き違い戸。



それぞれの扉の「Configurable Joint」の設定値。

【一枚目の設定】


【二枚目の設定】


【三枚目の設定】


固定した場合



「Configurable Joint」+「DragRigidbody.cs」で、引き違い戸

「Physics」の、「Configurable Joint」を使った”引き違い戸”の作成。
マウスドラッグで開閉させたいので、今回は「DragRigidbody.cs」を「Plane」にアタッチ。

【マウス操作による扉の動き動画】




【扉一枚目の設定】




【扉二枚目の設定】




【作業画面】



「Hinji Jyoint」+「DragRigidbody.cs」で、観音扉

「DragRigidbody.cs」を使った具体的な例として映画館で見るような観音扉を作ってみた。

マウスでドラッグし、開く角度や、開いた扉を好きな位置で停止する事ができる。
開いたまま停止した扉は次のマウスクリックで元の位置に閉じる。

【※動画はマウス非表示】


Cubeで、1m×2m×10cmの扉を作成。
次に「Physics」→「Hinji Jyoint」で、一枚目の扉に軸を設定し、”Cube1”に名前を変更。

【Transform】


【HingeJyoint】


続いて”Cube1”上で右クリックし、「Duplicate」を選択し、二枚目の扉を用意。
スケール”X”に”-1”を設定して、扉を反転しておく。
続いて”Cube2”に名前を変更し、「Hinge Jyoint」を下図のように設定する。

【Transform】


【HingeJyoint】


アタッチする「DragRigidbody.cs」用に新しい「GameObject」を作成し、とりあえず「RB」に名前を変更(どんな名前でも)してスクリプトをドロップして完了。

【作業画面全体】


※「Auto Configure Connected Anchor」にチェックを入れる事で、観音扉を移動した際の軸ズレを防ぐ事ができる。

Manualによる説明
有効の場合、接続されたアンカーの位置が、アンカーのプロパティにあるグローバルポジションと一致するように、自動的に計算されます。これは、デフォルトの挙動です。無効にした場合、接続されたアンカーの位置を、手動で調整する事ができます



DragRigidbody 覚え書き

標準Assetsのスクリプトに含まれる「DragRigidbody.cs」の覚え書き。
今回はスクリプトを「Main Camera」にアタッチ。

忘れがちな注意点は、オブジェクトに、「Inspector」の、「AddComponent」から、「Physics」の「Rigidbody」を適用しておく事。






※ 添付ファイルは作業実寸大の”mp4”動画ファイル
添付ファイル 添付ファイル


Hinji Jyoint で折れ戸のシミュレーション

iTweenによる折れ戸(内開き)のテーマに触れた際、Unity実装の「Hinji Jyoint」にも置換えてやってみた。

開く角度や動く早さは設定で自由にできる。
”Connected Body”に、二枚目の扉を一枚目に抱かせる格好で設定。







複雑な動きをコントロールできる「SplineController」

使い方は難しそうだが、デモ画面だけでも「SplineController」機能の高さが窺える。(以下のサイトよりダウンロードできる。)
http://wiki.unity3d.com/index.php?title=Spline_Controller

豊富な機能ゆえ、使いこなすにはかなりの努力が必要。


【SplineControllerのサンプル設定画面】



iTweenMultiPath

複雑で長いパスを構成できる、freeの ”iTweenMultiPath”。
https://www.assetstore.unity3d.com/jp/content/13025

下は、”iTweenMultiPath”に含まれていた”グランドキャニオン”のサンプル動画。
長大なパスが扱えるため、様々なシーンで活用できそうである。


パス設定の様子が良く分かるサンプルデータ。



「Unity with VOCALOID」無償公開

【記事本文より】
ヤマハは、ユニティ・テクノロジーズ・ジャパンのゲームエンジン「Unity」上で、VOCALOIDの歌声を使ったコンテンツが制作できるソフトウェア開発キット「VOCALOID SDK for Unity」を12月22日より提供開始した。



なお、「VOCALOID SDK for Unity」と「Unityランタイム版VOCALOID Library unity-chan!」は、制作されるコンテンツが「ユニティちゃんライセンス条項」に準拠すれば無償で利用できる。

 VOCALOID SDK for Unityには、Windows 7/8/10、Mac OS X 10.10/10.11、iOS 8.4/9.1 上で動作するマルチプラットフォーム対応の歌声合成エンジンを組み込んでいる。歌声合成エンジンは、様々なコンテンツで軽快に動作するよう最適化され、コンテンツ内での機敏なレスポンスとコンテンツの軽量化の両立を実現したという。将来バージョンではAndroidへの対応も予定している。

 歌声合成エンジンは、プラットフォームごとのネイティブプラグインとして提供。C#のインターフェイスを介して歌声合成エンジンを利用できる・・

いまだに XP を利用している者にとっては無縁だが、さてさて・・。

完全に方向は異なるが、「Unity」絡みでもう一つ
http://tips.hecomi.com/entry/20131208/1386514048

着眼点も技術も・・・すごい!