Jump to content
Unity Insider Forum

RealNiclas

Members
  • Content Count

    14
  • Joined

  • Last visited

Community Reputation

0 Neutral

About RealNiclas

  • Rank
    Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Guten Tag, ich wollte mal fragen ob es eine Möglichkeit gibt GPU Instancing für Sprites zu aktivieren, also wie bei Materialen von 3D Objekten. Ich habe gesehen, dass es bei Sprite-Default eine Option für GPU-Instancing gibt, die ist aber bei mir ausgegraut und kann somit nicht aktiviert werden. Gruß: Niclas
  2. Guten Morgen, wenn ich mein Spiel normal über den Startbutton in Unity starte funktioniert alles einwandfrei, doch wenn ich Build oder Build and Run nutze, sind die Collider meines Grids (Tilemap Collider 2D) nicht mehr vorhanden, bzw. der Spieler kollidiert nicht mehr mit diesen. Woran kann das liegen? Gruß: Niclas
  3. Guten Morgen, ich versuche nun schon einige Zeit Objekte mittels Resources.Load() zu laden, bis jetzt aber ohne Erfolg. Egal wie ich den Pfad angebe, das Objekt ist am Ende immer NULL. z.B.: GameObject cube = Resources.Load("Objects/cube") as GameObject; Das Objekt liegt in folgendem Ordner: "Assets/Objects/cube" Weiß jemand woran das liegen könnte? Gruß: Niclas
  4. Guten Tag, ich habe ein Problem bei folgendem Sachverhalt: Wenn der Spieler auf ein Objekt klickt, soll dieses ein anderes Modell bekommen, so das z.B. aus einem Würfel eine Kugel wird. Wie man auf das Objekt zugreift, auf welches der Spieler klickt, habe ich schon verstanden, nur scheitert es noch daran, dass 3D Modell durch ein anderes zu ersetzten. Weiß jemand wie man das löst? Gruß: Niclas
  5. Guten Tag, ich würde gerne die Bewegung von Sonne und Mond (Lichtquellen) mit einer Uhrzeit, die dem Spieler angezeigt wird, synchronisieren. So dass z.B. um 12:00 Uhr die Sonne Zenit steht und 0:00 Uhr der Mond im Zenit steht. Sonne/Mond Bewegung: public class DayNightMovement : MonoBehaviour { void Update() { transform.RotateAround(Vector3.zero, Vector3.forward, 2f); transform.LookAt(Vector3.zero); } } Gruß: Niclas
  6. Okay, nach einiger Zeit ist mir nun aufgefallen, dass ein 3D Modell doch aus sehr vielen Cubes besteht und somit sehr viele Objekte geladen werden. Aber die Sache mit dem Schatten hört sich auch gut an. Werde ich mir auf jeden Fall auch mal anschauen, denn unnötige Schatten müssen ja nicht sein. 😄 Danke für alle Antworten! Gruß: Niclas
  7. In der Szene in befindet sich eine Lichtquelle und ein Objekt besteht aus jeweils 2 Teilobjekten (ein veränderter Blender Cube und ein veränderter Cylinder). Eigentlich müsste nicht jedes Objekt einen Schatten werfen. Kann man einstellen das bei einem 3D Modell z.B. nur 1 Cube Schatten wirft und der Rest nicht?
  8. Ja, 200 Frames reichen auf jeden Fall, nur wundert es mich, dass die Frames so stark abnehmen. Bei einem Model ungefähr 200 Frames weniger ist schon ordentlich. Gruß: Niclas
  9. Guten Tag, ich versuche nun schon seit einiger Zeit folgendes Problem zu lösen: Ich lade ca. 144 3D Modelle, die ich in Blender modelliert habe und wenn alle Modelle angezeigt werden gehen die Frames von >1500 auf ca. 200 herab. Wenn die Kamera jedoch nicht alle Objekte zeigt, steigen die Frames wieder. So sieht mein Code aktuell aus: public class MapGenerator : MonoBehaviour { public GameObject hexagon; private int width = 12; private int height = 12; private float sizeWidth = 1.73f; private float sizeHeight = 1.5f; void Start() { for (int x = 0; x < width; x++) { for(int z=0; z<height; z++) { GameObject hexa = Instantiate(hexagon); hexa.transform.parent = GameObject.Find("Hexagons").transform; if (z % 2 == 0) hexa.transform.position = new Vector3(x * sizeWidth + sizeWidth / 2, 0, z * sizeHeight); else hexa.transform.position = new Vector3(x * sizeWidth, 0, z * sizeHeight); } } } } Gibt es da einen performantere Lösung, wie ich die Objekte laden bzw. generieren kann? Gruß: Niclas
  10. Ok, irgendwas mache ich noch falsch. //========| Script1 |=========== using System.Collections; using System.Collections.Generic; using UnityEngine; public class Spawner : MonoBehaviour { void Start () { TileClass tileClass = new TileClass(); tileClass.init(); } } //========| Script2 |=========== using System.Collections; using System.Collections.Generic; using UnityEngine; public class TileClass : MonoBehaviour { private GameObject tileObject; public int value; public void init() { tileObject = Resources.Load("Tile") as GameObject; tileObject.transform.position = new Vector3(0, 0, 0); value = 10; tileObject.AddComponent<TileScript>(); Instantiate(tileObject, tileObject.transform.position, tileObject.transform.rotation); } } //========| Script3 |=========== using System.Collections; using System.Collections.Generic; using UnityEngine; public class TileScript : MonoBehaviour { TileClass tileClass; private void OnMouseDown() { tileClass = GetComponent<TileClass>(); Debug.Log(tileClass.value); } } Wenn ich nun auf das Objekt klicke wird mir 0 ausgegeben, anstatt der gewünschten 10.
  11. Ahh ok, jetzt habe ich es verstanden. Vielen Dank! LG: Niclas
  12. Guten Abend, mein Ziel ist es gerade eine Map per Script zu erstellen (z.B. mit einer Größe von 10x10). Jedes Feld soll Eigenschaften besitzen. (z.B. posX = 1, posY = 1, menge = 100, etc.) Am generieren hängt es nicht, jedoch habe ich das Problem, dass ich nicht weiß wie ich ein bereits generiertes Objekt wieder ansprechen und somit auf die Eigenschaften zugreifen kann. Also wenn ich zum Beispiel ein Script auf allen Objekten habe und auf ein Objekt per "OnMouseDown()" zugreife, das dann die Position im Array ausgegeben werden kann. Hätte da vielleicht irgendjemand einen Hinweis für mich? Vielen Dank. LG: Niclas.
×
×
  • Create New...