気づけばツール漬け

3D,2Dのツールを色々使ってみた記録を書いていきたいです。

「グレイちゃんきをつけて」制作メモ

 

f:id:mi-zmix:20170505233748p:plain

第7回UE4ぷちコン応募作の「グレイちゃんきをつけて」の制作記録メモです。

ぷちコンからだいぶ時間がたってしまいましたが、せっかく「金澤賞」いただけたのだし、やはりまとめておいた方がイイかと思いまして。

 

応募の動画URL

https://youtu.be/LWozCX3s2hE

アップしたパッケージURL

リンクは削除しました。

 

●内容

  • ●はじめに
  • ●必要最低限を洗い出す
  • ●ロジックから考え始める
  • ●実装
  • ●アニメーションと合わせる
  • ●エフェクトとSE
  • ●敵の配置について
  • ●パッケージ化で苦労する
  • ●おわりに

 

●はじめに

テーマのサプライズを辞書でしらべると、「不意打ち」というのが目に入ったので、コレで何かできないかな~と考えました。できあがったものを見直してみると、不意打ちとは少し違うかなという感じもありますが、いきなりでびっくりする部分はあるからいいかなと。

他にも3、4個考えましたが、自分の実力では無理なので諦めました。

 

とにかく時間がないので、

「極め本で学んだ範囲+ちょっと挑戦」

という目標でやってみました。

とりあえず、ゲームの形を思いついたと同時に、敵はグレイマン、プレイヤーはグレイちゃんと決めました。

せっかくのUE4だし。かわいいし。

グレイちゃんはこちら。

www.gray-chan.com

 

●必要最低限を洗い出す

妄想にまかせたまますすめると、とても自分の力では実現できそうもなく、時間切れでできなくて悔しい思いをするのはいやなので、必要最低限をやろうと決めました。

 

「これがないと成り立たない」「コレがあれば成立する」という部分をメモしていきました。

「グレイちゃんきをつけて」の最低限の仕様は

・グレイちゃんは同じ速度でまっすぐ歩き、コースは変わらない。マップの端まで到達したらゴールとする。

・敵は固定で配置する。敵ごとに、攻撃かフェイントかをランダムに設定する。

・敵はグレイちゃんが近づくと、グレイちゃんの方を見る。

・グレイちゃんを見つつ、ランダムな時間をあけて、攻撃またはフェイントをする。

・グレイちゃんはActionボタンでいつでもガードの動作をする。ガード中は移動しない。

・ガードの受付時間内に敵の攻撃をうければ、ガード成功として反撃を出す。

・ガードの受付時間内に攻撃を受けなかったら、ガード失敗とする。

・ガードせずに、敵の攻撃を受けてしまったら、負けとしてやられモーションする。

・その後一定時間で立ち直り、再びあるく。

という内容です。

 

プロトタイプはこんな感じでした。

f:id:mi-zmix:20170505205819p:plain

 

続きを読む

サンタこはくちゃんズでの失敗の記録

この記事はUnity 2 Advent Calendar 2016 その2  の13日目の記事になります。

 

12日目は、fumishitanさんの「帰れま10というUnityワークショップでの出題内容とその出題意図について - Qiita」でした。

 

■はじめに

先月末にSDユニティちゃんモデルを改造して、サンタ服を公開しました。

http://mi-zmix.hatenablog.com/entry/2016/11/26/200446


その作業のなかで、Unityにインポートした時ミスしておかしくなってしまった様子と、どのように解決したかを書いてみます。

おかしくなった原因はDCCツールで作成したデータのせいです。Unityはまったくわるくありません。

 

■概要

1、モデルが異型の何かになってしまった。

2、口の周りに何かついている。

3、お顔がはずれた。

この3つの異常について書きます。

 

■1、モデルが異型の何かになってしまった

はい。

f:id:mi-zmix:20161201233950p:plain

