UE4でラグドールがちゃんと動かない
auです。
きのう、ラグドールについての記事を書きました。
program-shoshinsya.hatenablog.com
自分も「キャラが死亡判定になった場合にラグドールにしよう!」と思い、設定してみたのですが、倒れてくれませんでした。
Kキーを押すことで、キャラクターはダメージを受けて死亡判定になり「dead!」という文字列を出力して、物理エンジンが作用するようにしたのですが、ちゃんと倒れてくれませんでした。
そこで、もともと倒れるように設計しなかったのではないかと思い、キャラクターの物理アセットをみました。
すると、このでシミュレーションをしても前に倒れなかったので、原因はここにありそうです。
選択した範囲だけシミュレーションすることもできるのですが、この時はそのようなこともやっていないので、ここを設定した際にどこかいじってしまったみたいです。
あれこれいじっていてもいまだに解決できていないので、もう少し触ってみたいと思います。
使っている参考書
UE4のラグドールとは
auです。
ゲーム制作で出てくる用語の「ラグドール」って何だろうと思い調べてみました。
ラグドールとは
ラグドールとは、ゲームで使われる物理法則のことを言います。
ラグドール(rag doll)は「ぬいぐるみ」という意味があります。
キャラクターが気絶や死亡になった場合の、人体の方をラグドールというそうです。格闘ゲームでやられた際の"体の力が抜けてその場で倒れこむ動作"やFPS(ファーストパーソンシューティング)などでキルされた際の"地面に倒れこんだ後の処理"などがラグドールに当たります。
つまり、キャラクターの死亡などにより、動作ができなくなった後に重力や運動エネルギーからそれらしく物理的な動きを再現することをラグドールとい言います。
使っている参考書
UE4でGitは使えるのか?
auです。
gitを少し勉強していて、ふと疑問に思ったことがあります。それは、UE4でもGitを使って開発できるのかな?というものでした。
UE4側で、複数人で開発する際のバージョン管理は「ソースコントロール」というところから行うそうです。
Git(β版)がありました。まだ本格的に使えないのかな・・・?
他にもSubversionや、Perforceなどありますね。こちらもそのうち調べたいなと思います。
Git(β版)をソースコントロールで指定して、起動してみるとこんな画面が出てきました。
コミットと同じ感じで、コメントを書いて送信するみたいですね。
と思ったのですが、どうやってもここで止まってしまいます・・・
macとUE4、Gitの関係がよくないのか、単純にメモリ不足なのか・・・
うーーん・・・。色々と見直さなきゃいけない気がしてきました。
一応、UE4でもGitは使えるということを知ることができたのでよかったです。
使っている参考書
大学2年生の授業が全部終わって思ったこと
auです。
今日でついに、2年生での授業が全て修了しました。
まじでがんばった・・・そして楽しかったと思えた1年だなと、思います。
1年生でPythonをやって、2年生になってC言語、チーム開発を一生懸命やりました。
教授に聞くと「業界だと知らないと恥ずかしいよ」と脅されながらやりましたねー。テストでも、何を聞かれて何を答えなければならないのかが分かっていたので、授業の内容はそれなりに理解したのではないかと感じています。嬉しい。
やっと終わって教授としゃべっていると「もう3年生になって就活だよ!」と言われ、もう就活か・・・と思っているのが本音です。
もっと遊んでいるような大学生活を予想していましたが、今の自分がやる気になってくれているおかげで、また別の意味で充実した大学生活を送れていると思います。
テスト終わりの食事会の後に書いているので、こんな感じの内容になってしまいましたが、後悔がより少ない道を通れていると思っているのでとても満足しています。
これから就活が始まるけどもっと楽しんで行こうと思います。
MacとUbuntuでアセンブリ結果が違う
auです。
テスト勉強で忙しいので面白いなーと思ったことを書きたいと思います。
とあるC言語プログラムをアセンブリした結果、MacとUbuntuで結果が違いました。
とあるC言語プログラム
int add (int a, int b) { return a + b; }
.section __TEXT,__text,regular,pure_instructions .macosx_version_min 10, 13 .globl _add ## -- Begin function add .p2align 4, 0x90 _add: ## @add .cfi_startproc ## %bb.0: pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset %rbp, -16 movq %rsp, %rbp .cfi_def_cfa_register %rbp movl %edi, -4(%rbp) movl %esi, -8(%rbp) movl -4(%rbp), %esi addl -8(%rbp), %esi movl %esi, %eax popq %rbp retq .cfi_endproc ## -- End function .subsections_via_symbols
a .file "add.c" .text .globl add .type add, @function add: .LFB0: .cfi_startproc pushq %rbp .cfi_def_cfa_offset 16 .cfi_offset 6, -16 movq %rsp, %rbp .cfi_def_cfa_register 6 movl %edi, -4(%rbp) movl %esi, -8(%rbp) movl -4(%rbp), %edx movl -8(%rbp), %eax addl %edx, %eax popq %rbp .cfi_def_cfa 7, 8 ret .cfi_endproc .LFE0: .size add, .-add .ident "GCC: (Ubuntu 5.4.0-6ubuntu1~16.04.10) 5.4.0 20160609" .section .note.GNU-stack,"",@progbits
よくよく見ると違っていたのでなんだか面白いなーと思いました。
勉強頑張ります。