質問

私はPhysics.Raycastメソッドを使用しようとしているが、私はエラーが言っています

  

'UnityEngine.Physics.Raycast(UnityEngine.Vector3、UnityEngine.Vector3、フロート、int型)' の最良のオーバーロードされたメソッドの試合は、いくつかの無効な引数を持っています。

itellisenseおよびドキュメントは、これが許可されていることを教えているので、

それは奇妙だ。

RaycastHit hit = new RaycastHit();
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, hit)) {
    print(hit.point.ToString());
    selection.transform.Translate(hit.point - selection.transform.position);
}

任意のアイデア?

役に立ちましたか?

解決

私はあなたがPhysics.Raycastで「ヒット」(レイ、ヒット)の前にキーワードが必要だと思う。

RaycastHit hit = new RaycastHit();
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out hit)) {
    print(hit.point.ToString());
    selection.transform.Translate(hit.point - selection.transform.position);
}

他のヒント

C#では、私たちは、変数のヒットの前にパラメータを前駆体を使用する必要があります。 それにデータを割り当てるための機能を得るためます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top