Verdemis Geschrieben 11. Februar 2016 Melden Share Geschrieben 11. Februar 2016 Hallo Leute, irgendwie komme ich immer noch nicht mit dem Unity Raster zurecht. Ist es nicht irgendwie möglich das sich Objekte am Raster ausrichten. Wenn ich also ein Objekt habe das genau 1 Einheit hoch und breit ist, das sich dieses Objekt beim bewegen im Editor immer innerhalb eines Rasterfelds ausrichtet? Es gibt ja die Snap Funktion aber irgendwie klappt das nicht so richtig oder ich mache einfach etwas falsch. :/ LG Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Cxyda Geschrieben 11. Februar 2016 Melden Share Geschrieben 11. Februar 2016 Also wenn du die SnapSettings aufmachst, dein objekt ausgewählt hast kannst du Snap X / Y etc machen und die rastergröße einstellen dann richtet der das Objekt am Raster aus. Aber weil ich die Snap funktion auch nicht mag hab ich mir ein kleines script geschrieben das alle Objekte mit bestimmten tags snappt .. ABER VORSICHT !! Damit kannst du deine ganzen objekte verschieben !! (wenn du das falsche tag auswählst bzw die falsche tilegröße und Snap anmachst!) using UnityEngine; using System.Collections; [ExecuteInEditMode] public class GridSnapEditor : MonoBehaviour { public enum SnapTag { // hier deine eigenen tags eintragen. Building, GridTile, Creep } public SnapTag snapTag; public bool snapToGrid = false; public int cellSize = 10; public Vector3 offset; public GameObject[] buildings; public Vector3 SnapPositionToGrid(Vector3 pos) { Vector3 clampedPosition = new Vector3(); clampedPosition.x = Mathf.RoundToInt(pos.x/cellSize); clampedPosition.y = Mathf.RoundToInt(pos.y/cellSize); clampedPosition.z = Mathf.RoundToInt(pos.z/cellSize); //clampedPosition =clampedPosition * cellSize + offset; Debug.Log("clamped " +clampedPosition.ToString()); clampedPosition =clampedPosition * cellSize; return clampedPosition; } void Update () { if(snapToGrid) { allObjs= GameObject.FindGameObjectsWithTag(snapTag.ToString()); Debug.Log("Snapping"); foreach (GameObject go in allObjs) { go.transform.position = SnapPositionToGrid(go.transform.position); } } } } Das script einfach auf irgendein gameObject ziehen, das tag ausählen, grid size einstellen und snapToGrid anmachen.... Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Hrungdak Geschrieben 11. Februar 2016 Melden Share Geschrieben 11. Februar 2016 Strg-Key halten beim positionieren? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Verdemis Geschrieben 1. März 2016 Autor Melden Share Geschrieben 1. März 2016 Ok danke ich werde es mal testen ^^ Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.