かろうじてユニティちゃんのような形をしてます。実行するとアニメーションは動きます。怖いです。

骨の形は無事なので、ゆれ物用の設定はそのまま生きています。

f:id:mi-zmix:20161201234312p:plain

モデルを初インポートした時ではなく、一度インポートしてプレハブ化してあるモデルのファイルを、エクスプローラー上で上書き更新した後に、こうなりました。ゆれ物設定を最初からやりなおすのはいやだったので、上書きで更新してたのですが、こんな状態になってしまいまして。

原因は、モデルのスケールがおかしくなっていたからです。

スケールファクターや、インスペクター上の値ではなく、DCCツール上のモデルのスケールです。

 

インスペークターで見ると正常ですが、実はこれスケールがものすごく小さくて、100分の1になってます。

f:id:mi-zmix:20161201234403p:plain

プレハブではなくモデルをシーンに表示すると何も出てこない状態で、データが壊れていると思い込んでしまったのですが、実は小さく表示されていました。

●リグ設定で正常に見えるけど

メカニムのRig > config の設定で、強制的にリセットし、Enforce T-poseすると正常に見えてしまうのですが、これはこれでおかしい状態をさらにおかしくしてるので、やってはいけません。

f:id:mi-zmix:20161201234529p:plain

 

●DCCツールでの確認ミス

一番最初にインポートしたモデルはスケールに問題がなかったので、そのままスムーズに設定できました。なぜ、スケールが変わるような問題が出てしまったかというと、モデルを修正したとき、MayaLTから別のDCCツールのMODOに持っていって修正作業をしたためです。

UVの修正をしたかったのですが、MayaLTよりはMODOの方がやりやすいので、そちらを使ったのです。

MODOがわるいわけではなく、スケールの単位の統一をしていなかった自分のミスです。

このへんは、ほんとに注意しないとだめですね。

MODOのFBXまわりは10.2なら、問題が少なくけっこう安定しています。

MODOで開くと下図のような感じです。

ジョイントの構造など、ちゃんと読み込めています。見た目はビューアのセッティング次第ですが。

f:id:mi-zmix:20161210145052p:plain

 

MayaLTからFBXで書き出してmodoに読み込み、修正作業後にFBXで書き出して、MayaLTに戻しました。ここでスケールがおかしくなっていました。

MayaLTは2017、MODOは10.2v1を使いました。

 

ルートのロケーターをよく見れば、スケールが100倍になってます……これに気づきませんでした。表示しておけば、異様な大きさに気づくと思うのですが、普段非表示にしてるので見落としてました。

f:id:mi-zmix:20161201234748p:plain

 

ロケーターやNURBUSカーブなど、オブジェクトは邪魔でも一度は全表示状態にして確認しておくようにした方がいいですね……

100倍になっていたのを、フリーズすれば1になるよね? ということでやってみましたが、そう簡単にはできません。

スキニングの設定など全部外さないと無理で、その状態にしてしまったら、完全にやりなおしにはならないにしても、かなりの修正が発生しそうなので断念しました。

こんなエラーが出ます。

f:id:mi-zmix:20161201235050p:plain

もちろん、スケールのフリーズをせずに、強引に「1」に設定するのもだめです。

こんなんなります。

f:id:mi-zmix:20161201234842p:plain

●解決

とりあえずスケール以外は正常なので、FBXの書き出し時に単位を変えることで解決しました。

FBXのエキスポートで「高度な設定」を開きます。「単位」の項目を探し設定します。

デフォルトでは、自動にチェックが入っているので、それを外し、

変換先のファイル単位:を、メートルにします。自動的にスケール係数が0,01になりました。スケール係数を0.01にしたいので、それに該当する単位を探したといったほうがいいかも。

f:id:mi-zmix:20161201235314p:plain

根本的には解決になっていませんが、Unity上でスケールファクターが1、それぞれのメッシュのスケールが1になれば、大丈夫なのです。(たぶん)

