「Unity」カテゴリーアーカイブ

UnityにFBXファイルを読み込む(1)

概要

FBXファイルを読み込み,アニメーションを分割し動作に応じた動きの設定をする

Unityへの読み込み

  1. Assets内にドラッグ&ドロップ(以下D&D)してmyFish.fbxを読み込む
  2. myFishを選択し,Inspectorに魚が表示されるので,再生ボタンを押し,アニメーションが読み込まれているか確認する
  3. 以前作成した魚のテクスチャをD&Dで読み込む.これでテクスチャが反映される(※テクスチャがうまく貼れていない場合はUVを設定する前のモデルを使っている可能性がある)
  4. InspectorModelのタブにあるScale Factorを10(10倍の大きさ)にし,Applyを押す
  5. Rigのタブを選択し,Root nodejoint1にし,Applyを押す
  6. Animationのタブを選択
  7. Clipsの下のスライドバーまたはテキストボックスで,魚がジャンプしはじめ,終わるまでの範囲を指定する.Startが3,Endが25くらいでいい.これで200フレームあったアニメーションの最初部分が分けられた
  8. Applyをクリックする
  9. 次にClipsの右下にある+ボタンを押す.Take001(1)またはTake 002が作成されるのでそれを選択する(名前を変更する場合は下の入力フィールドを使うこと)
  10. これで読み込んだ200フレームのアニメーションが,Take 001とTake 002に分けられた
  11. 魚の尾びれが1サイクルするアニメーションの範囲を指定する.(参考値Startは128,Endは166)
  12. 次にLoop Timeにチェックを入れ,Loop Poseにもチェックを入れる
  13. loop matchのランプがグリーンになっていることを確認する
  14. Root Transform RotationBased Upon(at Start)をOriginalにする.またRoot Transform PositionBased UponOriginalにする
  15. 同様にTake 001を選択し,Root Transform RotationBased Upon(at Start)をOriginalに,またRoot Transform PositionBased UponOriginalにする
  16. Fishの右矢印を開いて展開すると中にTake 001Take 002のアニメーション2種類ができているのを確認すること

つづく

MayaのFBX exporterが選択できない場合

MayaのFBX exporterが選択できない場合

Mayaにプラグインをロードすることで対処できる

  1. ウィンドウ>設定/プリファレンス>プラグインマネージャを選択する
  2. fbxmaya.dll のロード自動ロードにチェックをいれ,Mayaを再起動する
  3. fbxmayaがロード済みの状態

参考WEB

https://knowledge.autodesk.com/ja/support/maya/learn-explore/caas/CloudHelp/cloudhelp/2016/JPN/Maya/files/GUID-18A2CDD7-3334-4FC1-A1B3-A308AD331BB2-htm.html

Maya->Unity 2018版

概要

  • Unityに魚のアニメーションを取りこむ準備をする
  • 最初に,MayaのIKアニメーションをベイク(焼き付け)する
  • 次にUnity互換性のあるFBX(FilmBox)形式で書き出す
  • Unityはmaya形式のファイルにも対応しているが,FBXを使う事が多いので今回はFBX形式とする

書き出しの準備

  1. 最も上の階層のボーン(joint1)を選択する
  2. 次に編集>キー>シミュレーションのベイク処理>□を選択
  3. シミュレーションのベイク処理オプションが表示される
  4. 階層は下位を選択,コントロールポイント,シェイプ(今回シェイプアニメーションは使用していませんが,,)にチェックを入れ,適用を押す
  5. タイムラインに沢山のキーフレームが打たれる.IKやコンストレインアニメーションはそのままではUnityで使えないので,全て1フレ毎のキーフレームに変換される

