Jump to content
Unity Insider Forum

Coooder

Members
  • Gesamte Inhalte

    89
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von Coooder

  1. Coooder

    Baufläche prüfen

    Hallo liebe Spielemacher, ich hab da ein kleines Problem und hoffe jemand kann mir dabei helfen. In meinem Script zum Gebäude platzieren ist ein Problem aufgetreten das ich mir nich so ganz erklären kann. Und zwar versuche ich zu prüfen ob die potenzielle Baufläche auch eben ist. Dazu habe ich mehrere empty GameObjects auf gleicher y koordinate über dem Gebäude verteilt und raycaste von deren Positionen aus nach unten und vergleiche die Distanzen. private void CheckGrounding(Building building) { List<float> groundPointDistances = new List<float>(); foreach (Transform groundPoint in building.groundPoints) { Ray ray = new Ray(groundPoint.position, Vector3.down); RaycastHit hit; if (Physics.Raycast(ray, out hit, LayerMask.GetMask("Terrain"))) { groundPointDistances.Add(hit.distance); } } for (int i = 1; i < groundPointDistances.Count; i++) { if (groundPointDistances[0] - groundPointDistances[i] != 0) { print("Joooo"); } } } Die Distanzen sind jedoch immer gleich, auch wenn die eine Ecke im Berg hängt. Wenn ich aber Berge oder Hügel hinzufüge ohne den NavMesh danach zu baken springt er sofort rein und schreibt mir mein "Joooo" ... selbst auf ebener Fläche Ich benutz den Unity Terrain Editor, falls das eine Rolle dabei spielen könnte. Ich bin da echt ratlos ... jemand eine Idee?
  2. Hallo liebes Forum, ich überlege mir grad ein neues Projekt ... so ein kleines Strategie/Aufbau Spiel. Da ich noch nie was mit nem Multiplayer geschaffen habe, wollte ich frage ob mein Vorhaben wie folgt Sinn macht oder überhaupt umzusetzen ist. Es soll ein rundenbasiertes Spiel werden. Meine Vorangehensweise wäre wie folgt: Als erstes implementier ich alles was ein Spieler so machen kann ... also Gebäude/Einheiten bauen, forschen, angreifen(anfangs nur NPC Einheiten), etc. Wenn das alles soweit funktioniert, würde ich mich damit auseinander setzen wie ein 2ter Spieler ebenfalls interagieren kann. Kurz gefragt: Kann ich die Implementierung des 2ten bzw. des Multiplayers so lange aufschieben bis alles andere fertig ist oder muss/sollte ich das schon früher einfügen?
  3. Coooder

    Auswahlrahmen

    habs nochmal komplett überarbeitet nach diesem tut: http://hyunkell.com/blog/rts-style-unit-selection-in-unity-5/ funzt super
  4. Coooder

    Auswahlrahmen

    Hallo Leute, ich versuche grad einen Typischen Auswahlrahmen hinzubekommen wie man ihn aus diversen RTS spielen her kennt, um eine Anzahl an Einheiten auszuwählen. Der Rahmen wird wie üblich mit gedrückter Maustaste gezogen. Das Funktioniert auch. Allerdings werden die im Rahmen befindlichen Einheiten nicht Korrekt erkannt. hier mal der Code: public class SelectBox : MonoBehaviour { private Vector2 _rectStartPos; private bool _isSelecting = false; private bool _isMouseDown = false; private GameManager _manager; private Rect _rect; void Awake() { _manager = GetComponent<GameManager>(); } void Update() { if (Input.GetAxis("LeftClick") > 0) { if (!_isMouseDown) { _isMouseDown = true; _rectStartPos = Input.mousePosition; } if (!_isSelecting) { if (Vector2.Distance(_rectStartPos, Input.mousePosition) > 1) _isSelecting = true; } } else if (_isSelecting) { _isMouseDown = _isSelecting = false; _manager.CheckSelectableUnits(_rect); _rect = new Rect(); } else _isMouseDown = false; } void OnGUI() { if (_isSelecting) { // Find the corner of the box Vector2 origin; origin.x = Mathf.Min(_rectStartPos.x, Input.mousePosition.x); // GUI and mouse coordinates are the opposite way around. origin.y = Mathf.Max(_rectStartPos.y, Input.mousePosition.y); origin.y = Screen.height - origin.y; //Compute size of box Vector2 size = _rectStartPos - (Vector2)Input.mousePosition; size.x = Mathf.Abs(size.x); size.y = Mathf.Abs(size.y); // Draw it! _rect = new Rect(origin.x, origin.y, size.x, size.y); GUI.Box(_rect, ""); } } } public class GameManager : MonoBehaviour { public List<Transform> units = new List<Transform>(); public void CheckSelectableUnits(Rect selectionRect) { foreach (Transform unit in units) { if (selectionRect.Contains(Camera.main.WorldToScreenPoint(unit.transform.position))) { Debug.Log("JOOOOOOOOO"); } } } }
  5. Hallo Leute, ich übe gerade ein wenig an meinen bescheidenen Blender Skillz und wollte mir mal so ein Würfel mit Armen und Beinen machen und den dann Animieren. Ich habe mit dem Skin Modifier und dem Mirror Modifier den Körper und die Beine dann geformt ... soweit so gut, nur würde ich gerne jetzt die Beine(und Arme) rund haben aber nicht den Körper. Um was rund zu bekommen kenn ich nur den Subdivision Surface und Multiresolution Modifier aber dann wird leider ja alles Rund. Hat da einer Rat wie man das bewerkstelligen kann?
  6. Hallo, da ich grade ein Plattform übergreifendes App Projekt plane und Xamarin mir nur steine in den Weg legt, wollt ich mal fragen ob Unity sich dafür auch eignen würde?? Zum Beispiel müssten Karten und Routen angezeigt werden, Google Maps z.B? Und wie sieht das mit der Kamera der Handys? Kann man die vernünftig ansteuern? Auch Frontkamera?
×
×
  • Neu erstellen...