スケールファクターが1になりましたが、File Scaleも1になってます。
元のSDユニティちゃんは、FileScaleが0.01なのです。これが原因で不具合がでないといいのですが……

f:id:mi-zmix:20161201235510p:plain

 

■2、口のまわりに何かついている

スケールが正常になって、だいたい無事に表示されたユニティちゃんですが、

口の周りがなにかおかしい。

 

f:id:mi-zmix:20161202003852p:plain

たらこ(´・ω・`)? 

 

口の周りにシェーダのアウトラインがはみでてるのかな? と思いましたが特にそんなこともなく、よく見るとテクスチャのような感じ。

口のUVがずれたか? と思い、確認してみましたが、UVは特に問題なし。

 

これは嫌な予感がします。

ゆうこちゃんにいたっては、変な吹き出しのようになってるし……わざわざこんなUV展開しません。

頂点の並び順がずれてるときに見られる感じに似ている気もします。

f:id:mi-zmix:20161202003921p:plain

 

メッシュがおかしいなら、Importの設定の、Optimaize Meshのチェックを外してみるかと思って試しましたが、変化ありませんでした。

f:id:mi-zmix:20161208215044p:plain

●モデルのインポートの設定で法線を変える

もうわからないので、インポートまわりでさわれるところは片っ端からさわって確かめてみました。

そんな中ようやく変化が見られる設定がありました。

インポート設定の、法線と接線のところです。

Normalsの設定を、Importではなく、Calculateにします。

f:id:mi-zmix:20161202004043p:plain

変な線は消えました。

けど、何かおかしい見え方をしています。法線の方向が口のまわりだけ変わっているようです。

ちょっとだけ光のアタリ方がおかしい感じです。3人共おなじでした。

f:id:mi-zmix:20161202233545g:plain

●解決

法線ならば、MayaLTで調整です。

MayaLT上での見た目は問題なさそうに見えるのですが、とりあえず法線の「ロックを解除」し、いったん「フェイスに設定」してから、「法線角度の設定」から再設定します。

フェイスに設定でいったんフラットシェーディングにするのは、自分がよくやる手順で、一度スッキリリセットさせておく方がよいと思っているだけのおまじないみたいなものです。このひと手間は必要ないかもしれません。やっておかないと、なんかスッキリしないという気持ちの問題です。

角度が89度なのは、90度に満たない値にしておくことで、90度以上の角度が確実にハードエッジになるためです。

f:id:mi-zmix:20161204114954p:plain

「デフォーマー以外のヒストリの削除」も忘れないようにします。

SDユニティちゃんは、特に特殊な法線の設定がされているようには見えなかったので、素直にリセットするような形で設定してみました。勘違いだったらすいません。

ねんのため、ブレンドシェイプ用のメッシュも確認してみます。

 

これはひどい

f:id:mi-zmix:20161202233652p:plain

法線が崩れていますね。

コレが原因だったのだろうか? 

これも、法線を再設定して正常にしておきます。こちらは、頂点の位置が正常になれば良いので、「法線のロックの解除」のみ実行しておきます。

修正が終わったら、ブレンドシェイプ用のメッシュは全部非表示にしておきます。

f:id:mi-zmix:20161202233730p:plain

法線を修正し終わって、あらためてエキスポートしてみます。

上書き更新してUnityで見てみると、線とおかしな光が消えました。

f:id:mi-zmix:20161208221401p:plain


Unity側のFBXインポートの法線設定は、Importに戻しておきます。

 

テクスチャに影響が出ていた部分が、法線の修正で正常になるのはなんだか不思議なのですが、根本的原因は不明です。すいません。

 

■3、お顔がはずれた

変な線がきえたので、あらためて実行してチェックしてみたところ……

f:id:mi-zmix:20161202004339p:plain

 

これは、表情を変えていたり、まばたきのときにおかしくなるので、ブレンドシェイプ用のメッシュがおかしいのでしょう。たぶん、フェイスの法線を変更したので、ブレンドシェイプの設定が更新されてしまったのだろうと思います。(推測)

一度、ブレンドシェイプ名が変わってしまい、名前を修正するという変更もしていたので、その時に変わった可能性もあります。

●解決

ブレンドシェイプ用のメッシュは100分の1の状態のままだったので、100倍に設定しておきます。

ルートの階層とは別にあるメッシュなので、スケールのフリーズはせずそのままにします。書き出し時に0.01倍されるはずなので。

MayaLT上のシーンでは、下図の位置にあるのが正しいです。

f:id:mi-zmix:20161202004424p:plain

 

メッシュを非表示にして、書き出し直します。

表情も無事に動きました。

f:id:mi-zmix:20161202004542p:plain

めでたし。

 

■おわりに

モデルのスケールは、最初に仕様をきっちりきめて、絶対に守り抜かないとなりません。

ほんとに気をつけましょう、オレ。

これらは、最初のスケールの異常から、連鎖的に発生した問題という感じでした。

複数のツール上の単位系をできるだけ合わせて、FBXのエキスポート時にスケールの設定を統一するってのを徹底しましょう、オレ。

 

以上、「サンタこはくちゃんズでの失敗の記録」でした。

 

明日は、sei ozwさんです。

 

 

 
 
 

サンタこはくちゃんズ(SD)

f:id:mi-zmix:20161126190554p:plain

■はじめに

だいぶご無沙汰しております。

1年なにしてたの? ってのはスルーして、

クリスマスも近いので、サンタのコスチュームを作成しました。

今度は、SDユニティちゃんで。

 

f:id:mi-zmix:20161126190655p:plain

■概要

SD_KohakuChanzをベースにして改造しています。

サンタ服は使いまわしていますが、頭部のアクセサリーで違いを出してみました。

SDこはくちゃんズに含まれている、アニメーションやフェイスのアニメーションは全て動くと思います。

ユニティちゃんシェーダを適用済みです。

ゆれものも設定してあります。

■データダウンロード

unity5.4.1f1でパッケージにしました。

 

パッケージをインポートするときは、

SD_KohakuChanzがインポートされているプロジェクトに、追加(上書き)でインポートしてください。

だぶっているデータはインポートされないので大丈夫です。

先にサンタの方をインポートしてしまうと、シェーダが適用されず、モデルがピンク色になるかもしれません。

 

この作品はユニティちゃんライセンス条項の元に提供されています

 

drive.google.com

SD_KohakuChanzがインポート済みのProjectへインポートすることをおすすめします。

SD_KohakuChanzは、unitychan公式サイトからダウンロードできます。

●2018/12/07追記
※このアセットの利用者が独自に最適化して「VRチャット」で使用することは制限しません。
※改変することも問題ないです。
※ユニティちゃんライセンスで許可されている範囲内でお願いします。

続きを読む

UNIのポリゴン減らしました

■概要

UNIのモデルのポリゴン数を減らしたモデルを作りました。
Hi、Mid、Low の3種類。

f:id:mi-zmix:20150419230534p:plain

■内容について

Hiは、以前のものと変わってません。
パッケージに、Midと、Lowのモデルとプレハブを追加しました。*1
animatorと、animファイルは使い回しです。

ver1.1として別パッケージにしました。
前回のモデル分(Hiモデル)は変わっていないので、上書きしても大丈夫だとは思いますが、別ものとしてインポートされるのが良いかもしれません。

 ■データダウンロード

ユニティちゃんライセンス

このアセットは、『ユニティちゃんライセンス』で提供されています。このアセットをご利用される場合は、『キャラクター利用のガイドライン』も併せてご確認ください。

 ■uni_model ver1.1 : unitypackageダウンロード

 ■uni_model_for5 ver1.1: unitypackageダウンロード

リンクは削除しました。

Unity5用は、animatorのトランジションの設定しなおしのみの変更です。

 

■前回のデータは、こちら

mi-zmix.hatenablog.com

 

*1:LOD Groupは設定していません

続きを読む

UNI作ってみた

 

f:id:mi-zmix:20150329182759p:plain

■ごぶさたしております。
このたび、芹沢えののさん「ゆによん」でおなじみの、UNIをモデル化してみました。

このアセットでは、Unityちゃんのアセットに含まれる、テクスチャ、シェーダー、スクリプトなど流用しました。このため、ガイドラインに従って、Unityちゃんライセンスのフォルダも、パッケージに含めています。

アニメーションや、ブレンドシェイプ(表情)の設定は、unity4.6.4で行い、パッケージ化しました。

unity5では、Animatorのトランジションが切れていたりしたので、
念のため、unity5でパッケージ化したものも用意しました。*1

 

ユニティちゃんライセンス

このアセットは、『ユニティちゃんライセンス』で提供されています。このアセットをご利用される場合は、『キャラクター利用のガイドライン』も併せてご確認ください。

 ※リンク先を更新したパッケージに変更しました。

 ■uni_model : unitypackageダウンロード

 ■uni_model_for5: unitypackageダウンロード
リンクは削除しました。

unityちゃん、SD_unityちゃんと一緒に使っても問題はないと思います。

*1:Animatorのトランジションの部分だけ変更しました。

続きを読む

ゆかたユニティちゃん更新

 あけましておめでとうございます。
本年もよろしくお願いいたしますm(_ _)m 

f:id:mi-zmix:20150103175836p:plain

■ゆかたユニティちゃんを更新しました。

  • 揺れもののコライダ設定をしました。(ミスを修正)
  • 瞳用のロケーターを仕込みました。

 

今回のunityパッケージは、ver1.1として別の物にしました。

差分にはなっていないので、旧ゆかたユニティちゃんがインポートされているプロジェクトに上書きすると、不具合が生じるかも知れません
お手数おかけしますが、新たにインポートしなおしていただけると問題が無いかと思います。

 

ユニティちゃんライセンス

このアセットは、『ユニティちゃんライセンス』で提供されています。このアセットをご利用される場合は、『キャラクター利用のガイドライン』も併せてご確認ください。

 

■ゆかたユニティちゃんver1.1:unitypackage ダウンロード
リンクは削除しました。

必ず、本家unitychanがインポート済みのProjectへインポートしてください。
unitychanのアセットを流用するようにパッケージしています。本家unitychanは公式サイト

UNITY-CHAN!

または、unityのAssetStoreからどうぞ。

 

続きを読む

瞳用のロケータを仕込みました

f:id:mi-zmix:20141115214928p:plain

■ユニティちゃんの両目にロケータを入れました

こちらの解説にそって、制服ユニティちゃんの両目にロケータを配置してみました。

Making of ユニティちゃんステージデモ in ComicMarket 86

 

今回のunityパッケージは、ver1.1として別の物にしました。

IK(視線)のテストに使ったスクリプトやアセットは含めていません。*1
差分にはなっていないので、旧制服ユニティちゃんがインポートされているプロジェクトに上書きすると、不具合が生じるかも知れません
お手数おかけしますが、新たにインポートしなおしていただけると問題が無いかと思います。

 

ユニティちゃんライセンス

このアセットは、『ユニティちゃんライセンス』で提供されています。このアセットをご利用される場合は、『キャラクター利用のガイドライン』も併せてご確認ください。


■制服ユニティちゃんver1.1:unitypackage ダウンロード
リンクは削除しました。

必ず、本家unitychanがインポート済みのProjectへインポートしてください。
unitychanのアセットを流用するようにパッケージしています。本家unitychanは公式サイト

UNITY-CHAN!

または、unityのAssetStoreからどうぞ。

 

*1:ライセンスややっこしくなるでしょうし

続きを読む