FBX書き出し設定

  1. FBX形式で書き出す設定をする.ファイル>全て書き出し>□ を選択しオプションを表示させる.(通常は選択項目だけ書き出すが,こちらの方が簡単なので)
  2. オプションが表されるので,ファイルタイプをFBX exporterを選択,次にプリセットを編集を押す(FBX exporterが選択できないときはこちらを参考)
  3. プリセットをAutodesk Media & Entertaimentを選択
  4. ニメーションと組み込みメディア(これでMaterialを書き出される)にチェックが入っているか確認
  5. 設定を変えると,プリセットの部分がカスタムに変化するが気にしなくてよい(プリセットをカスタマイズしたからカスタムに変わる)
    閉じるを押し,プリセット編集を終わる
  6. 設定を保存して閉じる
  7. ファイル>全て書き出しを選択しファイル名を決め,ファイルの種類がFBX exporterになっているか確認し,すべて書き出しを押す
  8. コンストレイン系のエラーが出るがコンストレイン系はベイク済みなので気にしない
  9. ファイルが出力されたらひとまず完了

次へ

Mayaテクスチャマッピング3

魚のテクスチャを作成する

  1. 先週までに制作した魚にアニメーションをつけたファイルを開く
  2. 魚が変形していない場所で再生をとめる
  3. 魚のオブジェクトを選択する
  4. UV>自動(自動でUVを割り当ての意味)を選択
  5. UVが6方向から見た様子に分割されて作成される(操作はありません)
  6. UVエディタを開くと魚がUV展開されているのがわかる
  7. 魚を選択し,スナップショットを書き出す(選択していないと書き出せない)
  8. オリジナルの魚模様を作成してみること
  9. なお,オブジェクト側のフェースを選択するとUVエディタ側もハイライトされる.対応関係が分かるので手がかりにすること.
  10. これは悪い例

Mayaテクスチャマッピング2

