0
では動作しません。私は、メッシュコライダーとそれを輸入し、私は「ブレンダー」でモデル化し、表面を輸入しています。このサーフェス上でレイキャスティングを行い、ランダムなオブジェクトを配置したい場合、それは機能しません。この面の上に標準平面を設定すると、この平面上でレイキャスティングが機能します。だから私のモデル表面はレイキャスティングをキャッチしていないと思うが、私は理由を知らない。誰か助けてくれますか?ユニティレイキャスティングは、インポートされたオブジェクト(meshcolliderが生成される)
void Start()
{
for(int i = 0; i < numberOfObjects; i++)
{
//What we will spawn
GameObject objectToSpawn = objectsToSpawn[Random.Range(0,objectsToSpawn.Length)];
Vector2 spawnPositionV2 = Random.insideUnitCircle*spawnRadius;
Vector3 spawnPosition = new Vector3(spawnPositionV2.x,0.0f,spawnPositionV2.y);
Vector3 transformOffsetSpawnPosition = transform.position+spawnPosition;
RaycastHit hit;
if (Physics.Raycast (transformOffsetSpawnPosition, Vector3.down, out hit)) {
Vector3 finalSpanPosition = hit.point;
Instantiate (objectToSpawn, finalSpanPosition, Quaternion.identity);
}
}
}
}
それは凸をチェックすると動作しますが、今、私の木々や文字文字通り歩いて10フィート私の表面の上に浮いています。コライダーはそれほど詳細ではありません...これを修正できますか? –
あなたは、実行時にシーン内のすべてのオブジェクトを選択するにギズモを切り替えると、シーンビューでコライダーのグラフィックスを見るためにコライダーのコンポーネントを展開するようにしてください)正しい方法でコライダーを設定することでこの問題を解決することができます。それはそれを右に立ってされるべきであるいくつかのオブジェクトが別の上に浮いている場合は、コライダーと(そのサイズと制約を確認してください)またはそれに接続剛体(質量、重力、非動)と間違って何かがあります。あなたはすべてこの設定をチェックアウトし、それはまだ動作しない場合は、あなたのシーンやコライダーの設定についての詳細情報を提供します。 –