2016-05-07 6 views
0

Ich habe eine Oberfläche importiert, die ich mit 'Blender' modelliert habe, ich importierte sie mit Mesh Collider. Wenn ich ein Ray-Casting auf dieser Oberfläche machen möchte, um zufällige Objekte zu platzieren, wird es nicht funktionieren. Wenn ich eine Standardfläche über dieser Fläche einstelle, arbeitet das Raycasting auf dieser Ebene. Also denke ich, dass meine modellierte Oberfläche das Ray Casting nicht erfasst, aber ich weiß nicht warum. Kann mir jemand helfen?Unity Raycasting funktioniert nicht mit importiertem Objekt (meshcollider wird generiert)

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); 

     } 
    } 
} 

}

Antwort

0

Wenn Sie Mesh Collider verwenden, sollten Sie ‚Convex‘ Eigenschaft auf true gesetzt, um es mit Kollisionen zu arbeiten. Ich glaube, es ist auch für Raycasting. Sie können auch den Collider-Editiermodus eingeben und prüfen, ob die Netzoberfläche korrekt vom Collider bedeckt ist.

+0

wenn es konvex überprüfen funktioniert, aber jetzt meine Bäume und Charakter schweben buchstäblich ein Fuß 10 Fuß über meiner Oberfläche. Der Collider ist nicht so detailliert wie zuvor ... Kann ich das beheben? –

+0

Sie können dies korrigieren, indem Sie die Kollider auf die richtige Weise einstellen.) Versuchen Sie, alle Objekte in der Szene in Runtime auszuwählen, aktivieren Sie Gizmos und erweitern Sie die Collider-Komponente, um Collider-Grafiken in der Szenenansicht zu sehen. Wenn ein Objekt über einem anderen schwebt, während es direkt darauf stehen sollte, dann stimmt etwas nicht mit dem Collider (überprüfen Sie seine Größe und Einschränkungen) oder mit dem daran befestigten Starrkörper (Masse, Schwerkraft, nicht-kinematisch). Geben Sie weitere Informationen zu Ihren Einstellungen für Szene und Colliders an, wenn Sie alle diese Einstellungen ausgecheckt haben und es immer noch nicht funktioniert. –

Verwandte Themen