Unityというか数学の質問なんですが、
ある点A(Vector3)から方向Z(Vector3)に伸びる直線に対して、
点Bを与えた時にその直線AZに垂直なベクトルBXを求めたいんですが、
簡素な計算式無いでしょうか?

```
var dirAtoB = (posB - posA).normalized;
return Vector3.Cross(Vector3.Cross(dirAtoB, DirZ), DirZ) * -1;
```
で求められはするんですが、Crossを2つも使うのがこれじゃない感があって、もっと綺麗な計算が出来るんじゃないかと思ってます

こういう動きをしたいです
https://i.gyazo.com/466bee1c487965a615962c1e3e3fbe8d.gif