[過去ログ] 【3Dゲームエンジン】Unity質問スレッド33 	 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
944: 2018/02/07(水)13:54 ID:VPUHH/Vm(3/5) AAS
 だから 
 void OnTriggerEnter( Collider collider ) { 
 } 
 みたいに接触したColliderを取得するのを 
 複数のColliderでやるのってどうすればいいの? 
  
 Colliderをコンポーネントしたオブジェクト1つ1つに 
 void OnTriggerEnter( Collider collider ) { 
 } 
 を書いたスクリプトを作るのはさすがにない 
 なにかやりかたあるだろ 
945(1): 2018/02/07(水)14:03 ID:VPUHH/Vm(4/5) AAS
 >>943 
 入んないって 
  
 [SerializeField] private Collider tagetCollider; 
 void Update() 
 { 
         if( tagetCollider.gameObject.tag == "Player" ) 
         { 
             Debug.Log( "当たった" ); 
         } 
 } 
  
 これで他のCollider接触してもなにもかえさないよ 
 自分自身のtagを見ているだけ 
946(1): 2018/02/07(水)14:05 ID:V2dra3PS(3/6) AAS
 子オブジェに全部貼るだよ。 
 同じスクリプトを貼るんだからごちゃごちゃしない。 
947(1): 2018/02/07(水)14:32 ID:VPUHH/Vm(5/5) AAS
 >>946 
 マジか… 
 そういうものなんか… 
948: 2018/02/07(水)14:36 ID:V2dra3PS(4/6) AAS
 衝突判定は、ゲームの中でも描画処理に次いで重い。 
 そんなものを、unity側で勝手に組み込まれて処理されてたら劇遅。 
 unity内では、コリジョン設定されたもの同士が近けりゃ判定処理とか最適化は自動でしてるとは思うが。 
949: 2018/02/07(水)14:52 ID:8kYIRLy5(2/2) AAS
 >>947 
 Unity以外でゲーム作った事ある人かな?昔C言語とかで 
950(3): 2018/02/07(水)15:37 ID:tguyUo/d(2/4) AAS
 うーん 
     private void OnTriggerEnter(Collider other) 
     { 
         print(other.gameObject.name); 
  
     } 
 これで物かってきたものの名前取れるからそれでいいんじゃね? 
951(1): 2018/02/07(水)15:45 ID:V2dra3PS(5/6) AAS
 >>950 
 次スレ頼んだぞ。俺にはできぬ。 
  
 あと、欲しいのは多分、自機じゃなく、あさってのところでぶつかった子どうしのフラグが欲しいんじゃないかな。 
 で、どこかにそれを見張ってる関数があるのでは?と聞いてきてる気がするエスパ。 
952(1): 950 2018/02/07(水)16:05 ID:tguyUo/d(3/4) AAS
 立てて見ました 
 保守いらないよねここ 
  
 【3Dゲームエンジン】Unity質問スレッド34 
 2chスレ:gamedev 
953: 2018/02/07(水)17:21 ID:V2dra3PS(6/6) AAS
 乙です。 
954: 2018/02/07(水)18:34 ID:Uf/tPjYg(1) AAS
 >>945 
 なんでUpdateにいれた?w 
 物理エンジンからColliderを引数で貰ってるメソッドじゃないと、 
 接触したColliderの情報が送られて来る訳ないじゃん。 
  
 void OnTriggerEnter( Collider collider ) { 
   if(collider.gameObject.name == "Cube"){ 
     Debug.Log("アタリ"); 
   } 
 } 
955: 2018/02/07(水)18:43 ID:tguyUo/d(4/4) AAS
 >>951 
 それってプレハブにしときゃいいだけかと 
956: 2018/02/07(水)20:13 ID:BWazURU1(1) AAS
 public class DelegateTriggerEvents : MonoBehavior 
 { 
     [System.Serializable] 
     public class TriggerEvent : UnityEngine.Events.UnityEvent<Collider> 
     { 
     } 
  
     public TriggerEvent _EnterHandler; 
     public TriggerEvent _StayHandler; 
     public TriggerEvent _ExitHandler; 
  
     void OnTriggerEnter(Collider collider) 
     { 
          if (_EnterHandler != null) 
              _EnterHandler.Invoke(collider); 
      } 
  
    // Stay, Exitも同様に 
 } 
  
 酔っ払いながらクッソ適当に書いてみたけど 
 こんなの作っておいてハンドラはインスペクタで設定すればいいんじゃね? 
