Jump to content
Unity Insider Forum

MaZy

Members
  • Posts

    667
  • Joined

  • Last visited

  • Days Won

    29

MaZy last won the day on October 20

MaZy had the most liked content!

About MaZy

  • Birthday 02/20/1988

Profile Information

  • Gender
    Male
  • Location
    Hannover

Recent Profile Visitors

24,568 profile views

MaZy's Achievements

Advanced Member

Advanced Member (3/3)

188

Reputation

  1. Hallo im Inspector lasse ich mir ein ObjectField anzeigen. So sieht das in OnInspectorGUI(). SerializedProperty textComponentProperty = serializedObject.FindProperty("m_textComponent"); EditorGUILayout.ObjectField(textComponentProperty); if (GUI.changed) { Debug.Log(textComponentProperty.objectReferenceValue); serializedObject.ApplyModifiedProperties(); EditorUtility.SetDirty(target); } Dort kann ich ein text component reinwerfen. Wenn ich nun ein Text component drag and drop mache, wird beim Debug.Log auch kein null angezeigt. Heißt, dass es funktioniert hat mit drag and drop, doch danach ist es sofort wieder null. Ich weiß gar nicht mehr was ich machen soll. Im selben component ist string dabei und das lässt sich speichern. Benutze 2020.2.3f1 Hab es doch heraus gefunden: Ich hab zwei Types die Text heißen und hat nach falschen Text gesucht. Unity hat mir aber keine Fehlermeldung gezeigt, dass die Types nicht passen, sondern machte daraus direkt null. Zweites Type ist ein Child von UI.Text.
  2. Verstehe. Theorietisch müsste man so machen, damit es geht: Vector3 pos = transform.position; pos.Set(100,0,0); transform.position = pos;
  3. @Sascha Oh, das mit Set kannte ich auch noch nicht. Oh man hätten sie auch noch gleich SetX, SetY, SetZ gemacht (hab ich aber als extension gemacht) z.B. transform.position = transform.position.SetX(0).SetY(0). Ich weiß man kann position[0] fürs x setzen machen, aber die Schreibweise ist irgendwie doof und das obige funktioniert auch nicht so.
  4. Ich sehe deutlich, dass bei dir Unity Extension für Visual Studio nicht installiert ist. Kann eventuell daran liegen, aber bin mir nicht sicher. Edit: Aso auch MonoBehaviour ist nicht erkannt worden. Liegt wohl dann doch nicht an der Extension, sondern vllt müssen die Projektdateien neu erstellt werden bzw. Visual Studio mal neustarten.
  5. Unity hat dazu allgemeine VR Packages, wo man nur beim Canvas ein Component reinpacken muss. Zusätzlich noch paar für die Controller für die Raycasts. Danach gehen diese Events auch normal für VR. https://docs.unity3d.com/Packages/com.unity.xr.interaction.toolkit@1.0/manual/index.html#ui-interaction-setup
  6. Ist schon lange her, dass ich GoogleAds eingebunden habe, da ich mittlerweile fast nur UnityAds benutze (selbst das ist paar Jährchen her :D), aber ich habe vorladen lassen und dann angezeigt. Also dein Request finde ich auch merkwürdig. Da du Destroy beim Requesten tust. Das macht nicht so viel sinn, da beim Destroy eher darum geht, dass du Speicher freigibst. Also am besten dahin packen, wo man nicht mehr die Werbung sieht. Quasi nach Werbung wegklicken. Außerdem denke ich, dass aber Destroy nur nötig ist, wenn du gar nicht mehr anzeigen willst. Und ich gehe davon aus, dass man immer irgendwann anzeigen will und daher Destroy nicht gebraucht wird. Also im Prinzip solltest du einfach nur erst mal Initialisierung durchführen und laden (z.B. InterstitialAd und LoadAd). Das hab ich vor oder im Hauptmenü meistens gemacht. Und dann irgendwann im Spiel ShowRewarded, wo du die Werbung anzeigen willst.
  7. Also @malzbie Vorschlag sollte die roten Fehler nicht ändern, denn das hat ja was eher mit dem Build zu tun. Ich kann ja theoretisch für Mac auch programmieren und würde keine Fehlermeldung sehen. Tippe daher auch auf @Sascha's Vorschlag, denn die Library oder Temp erstellen diese Sachen und binden es beim Projekt ein. Kann sein, dass in dem Fall nichts neues erstellt werden musste und daher Fehler auftauchen. Zur not kann man auch in der Unity Einstellungen die Visual Studio Projekte neu erzeugen lassen. Ich weiß gerade nicht aus dem Kopf wo genau das war.
  8. Ist bissel her, aber ich würde es übers Netzwerk machen. Also einfach eine Konsolenanwendung schreiben, welches auch als Server dient. Wenn man Unity startet sollte es damit verbinden und die Daten runterladen.
  9. So wie das @Sascha macht, versuche ich es auch mittlerweile. Der Unterschied ist nur, dass ich eher andere Namen verwende: Game Units UnitName Scripts (je nachdem, ob sie personalisierte haben) Models Prefab Texture
  10. Moin ein Tipp zu der if abfrage. Du kannst das optimieren in dem du das so machst: if (collision.gameObject.TryGetComponent<HuasScript>(out HuasScript huasScript)) { id = huasScript.GebäudeId; } else if (collision.gameObject.TryGetComponent<FarmScript>(out FarmScript farmScript) { id = farmScript.GebäudeId; } Viel bessere wäre übrigens, dass du ein extra Component hast die Basics hat. Beispiel wäre ein Component namens BuildingData oder BuildingInfo passend und mit den Daten wie die ID oder so. Nun musst du EINMAL if (collision.gameObject.TryGetComponent<BuildingData>(out BuildingData buildingData)) { id = buildingData.GebäudeId; } abfragen und schon ersparst du die ganzen if abfragen.
  11. Kannst time.deltaTime benutzen oder FixedUpdate() benutzen. Update wird nämlich mehrmals aufgerufen und wird je FPS mal weniger ode rmehr sein FixedUpdate ist immer gleich.
  12. Lasse doch im Hauptmenü mit einem Script überprüfen, ob Cursor versteckt ist, wenn ja dann sichtbar machen. Das wäre die einfachste Lösung. EDIT: Also im Hauptmenü ist die Maus wieder da, aber ist in der Mitte fest?
  13. Mal ehrlich, würde dir helfen, aber ich hab keine Lust Dateien runterladen zu müssen um zu helfen.
  14. Wenn irgendwo "Draw" steht, geht es meistens um eine Zeichnung in einem Frame. Leider kenn ich mich da nicht aus, aber bei 100.000 Meshs kann ich auch verstehen, dass man da hohe GPU Auslastung hat. Sieht man die 100.000 wirklich gleichzeitig. Du kannst nämmlich vllt sowas wie Culling machen und nicht zeichnen, wenn man sie nicht sieht. Ansonsten nimm doch einfach gameObjects mit Meshs. Da macht das Unity bissel automatisch.
  15. Benutze einfach dafür DateTime. Das tut schon alles was du brauchst.
×
×
  • Create New...