読者です 読者をやめる 読者になる 読者になる

妹でもわかるUnrealEngine4

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

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

ソケットにくっつけたアイテムの動きをアニメーションと連動させつつ、回転はさせない

f:id:una_unagi:20160303214311g:plain
f:id:una_unagi:20160303214309g:plain

妹「手にりんごを持たせてみたところ、りんごがクルクル回ってしまうので、そうならないようにするのをやってみた」

「これはソケットにつけてるの?」

妹「SpriteStudioで、手のところに作ったヌルパーツにくっつけてる。ヌルパーツじゃなくて手のとこに直接くっつけても良かったような気もするけど」

「手が動いて角度が変わると、その先にあるヌルパーツの角度も変わってるのかな」

f:id:una_unagi:20160303214719p:plain

妹「こういう風にSetAbsoluteノードで、手に持ってるコンポーネントの角度を固定すると、動き方に関係なく角度が同じになった。マリオとかでもアイテムは回ってないし」

「完全固定の場合はこれで良さそう。角度を変えたい時とそうでない時がある場合は、SpriteStudioの方で角度を調整しないといけないだろうけど」

妹「あとは、できればこのSetAbsoluteを、LocationのY軸だけ有効にしたいんだけど」

「それが出来るとどうなるの?」

妹「逆方向にくるっと振り向いた時にね、重ね合わせ順が逆になってしまうんだよ。それで今はブループリントで毎フレームY軸を変更してるんだけど、どうもスマートさに欠ける気がする。Physicsをオンにした場合はそういう設定項目あるんだけど、これは物理のじゃないし」

「3Dが前提だとそれが自然だからね。ストリートファイターを3D化する時にも、2Dの時と同じで、単純に反転してるように見せるために手間をかけたという話を聞いたことがある」

妹「これの場合は単純にY軸を固定するだけでいいはずだから、なにか良いノードはないのか調査中」