Vector3.Dot(a,b)が冗長というのがよく分からん。
意味と機能が必要十分に見えるけど?