デバッグ時に便利なサンプル

unityツールの表示レイアウトの変更


デバッグ時は複数の視点で挙動を確認できる「2by3」のレイアウトが便利

2by3.jpg

コード内でブレークポイントを設定


  Debug.Break();

これで処理を中断できる


#ifを利用する事により一定の範囲のコードを注釈にしたり実際のコードにしたり切り替える

#ifに続くboolをtrueにすると実コード。falseにすると注釈になる


#if true
      //ぎざぎざに周期的に配置する(なんとなく微妙な効果だけど味付けとしてこういう手法は知っておいたほうが良さそう) 
       Vector3 offsetCycle = pitch /2;
       Vector3 offsetAdd = pitch /5;
       
       Vector3 offset = Vector3.zero;
       
       for (int i = 0; i < peiceIndex.Length ; i++) {
           if(peiceIndex[i]<0){continue;}
           MikuPeiceCtrl piece = myPeices[ peiceIndex[i] ];
           Vector3 position = piece.startPos;    //以前の値を拾う
           
           position.x += offsetAdd.x; 
           position.z += offsetAdd.z;
           piece.startPos = position;
           
           //周期的に値がずれる仕組(ぎざぎざに位置がずれていく感じらしい)
           offset.x += offsetAdd.x;
           if(offset.x >  offsetCycle.x /2){
               offset.x -= offsetCycle.x;
           }
           
           offset.z += offsetAdd.z;
           if(offset.z >  offsetCycle.z /2){
               offset.z -= offsetCycle.z;
           }
       }
#endif



#ifを利用する事によりコード利用を切り替える


  void Sample()
   {
#if true
      DoSomething1();    
#else
      DoSomething2();    
#endif
  }

#if true を #if false に変更するとDoSomething2()に切り替わります
片側は注釈扱いになります


Gizmoを利用したサンプル1


  //シーンウインドウ側で表示される    
   void OnDrawGizmos(){
       Gizmos.DrawWireCube(Vector3.zero, shuffleZone.size);
   }

Gizmoを利用したサンプル2


  void OnDrawGizmos(){
       Gizmos.DrawRay(center,direction*5);
   }

debugクラスを利用したサンプル1


  public static void    DrawBounds(Bounds bounds)
   {
       Vector3[]    square = new Vector3[4];

      square[0] = new Vector3(bounds.min.x, 0.0f, bounds.min.z);
       square[1] = new Vector3(bounds.max.x, 0.0f, bounds.min.z);
       square[2] = new Vector3(bounds.max.x, 0.0f, bounds.max.z);
       square[3] = new Vector3(bounds.min.x, 0.0f, bounds.max.z);

      for(int i = 0;i < 4;i++) {

          Debug.DrawLine(square[i], square[(i + 1)%4], Color.white, 0.0f, false);
       }

  }

メニュー



  • 最終更新:2014-06-13 12:02:12

このWIKIを編集するにはパスワード入力が必要です

認証パスワード