オブジェクトAからオブジェクトBへの角度を求めるのは下記で出来るのですが、

var forward = A.transform.TransformDirection(Vector3.forward)
var targetDirection = B.transform.position - A.transform.position;
Vector3.Angle (forward , targetDirection)

オブジェクトAから一定距離ほど離れた地点CからBへの角度を求めるにはどうしたら良いのでしょうか?
地点CはオブジェクトではないのでTransformDirection(Vector3.forward)が使えず困っています。
地点CはオブジェクトAと同じ方向を向いているとします。