957: 908 2018/02/08(木)09:52 ID:T3w0bOMB(1/2) AAS
 >>909 
 暗黙的に変換できないそうです 
 症状は上でも書いてある通りHPが0になった際にトップページに飛ぶボタンが表示されないことです 
958: 2018/02/08(木)10:46 ID:T3w0bOMB(2/2) AAS
 解決しました 
 コード自体に問題はなく空のオブジェクトを用意してそちらにスクリプトをアタッチすることでしっかり動作しました 
959: 2018/02/08(木)10:48 ID:fg6vp272(1/2) AAS
 えっ 
 それまでそのスクリプトはどこにアタッチしてたの? 
960: 2018/02/08(木)11:37 ID:7gDLY3JI(1) AAS
 どこにもアタッチしてなかったんでしょ 
 基本中の基本がわかってないのにスクリプトはちゃんと動いてるとか勘違いする典型例 
 debug.log入れりゃ動いてないことなんて一発でわかるのに 
961(1): 2018/02/08(木)12:54 ID:pqSUy3D4(1) AAS
 プログラムできない人は無理せずにアセットを買って楽になりましょう 
 時間の無駄ですよ 
962: 2018/02/08(木)13:38 ID:fg6vp272(2/2) AAS
 >>961 
 ァセットDLしてもァタッチしないと動かないんですが…… 
963: 2018/02/08(木)16:02 ID:nmcyYAda(1) AAS
 まあまあ、特に初心者なんて問題の原因が検討すらつかないことが常だからね。 
 とはいえそのまま何かを作ろうとするのは無謀だから、チュートリアルやスクリプトリファレンスくらいは読んでおいたほうがいいと思うよ。 
964: 2018/02/09(金)00:00 ID:7bTEQ4Oh(1/3) AAS
 質問なんですが、unityでクラスの継承を行う場合、基底クラスもどこかにアタッチしておく必要があるのでしょうか 
965(1): 2018/02/09(金)00:42 ID:Kb5TO0pO(1/2) AAS
 というと普段なにげに勝手に生成されるmonoビヘイビアもどこかにァタッチされてるのか 
  
 いや、あれはusingされてるからいいのか? 
  
 で、やってみてどうたったの? 
966: 2018/02/09(金)01:59 ID:7bTEQ4Oh(2/3) AAS
 >>965 
 まだやってないんですよね実は…… 
967(1): 2018/02/09(金)02:11 ID:7bTEQ4Oh(3/3) AAS
 あっ、そうか、そもそも派生クラスと基底クラスのスクリプトをわざわざ分ける必要ないのか……? 
 分けた場合アタッチする必要あんの?という疑問の回答にはなってない気がしますが 
 とりあえず解決しました、どうも 
968: 2018/02/09(金)02:53 ID:nZEwxYK2(1/2) AAS
 mesh colliderについて質問させてください。  
 現在2Dのゲームを作ってまして、生成したmeshと他のBox Collider等のColliderを持つオブジェクトの接触をTriggerで検知したいと思っています。 
  
 meshはしっかりと生成されており、Rigidbodyもアタッチされています。 
 その上で以下のスクリプトでColliderを設定しているのですが、OnTriggerEnter2Dで接触が検知できません。 
  
         meshCollider = GetComponent<MeshCollider>(); 
         meshCollider.convex = true; 
         meshCollider.isTrigger = true; 
         meshCollider.sharedMesh = mesh; 
         meshCollider.enabled = true; 
  
 メッシュとの接触を検知させる方法についてご存知の方はご教授頂けますと幸いです。 
969(2): 2018/02/09(金)04:17 ID:Kb5TO0pO(2/2) AAS
 2dと3dのコライダは反応しないよ 
970: 2018/02/09(金)09:42 ID:HIJYsTD8(1) AAS
 >>969 
 レスありがとうございます。 
 そうだったんですね。 
 MeshCollider2Dというのは無いようなので、MeshColliderを使用しての他の2DColliderとの接触判定は難しいということでしょうか? 
 Meshは動的に生成しているのでできればMeshColliderのように形状から自動で判定を生成したいんですよね。 
971(1): 2018/02/09(金)12:43 ID:q3g/Q2/J(1) AAS
 そもそもMeshという物自体が3D専用です 
972: 2018/02/09(金)13:19 ID:cUlNb78H(1) AAS
 MESHが何かわからない人はアセットを買えばいいと思います。 
973: 2018/02/09(金)14:07 ID:2w/F/lFU(1) AAS
 >>969 
 現実では若い衆の3D検恥器は2D女子に反応しまくりっていう 
上下前次1-新書関写板覧索設栞歴
あと 29 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.015s