Unity 3D – die neusten Beiträge

Unity - Object reference not set to an instance of an object?

Hallo, weiß jemand wie ich in Unity diesen NullReferenceException Fehler beheben bzw. fixen kann? Kenne mich noch nicht so richtig mit C# und Unity aus. Daher weiß ich auch nicht, wie ich mit diesen Fehler umgehen kann. Habe in Unity 3D eine Shop Scene gemacht, und habe dann dieses Script für die Buttons und den Shop allgemein gemacht, um Skins kaufen zu können und die Game Coins mit den Buttons zu verbinden. Ich habe ein "Debug.Log" erstellt. Um zu schauen, dass wenn ich auf den Button klicke, in der Konsole dann steht als Beispiel "Button wurde geklickt!" doch stattdessen steht dort immer als Fehler "NullReferenceException: Object reference not set to an instance of an object

ShopManager.Start () (at Assets/Scripts/Best/ShopManager.cs:15)"

Hier ist das Script für den Shop, und die Buttons. (C#):

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;


public class ShopManager : MonoBehaviour
{


    public int kontostand;
    public Text kontostandText;


    // Start is called before the first frame update
    void Start()
    {
        kontostandText.text = kontostand.ToString();
    }


    public void ItemKaufen(int itemPreis)
    {
        // Kontostand überprüfen
        if(kontostand >= itemPreis)
        {
            Debug.Log("Item wurde gekauft");
            // Item zum Inventar hinzufügen
            // Kontostand neu berechnen
            kontostand = kontostand - itemPreis;
            // Kontostand aktualisieren
        }
        
    }

Ich hatte mir ein Tutorial dazu angeschaut wie man es behebt, doch leider ohne Erfolg.

Weiß jemand, was das bedeutet/heißt und wie man es am einfachsten beheben kann, und wo da im Script der Fehler ist? Es soll ja angeblich in Zeile 15 sein. Ich hoffe, ihr versteht meine Message dazu ein wenig. Vielen Dank im voraus! :D

Bild zum Beitrag
Computer, Fehler, programmieren, C Sharp, Programmiersprache, Unity 3D, Visual Studio, Error Code, Unity, Spiele und Gaming

Wie programmiert man einen virtuellen 3D-Raum ohne Game Engine?

Heutzutage haben kleinere Entwickler den Vorteil, dass es Game Engines gibt, die einen den großteil der eigentlichen Arbeit abnehmen und bereits beim starten eines neuen Projektes einen leeren und fertigen 3D Raum anzeigen, wo Sie nur noch ihre mit Blender z.b. modelierten Objekte reinplatzieren müssen und simple Script Dateien programmieren müssen um die reinplatzierten Objekte aufgaben zu geben. Wie das bewegen auf Koordinaten sobald der Spieler W,A,S,D benutzt. Dann braucht man das "Spiel" nur noch exportieren und man hat eine ausführbare .exe datei die einen 3D Raum beinhaltet mit einem objekt das man steuern kann.

Aber das was mich interessiert ist, wie genau macht man den eigentlich den leeren Raum den es bereits schon immer als Vorlage gibt bei Game Engiens wie Unity oder Unreal ENgine? Allein Blender um überhaupt die 3D Modelle zu machen ist ja schon selber ein vorgefertigter 3D Raum der als Werkzeug dient um Objekte zu modellieren!

Also wie programmiert man eigentlich überhaupt denn 3D Raum den man überhaupt zuerst braucht um darauf dann ein spiel bauen zu können?

Um das ganze zu verbildlichen:

Das hier ist ein 3D Raum worin man sich frei umschauen kann und das jeder hat der ein neuen und Leeren Projekt startet in einer Engine wie Unity:

Aber wie macht man denn überhaupt den vorgefertigten 3D Raum / die eigentliche Scenen-Ansicht die man im Editor bereits von Unity hat?

Benutzt man dafür ein Visual Studio-Forms Projekt um überhaupt einen 3D Raum aus dem Nichts zu erschaffen oder wie macht man den eigentlichen leeren 3D Raum überhaupt indem dann später erst alles stattfinden kann?

Bild zum Beitrag
Computer, Technik, Programmierer, programmieren, Programmiersprache, Technologie, Unity 3D, Visual Studio, Unity, Unreal Engine, Unity Engine, Unreal Engine 4, Spiele und Gaming

Unity - Wie verschiebe ich Objekte in einer Animation?

Ich habe mit "STRG + D" eine Kopie von dem HauptOrdner gemacht um eine Animation davon zu erstellen wie üblich. Wenn ich aber versuche mit Hilfe der Verschiebungspfeile, oder die Position per Zahlenfenster von dem Mädchen Playermodel, auf den Panzer zu verschieben. Wird Sie jedes mal zurück gesetzt sobald ich mit der maus auf irgend eine art und weise in dem "Animation"s bereich einklicke oder einwirke...

Wie kann ich machen das dass Mädchen-Playermodel auf dem Panzer ist und bleibt und nicht jedes mal auf Bodenhöhe im Panzer drinnen steckt sobald ich im späteren spielverlauf die animation, die ich versuche zu machen, ausführe?

Mir ist übrigends egal das Sie in der Motorcykle position ist weil es eigentlich optisch sogar besser aussieht wen sie sitzend ist wenn sie nur zur Hälfte aus dem Panzer oben raus schauen soll, Als im stehen... Nur ist mein Problem das ich sie nicht auf den Panzer verschieben kann, da sie entweder vor der "anim." datei spätestens wieder auf bodenhöhe zurück kehrt (siehe Bilder), wenn ich dann eine "anim." Datei erstelle und wenn ich es während der "anim." Datei mache, sie sich dann nicht verschieben lässt weil sie nach jeder weiteren interaktion in den Animation, Sie zurück auf ihre position X = 0, Y = 0, Z = 0, zurück kehrt!

Wenn ich diesen Avatar nun in VRChat hochlade und und die animation ausführe, dann spawnt der panzer, aber sie steckt und bleibt im panzer auf Bodenhöhe drin.

Anfang:

Dann wurde das Playmodel auf den Panzer verschoben:

Und nach einer weiteren interaktion in den "Animation Bereich ist wie bereits gesagt das Mädchen auf die standard postion zurück gekehrt. Ich habe auch versucht bei "Add properties" das transform für X Y Z hinzuzufügen was aber garnichts hilft und die werte nicht übernehmen will. auch nicht mit Enter:

Bild zum Beitrag
Computer, Unity 3D, Unity, Unity Engine, Unity 5, Spiele und Gaming, vrchat, VRChat Model, VRChat Avatar, VRChat Unity

Meistgelesene Beiträge zum Thema Unity 3D