マテリアルを作成しオブジェクトに割り当てる

  1. 椅子の木目を作成したことを思い出しながら,新しいマテリアルを作成する(参考
  2. 作成したマテリアルのカラーの右にあるチェッカーマークをクリック
  3. ファイルを選択する
  4. ファイルアトリビュートが開かれるので,フォルダボタンをクリックし,ファイルの場所を指定する
  5. 作成されたマテリアルを立方体にアサインする
  6. ビューのマテリアル表示モードをONにし,パースビューでテクスチャが反映される
  7. レンダリングするとこのようになる

 

(次へ

 

Unity入門-0ログイン編(2020)

※このステップ(Unity入門-0ログイン編)は一部環境下のみの設定です

※2020年にアップデート(ベースは2018年)

 

Unit Hubを起動する

インストールしている、Unityのバージョンを確認する。2019.3.10がインストールされていればよい。2019.3.15までは問題無く動作すると思います。

新規作成>▽>2019.3.10f1を選択し、指定のバージョンで作成する(※バージョンが違えば互換性が無い場合もあるので注意)※他の授業で違うバージョンを使用している場合はお知らせください。上位バージョンならそのまま使用、下位バージョンなら検討します。

テンプレートの画面が開きますので、3Dを選択、プロジェクト名に半角英数字で好きな名前を入れ、上位階層まで半角英数字の保存場所を選択し、作成ボタンを押します。

 

 

 

Unityをスタートする

  1. Sign in with googleを選択し,大学のアドレスを入力,いつもの入力画面になりますので,もう一度メールアドレス,パスワードを入力
  2. Project Nameは半角英数字で適宜設定すること
  3. Locationの…をクリックし保存先にUSBメモリ(またはSSD)の場所を選ぶ.あまりにもUSBメモリが遅くイライラする場合は,Dドライブに保存し終了時に自分のUSBメモリにバックアップを取るなどする.

次へ

 

 

 

アプリのビルドについて

概要

  • アプリを生成することを「ビルド」と呼ぶ
  • 一般に配布することを「リリース」と呼び、デベロッパ登録が必要になる
  • Google Play ConsoleGoogle Play)でのリリースは初回のみ25$必要
  • Apple Developperでのリリース毎年1万円前後必要(レートに合わせて改訂される)

Windows(またはMac)アプリを作成する場合

  1. File>Build Settings で使用するシーンを全て追加
  2. シーン間はボタンなどでジャンプできるとしても,最初に読み込むシーンは最上部に移動させる(ビルド順が0になるように)
  3. PlatformがPC,Mac & Linux StandAloneを選択
  4. Target PlatformでWindows(またはMacOSX)を選択
  5. Windowsの場合はArchitectureをx86_64(64bit版をターゲットにする場合)にする
  6. Buildボタンを押す

※Windowsの場合は,作成されたアプリとフォルダ両方が必用で同じ階層に入れておくこと

 

iOSの実機で動作確認

  • 自分が所有しているiPhoneやiPadにのみインストールする場合は以下のとおり
  • Windows→(Cloud Build使用)→ iPhone 有料※デベロッパ登録が必要
  • Mac→ iPhone 無料

iOSでのビルド方法へ

Android実機で動作確認

  • Windows→Android 無料
  • Mac→Android 無料

Androidのビルド方法へ

iOSで限定した人数に配布したい(リリースしない)

  • DeployGateを使うとリリースせずとも少数限定の機種にインストール可能(各デベロッパ登録が必要となり有料)
  • 新規利用希望者が出る度にビルドし直す必要がある(iOSのみ)

TPSキャラクターをタップした先に移動(2)

AIThirPersonContorollerを配置

  1. 次にステージ上にAIThirPersonContoroller(Asset内のStandardAssets>Characters>ThirdPersonCharacter>Prefab内にある)をPlane上にドロップする
  2. 次にMultiPuroposeCameraRig(Asset内のStandardAssets>Camera>Prefabsにある)をHierarchyにドロップする
  3. Hierarchyに入れたMultiPuroposeCameraRigを選択し,InspectorのTargetにAIThirPersonContorollerをドロップする(TargetがAIThirPersonContorollerになる)
  4. HierarchyにあるMainCameraを削除する
  5. 再生して確認してみる

Assetのダウンロード

  1. タップ移動用のキットをここからダウンロードし,UnityのImportPackage>CustomPackageで読み込む

TapMoveAssetの使用

  1. Asset内にTapMoveフォルダが作成されているので,その中のredCircleを選択する
  2. (この項目は設定済みの場合は飛ばしてください)InspectorでAlpha Source(アルファ=透明チャンネルのこと)でInput Texture Alphaを選択し,Applyをクリックする.これでテクスチャの透明が使用できるようになる
  3. HierarchyのAIThirPersonContorollerにTapMoveフォルダ何のtapMove.csを追加する
  4. 追加されたスクリプトのCirclePreにCirclePrefabをアサインし,RayLengthに10〜50の数字を入力する
  5. ゲームを再生し確認すること

参考動画

もどる

TPSキャラクターをタップした先に移動(1)

ワークフロー

  1. AIの利用について
  2. TPSのAIつきキャラクターを配置する
  3. マルチカメラを配置し,ターゲットにTPSのキャラクターを設定する
  4. MainCameraを削除する
  5. カスタムパッケージを読み込む
  6. tapMoveスクリプトをAIThiredPersonControllerにアサインする

という流れです

AIの利用について

  • ここでいう「AI」は最近流行の機械学習などではなく,経路探索アルゴリズムA*を利用する
  • UnityではAIの歩行可能な場所とそうでない場所とを判定させるNavMeshという機能を用いる

NavMeshの設定について

  1. NavMeshの理解のために,テストシーンを作成し確認してみる
  2. まずPlaneを配置し,その上にCubeなどを障害物として置く
  3. Window>Navigation を選択しNavigationの設定を呼び出す
  4. Planeを選択し,次にNavigationのObjectタブを選択し,Navigation Staticにチェックを入れ,Navigation AreaはWalkableにする
  5. この設定は,このPlaneが歩行可能にするという意味
  6. 次に障害物(Cubeなど)を選択し,Navigation Staticにチェックを入れ,Navigation AreaはNot Walkableにする
  7. これでCubeは歩けないエリアとなる
  8. 全てのオブジェクトの設定が終わったら,NavigationBakeのタブを選択し,Bakeボタンをクリックする
  9. これでNavMeshの準備は完了

(次:AIキャラクターを配置

 

NCMBに座標を送る

急ぎなのでメモ ボタンで追加できる

	public void addBtn(){

		NCMBObject posObj = new NCMBObject ("posObj");

		//DicAdd test
		posObj .Add("x", "3.2");
		posObj .Add("y", "1.0");
		posObj .Add("z", "0.2");
		posObj.SaveAsync ((NCMBException e) => {      
			if (e != null) {
				//エラー処理
			} else {
				//成功時の処理
			}
		});
			}