【Unity】Unity Test Runner(Test Framework)で複数の入力値を取り扱う方法まとめ

Unity Test Runnerで複数の入力値を取り扱う方法をまとめました。

  • 複数の入力値を取り扱う?
  • Values
    • 複数の定数値を指定
    • Valuesを複数指定
    • Enumの全要素についてテスト
    • boolについてテスト
  • ValueSource
    • フィールド・プロパティ・メソッドを指定できる
    • 他のクラスを指定
  • TestCase
    • 使い方
    • ExpectedResultを使う
  • TestCaseSource
    • フィールド・プロパティ・メソッドを指定できる
    • 他のクラスを指定
    • IEnumerableなクラスを指定
  • Range
    • 使い方
    • ステップを指定
  • Random
  • UnityTestアトリビュートとの相性
  • 関連
  • 参考
続きを読む

【Unity】Unity非対応の拡張子のファイルをアセットとして取り扱えるScripted Importerの使い方

Unity非対応の拡張子のファイルをアセットとして取り扱えるScripted Importerの使い方をまとめました。

  • Scripted Importerとは
  • 簡単なサンプル(公式サンプル)
  • サブアセットを差し替えるためのリマップ機能
  • 他のアセットが変更されたら自身をリインポートする(依存関係を設定する)
    • 他のAssetへの依存を設定する
    • 独自の依存関係を定義する
  • インスペクタ拡張方法
  • プラットフォーム毎にインポート処理を分ける
  • インポートエラー・警告
  • 参考
続きを読む

【Unity】GUI.DrawTexture()でいろんな図形を描画する

UnityのIMGUIのGUI.DrawTexture()で色々描いてみます。

  • はじめに
  • 矩形を描画
  • 角丸の矩形を描画
  • 中抜きの矩形を描画
  • 中抜きの角丸矩形を描画
  • ボーダー付きの矩形を描画
  • ボーダー付きの角丸矩形を描画
  • ボーダーの太さを辺によって変える
  • 丸みを角によって変える
  • 丸ボタン
  • 参考
続きを読む

【Unity】Profilerで処理落ちの原因がメインスレッドなのかレンダースレッドなのかGPUなのか切り分ける手順

UnityのProfilerで処理落ちの原因がメインスレッドなのかレンダースレッドなのかGPUなのか切り分ける手順についてまとめます。

  • パフォーマンスチューニングの一番最初にやるべきこと
  • メインスレッド vs レンダースレッド・GPU
  • レンダースレッド vs GPU
  • 関連
  • 参考
続きを読む

【Unity】xLuaの基本的な使い方まとめ

xLuaの基本的な使い方についてまとめました。

  • xLua?
  • インストール
  • xLuaスクリプトを実行する
  • スクリプトの読み込み方法いろいろ
    • 文字列を読み込む
    • Resourcesフォルダからファイルを読み込む
    • ファイルの読み込み方法をカスタムする
    • 推奨される実行方法
  • C#からLuaにアクセスする
    • グローバルな値を取得する
    • グローバルなテーブルを取得する
    • グローバルな関数を取得する
      • 引数なし戻り値なしであればAction型で取得できる
      • 引数や戻り値がある場合はデリゲートにマッピング
      • 関数を返す関数の場合
      • 複数の戻り値に対応する
      • LuaFunctionにマッピングする
    • 注意点
      • パフォーマンス
      • xLuaへの依存
  • LuaからC#にアクセスする
    • C#インスタンスを生成
    • 型を変数に入れておく
    • static変数、staticメソッド
    • メンバにアクセス
    • ref引数の受け渡し
    • out引数の受け渡し
    • enum
    • Delegateを操作する
    • Eventを操作する
    • 複雑な型を直接引数に渡す
    • 型を取得
    • その他
  • アトリビュートについて
    • CSharpCallLua
    • LuaCallCSharp
    • ReflectionUse
    • staticメソッドで指定することもできる
    • DoNotGen
    • BlackList
    • リフレクションによるアクセスについて
  • 参考
続きを読む