すみません、質問です。
マウスでクリックしたらクリックした場所に物体が来るようなスクリプトを組みました。
ですがうまく動いてくれません。
作成したスクリプトは下記です。

if(Input.GetAxis("Fire1")){
var Mo:Vector3=Input.mousePosition;
var aa:Vector3=Camera.main.ScreenToWorldPoint(Mo);
aa.z=transform.position.z;
transform.position=aa;
}

かなり試行錯誤していたのですがどうもMo.zの値が0の状態でScreenToWorldPointにかけるとおかしな挙動になってしまうようです。
そこで下記のようにMo.zに先に値を与えてからScreenToWorldPointをするときちんと動いてくれました。

if(Input.GetAxis("Fire1")){
var Mo:Vector3=Input.mousePosition;
var t:Vector3=Camera.main.WorldToScreenPoint(transform.position);
Mo.z=t.z;
var aa:Vector3=Camera.main.ScreenToWorldPoint(Mo);
transform.position=aa;
}

すみませんが、Mo.zが0のときにScreenToWorldPointをするとおかしな挙動になってしまうのはなぜなのか教えていただけませんでしょうか。
よろしくお願いします