"自作ゲーム"カテゴリーの記事一覧
-
久しぶりにビルドしてみた後にエディタの挙動が
おかしくなった。
いや、正確にはおかしかったがビルドが通ってしまう
問題に遭遇した。これは1週間ほど悩んだがあまりに
初歩的なミスだということが分かった。
このエラー文は
「MissingComponentException: There is no 'Animator
' attached to the "Player" game object, but a script is trying to access it.」
グーグル先生によると「貴方がスクリプトから呼んでる
アニメーターっていうコンポーネント、そのオブジェクトに付いてないよ」
という内容みたいだ。
しかしビルド前は付いている。
ビルド後は付いていない。
それどころかスクリプトからのAddcomponentですら付かない。
う~む、参った。何気なくダメ元でオブジェクトの名前を
変えてみることにした。
あれ?
動いてる・・・
そうなのだ。原因は名前だったのだ。
ちょいとこれを見て欲しい。
Playerというオブジェクトが二つあるではないか。
しかも子オブジェクトなので大丈夫だと思っていたが
全く持って問答無用。
Findで名前を探すときは全てを探してしまうようだ。
そしてどちらにも微妙な挙動のままプログラムは動き、
ビルドさえしなければエディタ状では上手く動いているように
見えてしまう。ココが落とし穴だ。
初歩的とはいえ、ネットのどこにも乗っていないいや、
むしろ初歩的過ぎるが故に乗っていないミスなのかもしれない。
そこの貴方もビルド後に挙動がおかしくなったらFindしている
オブジェの名前が同じものが2つ以上あることを確認すると良い。
PR -
BlenderとUnityでのアニメーションのズレ発生。
Unityのメカニムで何故か人差し指と中指が逆に
読み込まれていた。
直してみると人差し指と中指が絡まるという
奇妙な現象が起こった。いじらないほうが良い
みたい。おかげでぐにゃぐにゃ。
ここら辺は後で何とかなるような気がするので
気持ち悪いが次に進む事にする。
とりあえず人型の腕を添える事で大分ゲーム感
が出てきた。良い感じ。
この様にBlenderでは正常だ。
Auto-RigProというアドオンを使っているので
それによる何かだとは思うが、原因はまだ分かっていない
以前もこのようなズレが起こった事がある。
かなり気になるが、そうも言ってられないので
次へ。次は薬莢の排出か着弾の処理あたりか。
う~む、どっちがいいか。
-
他のサイトで既に分かりやすい解説があるが、
自分用にこのブログに書き留めておく。
ブレンダーで設定をいじらずにFBX出力
をしてしまうとアニメーションやメッシュ
などもろもろが1つとなって出力される事に
なる。これは使いまわす側にしては不都合だ。
と言う事で簡単に別々に出力する方法を載せて
おく。設定は簡単だがファイル名にちょいと
細工しないといけない所が忘れそうだ。
「[ファイル] > [エクスポート] > [FBX(.fbx)] 」
3Dモデルのみ出力する方法(.fbx)
本来左下の出力オプションは大体このように
なっている筈だ。「選択したオブジェクト」は
私がチェックをはずし忘れたので本来は外され
ている。注意。
ココを3Dモデル(ボーン含む)のみの出力
にしたい場合はこうする↓
「アーマチュア」と「メッシュ」の2つだけを選択。
選択にはShiftキーを押しながら左クリックで複数
選択できる。
更に上の「アニメーション」タブを選択後、
「全アクション」のチェックを外す。
これによりアニメーションが外される。
後は出力するだけ。
こんな感じでUnity側で開くと
アニメーションはフォルダに含まれて居ない事が分かる。
アニメーションのみ出力する方法(.fbx)
次は「アーマチュア」のみを選択。
「選択したオブジェクト」はそのまま。
今度は「全アクション」にチェックを入れる。
設定自体はこれで完了だが、最後に出力ファイル
の名前に「@(アニメーション名)」を入れる決まり
がある。忘れがちなので覚えておこう。
例えばこの場合「Cube.fbx」というファイルにしたかった場合
「Cube@Good.fbx」と言う風にする事で正常に出力できるようだ。
追記:こちらはアニメをまとめないで1つずつ出力する方法に
使われるようなので@マークとアニメ名は要らないようだった。
恐らく1つずつの場合「全アクション」のチェックを外すと
上手くいく気がする。