Debug出力する際に、定例分の中に変数を埋め込むString.formatは便利なのですが、Debug.Logと組み合わせると、コードが長くなってしまいますが、直接、フォーマットできる方法があります。
Debug.LogFormatを使うと、整形フォーマットを指定できます。
string foo = "abc"; Debug.LogFormat("foo: {0}", foo); // foo: abc
引数の指定の仕方は、String.formatと同じ。
Debug出力する際に、定例分の中に変数を埋め込むString.formatは便利なのですが、Debug.Logと組み合わせると、コードが長くなってしまいますが、直接、フォーマットできる方法があります。
Debug.LogFormatを使うと、整形フォーマットを指定できます。
string foo = "abc"; Debug.LogFormat("foo: {0}", foo); // foo: abc
引数の指定の仕方は、String.formatと同じ。
int[,] twoDim = new int[8,16];
要素8個の中に、要素16個を持つ2次元配列をつくる。
int[2,4] = 128;
VS(Visual Studio) Codeの1.25からタイトルバーの表示内容とスタイルを変更できるようになった。
設定ファイルに、
"window.titleBarStyle": "custom"
と記述すると、タイトルバーがこんな感じになる。
ちょっとだけ、シュッとなる。
なお、このオプションは、Windows/Linuxだけ有効。もとから、Macはシュッとなっていた。
Arduinoで文字列から数値にキャスト変換する方法
String barString = '123'; int fooInt = barString.toInt();
DoTweenでオーディオのフェードイン/アウトを簡単に実装
冒頭で、
using DG.Tweening;
ボリューム0まで、1秒でフェードアウトする場合
AudioSource audioSource = this.gameObject.GetComponent<AudioSource>(); float vol = 0.0f; float duration = 1.0f; audioSource.DOFade( vol, duration );
AudioSourceコンポーネントを持ったGameObjectなどに、このコードを記述したスクリプトを張りつける。
特定のファイルだけを元に戻す方法
$ git log
どのファイルが更新されたかは、
$ git log --stat
で確認することができる。
$ git checkout <hash> <filepath>
<hash>
に元に戻したいコミットのハッシュを指定。
UnityのVersion 5.6.1 f1で発生するのだが、macOSをHigh Sierraにすると、Assetsの中身が空になってしまう症状がある。
原因は、High Sierraで採用されているファイルシステムAPFSにUnityの古いバージョンが対応していないのが原因。プロジェクトフォルダを、これまでのAFPSの外付けHDDにコピーして読み込めば、
開くことが可能。一安心。
ちなみに、このバグのパッチが当たったバージョンもリリースされている。
WindowsでWindowsキーとAltキーを入れ替える方法。US配列キーボードで、左右のWindowsキーでMac風に「かな」切替をするときに、Macと同じ配列になって便利。
フリーソフトの“ChangeKey”で常駐ソフト無しで、レジストリを修正する形で実現できる。
イベントデータからボタンの種別を取得できる
例えば、
public void OnPointerClick(PointerEventData pointerEventData) { switch(pointerEventData.pointerId) { case -1: Debug.Log("Left Click"); break; case -2: Debug.Log("Right Click"); break; case -3: Debug.Log("Middle Click"); break; } }
https://docs.unity3d.com/ja/current/ScriptReference/EventSystems.PointerEventData.html
他言語だと、クラスをfor文などでインスタンス生成するような複製の方法。例えば、JSだと。
class Foo() { console.log("Hello, world!"); } var i; var list = []; for( i=0; i<5; i++ ) { var f = new Foo(); list.push(f); }
みたいな処理。
多くの場合は、処理をまとめたBase COMPを動的に複製して、表示する場合などと思われる。その場合は、Replicator COMPを使う。
OOPで言うクラスファイルとなるBase COMPを作る。
オペレータの名前は、”masterItem0″とする。masterItem0の中は、次のようになっている。
In CHOPに入ってきた値をMath CHOPで2を掛けて、Out CHOPで出力しているネットワーク。In CHOPへの値は、constant1から入力されている。
次に、クラスからインスタンスを生成する様に、Base COMPを複製するには、Replicator COMPを使う。
ここでは、replicator1というCOMPを作り、プロパティは、次のように設定する。
Replication Method: | By Number | 複製する数を数値で指定 |
Number of Replication | 5 | 複製する数 |
Master Operation | masterItem0 | 元になるOperation。この項目に、ドラッグすると指定できる。 |
こうすることによって、”masterItem0″が5個分、複製される。
サンプルtoe
https://github.com/arkwknsk/touchdesigner/blob/master/tips/object/object.toe