スポンサーサイト

--/--/--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Unity 当たり判定

2012/02/06

忘れないようにメモ
http://hizuoka.blog41.fc2.com/?mode=m&no=11
からのコピペ


・OnColliderControllerHit(ControllerColliderHit hit)は、
 CharacterControllerがColliderと衝突したときに呼ばれる。

・OnTriggerEnter(Collider collisionInfo)は、
 ColliderがtriggerモードのColliderと衝突したときに呼ばれる。

・OnCollisionEnter(Collision collision)は、
 triggerモードでないCollider同士が衝突したときに呼ばれる。

プレイヤーと任意の地面との判定をやりたいから
OnColliderControllerHit(ControllerColliderHit hit)の
hit.normal
これが欲しいんだけど、このコールバック関数に入らない

プレイヤーにはCharacter Controllerを追加してる。
地面にはMesh Colliderを追加してる。

なんでこれで動かないんだぜ?


MeshColliderが特殊なのかと思って、BoxColliderでもやってみたけどダメ。


そもそも、当たったコールバック関数で地面の法線ベクトルをhitから取得して
プレイヤーをベクトル方向にずらす。

この考えが間違ってるのだろうか。

もっと調べないとだめっぽいですな。


詳しい方、OnColliderControllerHitになんで入らないか教えてくださると泣いて喜びます。

コメントの投稿

非公開コメント

OnControllerColliderHit

凄く遅レスですが、Unityについて調べていたらたどり着いたのでレスしておきます。

随分昔の記事ですのでもう解決されたかもしれませんが、
コールバック関数は
OnControllerColliderHit
です。
OnColliderControllerHit
ではありません。

原因がこれではありませんでしたらまたご質問下さい。

Re: OnControllerColliderHit

わざわざ教えて頂いてありがとうございます。
OnControllerColliderHitでしたかー

この問題は結局、
CharactorMotorの操作部分を自分の欲しかった動きにカスタマイズして解決した記憶があります。
CharactorMotorのコリジョンが優秀だったのと、カスタマイズが容易だったために
コリジョン実装工数>>>>>カスタマイズ工数だろうと判断しました。

教えてて頂いたことは大変有意義なことなので、今後に活かしたいと思います。
advertisement


プロフィール

hane

Author:hane
ゲーム好きなプログラマーやってます。

使用可能言語:C,C++,C#,WPF,JavaScript,Cuda
使用可能開発環境:VisualStudio2005-2013,Unity,CodeWarrior

リンクフリーです
相互リンクなどはこちら↓までかコメント欄にでもよろしくです。
skymail_tt@yahoo.co.jp

検索フォーム
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。