【3Dゲームエンジン】Unity質問スレッド21at GAMEDEV【3Dゲームエンジン】Unity質問スレッド21 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト761:名前は開発中のものです。 15/12/24 22:28:33.63 V8y/g7ct.net >>738 それ多分呼ぶタイミングの問題じゃなくて呼んでから再生されるまでの遅延の問題じゃない? 762:名前は開発中のものです。 15/12/25 01:15:39.54 8Iucprok.net マウスでクリックした画面上のゲームオブジェクトの座標やらスプライトやらの 情報を取得する方法って ・オブジェクトにButtonコンポをつけてOnClick()を使ってとる ・RayCastでとる の2つが考えられるとおもうんですが、どっちが良いとか どういう風に使い分けるべきとか、アドバイスが欲しいです 個人的にはButtonだと色んなオブジェクトにつけて回る必要があるし 付け忘れるとバグるので、RayCastで取る方がいいのかなと考えてますが、正しいですか? 763:名前は開発中のものです。 15/12/25 03:02:56.40 zmf0jnn8.net >>742 全然違うw 全く理解してないようなので説明しとく まずRaycastには以下の3種類がありそれぞれ対象が異なるが、対象となるコンポーネントがないと反応しないのはどれも同じ Physics.Raycast →Collider(3D) Physics2D.Raycast →Collider2D EventSystem.RaycastAll →uGUIのGraphic そしてButton.onClickは全く層が違う、これは連続してRaycastした結果によるコールバックだ ButtonコンポーネントはuGUIのコンポーネントなのでGraphicRaycasterが継続的にRaycastを行い、その結果クリックされたと評価された場合にUnityEvent型の変数であるButton.onClickのInvoke()がコールされるという流れ またButtonはステート間のトランジション等の機能なども有していてとても冗長だからボタン以外の用途に使うなw 単純にスクリーン座標にある何かを取りたければ3種のRaycastのいずれかひとつ又は複数を使えばいい 2D/3D/uGUIは完全に分離して考え別々に扱うこと 画面上で重なって見えるのは構わんが同列に扱ったりコンポーネントを混ぜるのは論外 Button.onClickとRaycastと並列に扱う事自体的はずれにも程があるってぐらいおかしいのよ 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch