妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

UE4.21では標準でIKが使えるらしい?

forums.unrealengine.com

「ディスプレイが届いたから色々調整してたりしてたあいだに、4.21のpreview版が出てた」

妹「今回のはなにかいいことが」

「ぱっと見た感じではよくわからなかったけど、」

www.youtube.com

www.youtube.com

「実行中にIKを使って、思った位置に指をやるというのが出来るようになってるっぽい。今まではAllRightRigとか、なにかしらのプラグインを使うか、自分で関節の位置計算しないと駄目だったんだけど」

妹「ちょっとズレたところからでも指押せるようになってるね」

「これをIK無しでやるのはむずかしい。ボタンを押そうとしたら所定の位置と向きにワープして、その状態でアニメを再生するとか。あとは多少ズレててもそのまま無視する方式というのもある」

妹「はしごとかで、ちゃんと手がつかめてないやつは見たことある」

「リアルタイムでアクションするやつだとワープ方式は使いにくいから、IKが無理な場合はズレたままにする方が、見た目はともかく遊びやすいんだと思う」

妹「これがあるとAllRightRigというのは要らなくなるの?」

「要らないというほどではないと思うけど。これだけでアニメーション全部作るって感じのものではないし。ただ、簡単にできるらしいし、標準装備だから使いやすい」

妹「じゃあ、空中のとんびが、油揚げを正確につまめるようにするとかもIKなの?」

「それもIKが要りそうな気がするね」

www.reddit.com

「ただ具体的にどうやるのかはよくわかってない。この記事を見るとアニメーションブループリントにCCDIKっていうノードを使ってるみたいだけど。IKにも色々あって、CCDというのはその方式の名前らしい」
「これを見た感じだと、アニメーションブループリントを使ってるみたいなんだけど、そのへんはよくわかってない。」

液晶ディスプレイがこわれた

「こわれました」

妹「こ、こわれちゃったらどうなるの?」

「画面うつらない。真っ暗。でもパソコンは動いてる」

妹「液タブは?」

「それはついてる。けど、これ1台で済ませるようのやつじゃないからね。長時間見てるのにはちょっとつらいし」

妹「そういう場合はどうしたら」

「まあ、ケーブルの差し直しとか、別のケーブルを使ってつなぐとかで、そもそも故障じゃない説をさぐることになるけど、今回はそれでも動かず、しまいにはディスプレイのへんからプシューという音がしたので」

妹「えええ……」

「これはもう完全に寿命だという結論になった。そしてもう何年も使ってるやつだから保証期間はとっくにすぎてる」

妹「買うしかないのか」

「そうなんだけど、問題はそれが届くまで。液タブとか予備のディスプレイがあれば、それを使えるけど、実は家のテレビもディスプレイとして使えたりする」

妹「テレビなのに?」

HDMIケーブルでつながるから。プレステとかSwitchとかのゲーム機と同じで。外部入力としてパソコンの画面もうつる。ただパソコンの画面みたいに近い距離で見ることはあんまり想定されてないし、作業用には不向きなんだけど。逆にパソコン用のでゲームをやることもできる」

妹「でもそれだと逆にゲームをやるのに向いてない画面だったり?」

「そういう場合もある。今回は位置的にパソコンを動かすのもテレビを動かすのも大変だからやらないけど、緊急事態ではそういう手もある。あとはまあ、別のパソコンで使ってる画面を持ってくるとか。ところで、そこのパソコン使ってる?」

妹「あ、これはもっていっちゃ駄目」

AllRight Rig 2.0の動作確認(2) 手足の伸びと、リグの選択ミスについて

imoue.hatenablog.com

「思ったとおりに動かなくて調査が難航してたんだけど、だいぶ動かし方がわかってきた」

f:id:una_unagi:20181010002751p:plain

だいぶ動かし方をわかられた状態のグレーマン

f:id:una_unagi:20181010002805p:plain

実行時にはリグの表示消えるけど、存在はしてるっぽい

手足を伸ばすかどうか

f:id:una_unagi:20181010002928p:plain
Allow Streching = true

f:id:una_unagi:20181010002935p:plain
Allow Streching = false

「デフォルトだと手足の部分にはインバースキネマティクス(IK)が設定されてるから、手首を動かすと、肩や肘も適当な位置に移動してくれるようになってる」

妹「IKじゃないとどうなるの?」

「肩と肘と腕と、それぞれを回転させて、いい感じの場所になるまで試すしかなくなる。例えばドアノブをつかむアニメを作りたい時に、ドアノブのとこに手を置けばいいのと、ドアノブのとこに手がいくように肩や肘を動かすのとでは難易度が違う。ただ、その位置が手の届く範囲なら肘を曲げればいいけど、手の届かないところが指定された時が問題。で、デフォルトだと上の写真のように腕が伸びてしまった」

妹「伸びなくもできるんだ」

「設定を変えると、手が届く範囲ギリギリまでは伸ばして、あとは諦めるようになる。これは両手足それぞれに対応するアクターのプロパティで設定できる」

妹「デフォルトで伸びなくしとけばよかったんでは? 勝手に伸びられても困るし」

「それは用途にもよるし、アニメーションを派手に見せるためには一瞬手が伸びるぐらいで丁度よかったりもするから。そのへんは必要に応じて」

リグちゃんと選択できてない問題

f:id:una_unagi:20181010003840p:plain

「色々試してて、ちゃんと動くはずなのに動かないことがあって、その原因がこれだった。リグ自体は動かずに、そこにくっついてる目印のメッシュだけ動いてた」

妹「見た目じゃわかんないね」

「なんかダブルクリックすると個別のコンポーネントを選択しちゃうみたいで、密集したリグの中から目的のを選ぼうとしてる時に、ダブルクリックに近い操作になってしまうみたい。こういうことがあるとわかってれば、ちゃんと動かない時点でチェックできるし、ズレてもトランスフォームを0に戻せば大丈夫なんだけど」

妹「最初から選択できなくしてあればいいのでは?」

「アクターは動かしても、コンポーネント自体は動かしたくないってケースは他にもありそうなんだけど、今の所それができる方法は見つからなかった」