トップページgamedev
1001コメント492KB

【3Dゲームエンジン】Unity質問スレッド6

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2013/10/12(土) 07:10:26.04ID:L8N2fF4y
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。

Windows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3他

次スレは>>970を踏んだ方が建てること。ダメなら>>980>>990が建てて下さい。

■前スレ
【3Dゲームエンジン】Unity質問スレッド5
http://toro.2ch.net/test/read.cgi/gamedev/1372099904/

■本スレ
【3Dゲームエンジン】Unity総合スレッド20
http://toro.2ch.net/test/read.cgi/gamedev/1376141735/

■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
 http://www24.atwiki.jp/unity2ch/
●リンク
・Unity(日本公式サイト)
 http://unity3d.com/japan/
・ユーザーガイド&リファレンス
 http://japan.unity3d.com/developer/document/
・チュートリアル
 http://japan.unity3d.com/developer/document/tutorial/
・スクリプトリファレンス
 http://docs-jp.unity3d.com/Documentation/ScriptReference/
・FAQ
 http://answers.unity3d.com/index.html
・MSDN
 http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0584名前は開発中のものです。2013/11/17(日) 09:40:44.22ID:BPt4kX9e
>>583

そうですか。ふーむ
Apply root motion機能自体はアニメーション内のルートオブジェクトのTransform.position値を
character.controllerが判断基準に見てるコリジョン側にも伝わらせるかどうかだと思うんだけど、
そういう視点でデータを眺めるとおかしなところは無い?
0585名前は開発中のものです。2013/11/17(日) 09:52:21.59ID:XkteUHlo
>>583
精度が悪いというか逆に精度が良すぎるが故にアニメーションによる微細な動きに反応してるとも言えるがな
なんならキャラクターの足元から真下にRayでも飛ばして接地判定すればいい
0586名前は開発中のものです。2013/11/17(日) 10:02:48.61ID:GRFTqUG0
ちなみにキャラクターのスクリプトにOnAnimatorMoveメソッドを追加すればスクリプトからRootMotionの制御ができる
それで移動や待機なんかは普通に制御して、アニメーションの動きをそのまま反映したいときにはAnimatorのdeltaPositionとdeltaRotationでRootMotionの移動と回転が取れるからそれをそのままtransformに入れればApplyRootMotionにチェック入れたのと同じ状態になるはず
0587名前は開発中のものです。2013/11/17(日) 10:04:32.49ID:GRFTqUG0
あ、transformに入れるというか加算するんかな
0588名前は開発中のものです。2013/11/17(日) 10:04:55.17ID:BPt4kX9e
考えられるのは・・・

アニメーションデーター内のルートオブジェクトがidle時に上へ移動している or もしくは原点(0,0,0)から離れてる
+ Apply root motion = true なら位置は移動したことになっちゃうよ

例えばアニメーションの1フレーム目のルートオブジェクトの位置が(1,5,0)なら瞬間的にその位置へ吹っ飛んで
それから重力したがって落ちてくる

アニメーションデータに問題があるんじゃないかね?あと・・・

A. ルートはどのクリップも完全に原点に固定して、スクリプトで制御する
B. アニメーション側のルートオブジェクトの動きで制御するか

そのどちらか二通りの方法を選択する必要があるんだけど混合しちゃってるんじゃない?
例えばアイドル時はA.でジャンプ時はB.なんてキャラクターコントローラーのパラメータを
リアルタイムで書き換えない限り出来ない

というか基本、混合なんてしない方が良いし
プログラムで動きを制御したいならA.の方法一択じゃないかね
0589名前は開発中のものです。2013/11/17(日) 10:16:01.37ID:2Vkv+55z
あなたがネトウヨを辞めた理由は何ですか?

最近何かとお騒がせな、ネット上の保守層であるネトウヨ。
流行語ノミネートにもなるほど今日日本では増加の一途を辿っている。
しかし、いったんネトウヨ化してから辞める人も少なくなく
一部では、黒歴史になるような過去になっているケースもあるようだ。

そこで、当サイトで調査したネトウヨを辞めた理由のアンケートを見てみよう。


1位 思想的に危険な人達と同一視されたくない
2位 偏った意見や人達が集まるサイトに疑問感じて
3位 熱が冷めた、冷静な視点で見られるようになったから
4位 デモや政治運動に参加してみて違和感感じた
5位 家族や友人にドン引きされて


理由は様々だが、現実でのデモや友人に熱弁などは黒歴史になるような傾向が多いようだ。
ネトウヨを無事に卒業できるかは、ネトウヨ時代の行動にかかっているようだ。

2に続く
0590名前は開発中のものです。2013/11/17(日) 10:30:47.93ID:BPt4kX9e
・・・584の書き込みは混乱するだろうから忘れてくれ
0591名前は開発中のものです。2013/11/17(日) 10:35:59.69ID:0zVNcy4W
>>586
transformに加算すると言ったが下手すりゃあたり判定すりぬける可能性もあるから
CharacterControllerのMoveにdeltaPosition入れてやればいいかな
deltaRotationのほうはtransformのRotateにでも入れればいいかな
■ このスレッドは過去ログ倉庫に格納されています