※動きます。
Inspectorの様子
メモ
child = new GameObject("Fractal Child").AddComponent<Fractal>();
再帰させたいだけなのでただのGameObjectを作成してこのコンポーネント自体をアタッチしている。
float t = i / (maxDepth - 1f); t *= t; ...... mats[i, 0].color = Color.Lerp(Color.white, Color.green, t);
Color.Lerpを使うと、例えばColor.Lerp(a,b,t)でt(0~1)に対してa~bで線形補間ができる。今回でいうと深度が深くなるにつれて色がはっきりとつくようになっている。
transform.localPosition = direction * (.5f * (1 + childScale));
ややわかりにくいが1というのは今見ているスケールに対応し、それにchildScale分を加えている。そうすることによって子オブジェクトが親億ジェクトにくっついているように見える。