Unity 3D – die neusten Beiträge

Geld verdienen mit Unity Ads als Minderjähriger / Steuern?

Moin!

Vorweg: Ich suche hier keine legale Beratung oder sonstiges, noch gebe ich sie. Es geht mir einfach darum zu schauen, welche Optionen ich habe und ob ihr irgendwelche Tipps für mich habt.

Erstmal zu mir:

Ich bin 15 Jahre Alt und programmiere seit etwas mehr als einem Jahr Spiele mit Unity und C#, hauptsächlich Mobile-Games. Während dieser Zeit konnte ich mich immer weiter verbessern, weswegen ich bitte vom Tisch räumen würde, das ich einfach irgendein C#-Amateur bin der hier blind reingeht.

Ein Projekt, was tatsächlich eines meiner ersten war habe ich vor ein paar Monaten wieder entdeckt und nach einigen Verbesserungen am Code weiterentwickelt, sodass ich jetzt mit dem Stand des Spiels sehr zufrieden bin, als auch meine Freunde die mir sehr gutes Feedback zu Beta-Patches gegeben haben. Es ist eine Art Endless Runner mit Platformer-Aspekten.

Soweit also der jetzige Stand.

Ich wollte schon von Anfang an ein Spiel im Google Play Store (App Store kommt mir momentan noch zu professionell und teuer vor) veröffentlichen. Die einmalige Registrierungsgebühr von 25€ wären auch kein Problem, und dieses Konto könnte ja offiziell einem meiner Elternteile gehören, die dann auch legal den Vertrag des Entwicklerkontos annehmen könnten.

Ich erhoffe mit natürlich keine tausende von Downloads oder riesigen Erfolg, aber zumindest das Freunde / Familie als auch Leute die über Instagram auf den Link klicken sich das Spiel im Play Store herunterladen können. Wenn ich mit dem Spiel allerdings zufällig doch einen kleinen Erfolg erziehlen würde wäre das auch kein Problem, da das Spiel auf kostenpflichtigen Onlinedienste verzichtet, die monatlichen Gebühren mit sich bringen würden.

So viel dazu, aber wenn man ein Spiel jetzt theoretisch schon im Play Store veröffentlicht wäre es doch auch eigentlich eine interessante Erfahrung, Werbung über Unity Ads einzubauen, z.B. um einen Erfolg mit dem man Probleme hat freizuschalten oder nach 5 Toden eine kurze Werbung einzubauen. So könnte ich nicht nur wenigstens etwas Geld damit verdienen, sondern auch Erfahrung für zukünftige Projekte sammeln.

Allerdings werde ich aus den Richtlinien für Unity Ads wirklich nicht schlau. Wenn man sich registrieren würde, kann man sich als Unternehmen oder Privatperson eintragen, soweit so gut. Jetzt kommt aber der rechtliche Teile mit Steuern: Soweit ich verstehe kann man aber wenn es ums Auszahlen geht zumindest in Deutschland doch nicht ohne ein Unternehmen Auszahlungen tätigen, was ja auch irgendwie Sinn machet da man hier ja wahrscheinlich ein Gewerbe bräuchte.

Ich möchte natürlich wenn dann offiziell versteuerte Auszahlungen tätigen und auf keinen Fall irgendeinen "Legalen Grauzonen"-Weg gehen.

Gibt es irgendeinen Weg Unity Ads ohne ein Gewerbe zu nutzen?

Muss ich damit warten bis ich 18 bin?

Habt ihr irgendwelche Tipps für mich?

Ich bin dankbar für jegliche Antworten / Tipps :)

App, Steuern, Android, Gewerbe, Spieleentwicklung, Unity 3D, Unity

Wie fixt man diesen unity Fehler?

hi; ich mache grade ein FPS Shooter game und habe das Problem das wenn ich im Skript für die Waffe den Damage auf 30 setze hat der Enemy mit einem Schuss nur noch 30hp aber dann ist er unsterblich.

Hier das gun skript

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class Gun : MonoBehaviour

{

  public float damage = 10f;

  public float range = 100f;

  public float Firerate = 15f;

  public Camera fpscam;

  private float nextTimeToFire = 0f;

  // Start is called before the first frame update

  void Start()

  {

  }

  // Update is called once per frame

  void Update()

  {

    if (Input.GetMouseButton(0) && Time.time >= nextTimeToFire)

    {

      nextTimeToFire = Time.time + 1f / Firerate;

      Shoot();

    }

  }

  void Shoot()

  {

    RaycastHit hit;

    if (Physics.Raycast(fpscam.transform.position, fpscam.transform.forward, out hit, range))

    {

      Opfer opfer = hit.transform.GetComponent<Opfer>();

      if (opfer != null)

      {

        opfer.TakeDamage(damage);

      }

      Debug.Log(hit.transform.name);

    }

  }

}

und hier das Enemy Health skript

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class Opfer : MonoBehaviour

{

  public float health = 100f;

  public void TakeDamage(float amount)

  {

    health = amount;

    if(health <= 0)

    {

      Destroy(gameObject);

    }

  }

}

und das Enemy skript

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

using UnityEngine.AI;

public class EnamyManager : MonoBehaviour

{

  public GameObject Player;

  public Animator enemyAnimator;

  public float damage = 30f;

  // Start is called before the first frame update

  void Start()

  {

    Player = GameObject.FindGameObjectWithTag("Player");

  }

  // Update is called once per frame

  void Update()

  {

    GetComponent<NavMeshAgent>().destination = Player.transform.position;

    if (GetComponent<NavMeshAgent>().velocity.magnitude > 1)

    {

      enemyAnimator.SetBool("isRuning", true);

    }

    else

    {

      enemyAnimator.SetBool("isRuning", false);  

    }

  }

  private void OnCollisionEnter(Collision collision)

  {

    if(collision.gameObject == Player)

    {

      Player.GetComponent<PlayerManager>().Hit(damage);

    }

  }

}

Vielen dank wenn mir jemand helfen kann

Error, Unity 3D

Wie findet ihr die Story für ein Horrospiel?

Kapitel 1: Der Weg ins Unbekannte

Die Geschichte beginnt damit, dass der Spieler, ein Abenteurer namens Jack, sich im dichten Wald verirrt hat. Die Nacht bricht herein, und Jack beginnt, sich Sorgen zu machen. Als er durch die Bäume wandert, entdeckt er plötzlich ein verlassenes Herrenhaus, das mysteriös aus dem Dunkel auftaucht. Ohne andere Optionen in Sicht entscheidet sich Jack, das Haus zu erkunden, um Schutz vor der Nacht zu finden.

Kapitel 2: Ein düsteres Willkommen

Jack betritt das verlassene Herrenhaus und findet sich in einer düsteren und gespenstischen Umgebung wieder. Das Innere des Hauses ist in Dunkelheit gehüllt, nur das schwache Licht des Mondes dringt durch die staubigen Fenster. Als er tiefer in das Haus eindringt, werden die Geräusche um ihn herum unheimlicher, und er spürt eine unbestimmte Präsenz, die ihn beobachtet.

Kapitel 3: Die Suche nach Antworten

Entschlossen, die Geheimnisse des Herrenhauses zu enthüllen, beginnt Jack, nach Hinweisen zu suchen. Er durchsucht Zimmer, öffnet alte Truhen und liest vergilbte Tagebücher, die von früheren Bewohnern des Hauses hinterlassen wurden. Doch je mehr er entdeckt, desto unheimlicher werden die Enthüllungen über die dunkle Vergangenheit des Herrenhauses.

Kapitel 4: Gefangen im Labyrinth

Als Jack weiter in die Tiefen des Herrenhauses vordringt, wird er plötzlich von einem unerklärlichen Ereignis gefangen genommen. Türen schließen sich hinter ihm, Gänge verändern sich plötzlich, und er scheint in einem undurchdringlichen Labyrinth gefangen zu sein. Verzweifelt versucht er einen Ausweg zu finden, während die Dunkelheit um ihn herum immer bedrohlicher wird.

Kapitel 5: Die Stimmen der Vergangenheit

Während Jack verzweifelt nach einem Ausweg sucht, hört er plötzlich Stimmen aus der Vergangenheit, die durch die Gänge des Herrenhauses hallen. Er erkennt, dass er nicht allein ist, und dass die Geister der früheren Bewohner des Hauses ihn verfolgen. Die Stimmen flüstern düstere Warnungen und rufen ihn, tiefer in das Geheimnis des Herrenhauses einzutauchen.

Kapitel 6: Die Suche nach einem Fluchtweg

Entschlossen, einen Fluchtweg zu finden, setzt Jack seine Suche fort, während die Geister der Vergangenheit ihm immer dichter auf den Fersen sind. Er stößt auf verborgene Passagen, geheime Räume und mysteriöse Symbole, die ihm Hinweise auf die Geschichte des Herrenhauses geben. Doch je tiefer er gräbt, desto klarer wird ihm, dass die Geheimnisse des Hauses tödlicher sind, als er sich je vorgestellt hat.

Kapitel 7: Die Rache der Geister

Plötzlich eskaliert die Situation, als die Geister des Herrenhauses beginnen, Jack direkt anzugreifen. Er muss sich gegenüber übernatürlichen Kräften behaupten, die versuchen, ihn in die Dunkelheit zu ziehen. Mit all seiner Entschlossenheit und seinem Mut kämpft Jack um sein Überleben, während er verzweifelt nach einem Ausweg aus dem Albtraum sucht.

Kapitel 8: Die Offenbarung

Inmitten des Chaos und der Verzweiflung kommt Jack endlich der Wahrheit über das Herrenhaus näher. Er entdeckt eine alte Legende über einen Fluch, der das Haus seit Jahrhunderten umgibt, und die dunklen Machenschaften, die es im Laufe der Zeit gefangen gehalten haben. Doch bevor er die Wahrheit vollständig verstehen kann, muss er sich einem letzten, furchterregenden Feind stellen, der tief in den Mauern des Herrenhauses lauert.

Kapitel 9: Der Kampf um die Freiheit

Mit all seinem Mut und seiner Entschlossenheit stellt sich Jack seinem letzten Gegner, einer dunklen Präsenz, die das Herrenhaus beherrscht. Es ist ein Kampf auf Leben und Tod, der die Grenzen von Jacks Verstand und Körper auf die Probe stellt. Doch durch seine Entschlossenheit und seinen unerschütterlichen Willen gelingt es ihm schließlich, den Fluch des Herrenhauses zu brechen und einen Weg zurück in die Freiheit zu finden.

Kapitel 10: Die Rückkehr ins Licht

Erschöpft, aber siegreich, tritt Jack aus dem verlassenen Herrenhaus und zurück ins Licht des Tages. Er hat das Geheimnis des Herrenhauses gelüftet und seinen eigenen Mut und seine Entschlossenheit unter Beweis gestellt. Während er sich von den Schrecken des Herrenhauses entfernt, verspricht er sich selbst, nie wieder in die Dunkelheit zurückzukehren.

Videospiele, Horror, Gaming, Spieleentwicklung, Unity 3D, Unity

Warum kann ich den Typ "InputManager" in Unity nicht nutzen ohne Error?

Hallo an alle,

ich bin sehr neu im Bereich Spieleentwicklung mit Unity und möchte ein simples Spiel programmieren, in dem man verschiedene Räume gestalten kann. also hab ich mir ein Tutorial herausgesucht ( https://www.youtube.com/watch?v=l0emsAHIBjU&list=PLcRSafycjWFepsLiAHxxi8D_5GGvu6arf ) in dem dies erklärt wird. Bei 3:47 benutzt er den Typ "InputManager" im zweiten SerializeField.

Wenn ich jedoch das Script so kopiere wie er es im Video schreibt, zeigt mir Unity einen Fehler bei "InputManager" an. Da er im Video sagt, dass er das alte Input System nutzt hab ich dieses auch eingestellt.

Da ich nicht wirklich viel Ahnung von dem habe was er da schreibt, hab ich im Internet nach einer Lösung gesucht, doch scheinbar nutzt niemand diesen Typ. Vielen Dank im Voraus für die Antwort

P.S.: Ich habe ein Bild von Visual Studio eingefügt in dem auch der Error zu sehen ist.

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


public class PlacementSystem : MonoBehaviour
{
    [SerializeField]
    private GameObject mouseIndicator;
    [SerializeField]
    private InputManager inputManager;


    private void Update()
    {
        Vector3 mousePosition = inputManager.GetSelectedMapPosition();
        mouseIndicator.transform.position = mousePosition;
    }
}
Bild zum Beitrag
Software, C Sharp, Code, Error, Fehlerbehebung, Programmiersprache, Spieleentwicklung, Unity 3D, Visual Studio, Fehlermeldung, input, Unity

Wie kann ich in Unity 3D die Position speichern und wieder Aufrufen?

Hallo, ich bin 15 benutze die Engine "Unity" seit ungefähr 2einhalb Jahren. Ich habe vor einigen Wochen ein Projekt gestartet, wo es darum geht, durch einen Trigger zu gehen wie ein Portal und dann auf verschiedenen Planeten zu landen und diese zu Erkunden. Kurz gesagt geht es um die Erkundung von Planeten. Jeder Planet hat eine eigene Szene und ich benutze DontDestroyOnLoad damit z.B. In Game Optionen gespeichert werden bzw. Nicht zerstört werden, wenn man die Szene wechselt. Nun habe ich aber vor das wenn man das Spiel verlässt, und wieder das Spiel startet man nicht von vorne beginnen muss und wieder im Hauptmenü landet sondern dort weiter machen kann wo man aufgehört hat. Das sozusagen die Position gespeichert wird und man sofort im Spiel landet. Aber ich habe keine Ahnung, wie ich das hinbekommen soll. Mir kam da evtl. PlayerPrefs in den Sinn aber die speichern wenn dann auch nur beispielsweise die In Game Optionen wie Grafikeinstellungen oder Sound. Können PlayerPrefs auch die Position speichern und die Szene in der man zuletzt war? Es ist nicht einfach PlayerPrefs, DontDestroyOnLoad usw. Zu verstehen, habe mir auch die ganze Nacht den Kopf drüber zerbrochen. Deswegen versuche ich mein Glück hier und hoffe, dass man mir weiter helfen kann. Freue mich auf alle Antworten!

Spiele, PC, Technik, programmieren, C Sharp, Spieleentwicklung, Unity 3D, Unity

Ist es sinnvoll immer wieder neue Szenen in Unity zu erstellen?

Hallo, ich habe in Unity ein Projekt (3D) vor einigen Monaten gestartet. In diesem Projekt bzw. Spiel geht es darum, Planeten bzw. die Atmosphäre der Planeten, einschließlich Exoplaneten zu erkunden, die so realistisch wie möglich versucht werden dar zu stellen. Ich arbeite an dem Projekt alleine. Nun möchte ich mit dem Arbeiten an den Planeten bzw. Terrains beginnen und habe vor für jeden einzelnen Planeten (die Planeten bestehen nur aus Terrains) eine neue Szene zu machen. Also beispielsweise, ich habe 200 neue Szenen gemacht und in jeder Szene sind die Unterschiedlichen Terrains, die die Atmosphäre der Planeten darstellen soll, die man erkundet. Also 200 Szenen für 200 Planeten. Aber ist das die schlauste oder beste Herangehensweise? Ich meine, für jedes Terrain eine neue Szene zu erstellen sodass es irgendwann nicht mehr übersichtlich ist, ist doch nicht die beste Methode, oder? Ich habe jedoch keine Ahnung, wie ich es viel einfacher machen könnte und bei einem Update nicht jede Szene überschreiben müsste, wie Dynamische Generierung oder so. Ich bin noch relativ neu in Unity. Fazit: Ich möchte nicht unendlich viele Szenen erstellen müssen, sondern eine übersichtlichere Methode finden, um Terrains in Unity zu machen und nicht pro Terrain eine komplett neue Szene machen zu müssen. Wie Dynamische Generierung oder Scene Management, habe aber keine Ahnung wie das funktioniert. Kennt jemand eine übersichtlichere, leichtere oder Schlauere Methode? Wenn ja, würde es mir sehr weiter helfen. Danke für alle Antworten.

Spiele, Computer, programmieren, C Sharp, Spieleentwicklung, Unity 3D, Unity

Box collider funktioniert nicht mit rb.MovePosition?

Ich habe mit Unity angefangen und habe ein kleines problem:
Und zwar habe ich eine kamera mit boxcollider und einen terrain mit terraincollider. Nur leider kann ich die kamera durch das terrain durchschieben! Ich habe schon den verdacht dass es an rb.MovePosition liegt aber weiß nicht wie ich das reparieren kann! Alles wie zumbeispiel rigidbody sind auf der kamera da bin ich mir sicher! Es kommt auch kein Fehler in der Konsole!
Mein Kompletter code:

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

public class SmoothMove : MonoBehaviour
{
   public float rotationSpeed = 2.0f;
   public float smoothRotationFactor = 5.0f;
   private float yaw = 0.0f;
   private float pitch = 0.0f;

   public float jumpForce = 10.0f;
   public float moveSpeed = 20.0f;
   private Rigidbody rb;
   private bool isMovingForward = false;

   private void Start()
   {
       rb = GetComponent<Rigidbody>();
   }

   private void Update()
   {
       HandleCameraRotation();

       if (Input.GetKeyDown(KeyCode.Space))
       {
           Jump();
       }

       if (Input.GetKeyDown(KeyCode.UpArrow))
       {
           StartMovingForward();
       }

       if (Input.GetKeyUp(KeyCode.UpArrow))
       {
           StopMovingForward();
       }

       if (isMovingForward)
       {
           MoveForward();
       }
   }

   private void HandleCameraRotation()
   {
       if (Input.GetMouseButton(0))
       {
           yaw += rotationSpeed * Input.GetAxis("Mouse X");
           pitch -= rotationSpeed * Input.GetAxis("Mouse Y");
           Quaternion targetRotation = Quaternion.Euler(pitch, yaw, 0.0f);
           transform.rotation = Quaternion.Lerp(transform.rotation, targetRotation, Time.deltaTime * smoothRotationFactor);
       }
   }

   private void Jump()
   {
       rb.velocity = new Vector3(rb.velocity.x, rb.velocity.y + 5, rb.velocity.z);
   }

   private void StartMovingForward()
   {
       isMovingForward = true;
   }

   private void StopMovingForward()
   {
       moveSpeed = 20f;
       isMovingForward = false;
   }

   private void MoveForward()
   {
       moveSpeed += 0.1f;
       Vector3 forwardDirection = transform.forward;
       forwardDirection.y = 0.0f; // Keep movement on the horizontal plane
       rb.MovePosition(rb.position + forwardDirection * moveSpeed * Time.deltaTime);
   }
}

Ich würde mich sehr freuen wenn ihr mir helft. Danke :)

C Sharp, Code, Programmiersprache, Spieleentwicklung, Unity 3D, Visual Studio, Unity

Weirder fehler bei Unity?

hi leute, ich habe mal wieder ein problem (was war auch anderes zu erwarten...) und diesmal handelt es sich um Unity.

die sache ist die, ich habe von unity hub die version 3.5.0 und der unity editor den ich installiert habe ist version Unity 2022.3.7f1.

das tut aber leider nix zur sache, denn egal welche editor version ich nutze, der fehler ist derselbe und jedesmal aufs neue bestehend.

denn das eigentliche problem um was es geht, das mich daran hindert unity zu nutzen ist folgendes: ich öffe unity hub und erstelle ein komplett frisches projekt. ich habe keine vorherigen mehr, da ichdiese alle gelöscht habe.

dann wähle ich 3d projekt aus und warte, bis alle dateien fertig geladen und kopiert wurden (oder was da auch immer passiert) und sobald unit fertig mit laden ist wird der unity editor geöffnet (also wie gewohnt) aber das ganze sieht so aus:

es ist folgendermaßen:

ich klicke auf den x button, es lädt und kurz darauf schließt sich der editor. da einzige was offen bleibt ist der unity hub. wenn ich auf den "Quit" button klicke passiert eins zu eins der selbe mist.

wenn ich jedoch auf den "continue" button klicke lädt es kurz und das selbe erschein erneut. es ist egal wie oft ich auf continue drücke, es erscheint immer wieder dieselbe nachricht.

kennt jemand eine lösung für das problem, wenn ja dann wäre ich euch echt verbunden.

(übrigens habe ich schon versuch unity komplett zu deinstallieren und danach wier neu zu installieren aber das problem besteht noch immer.)

vielen lieben dank im voraus.

Bild zum Beitrag
Windows, C Sharp, Error, Programmiersprache, Spieleentwicklung, Unity 3D, Plattform, Message, Unity, Windows 10

Meistgelesene Beiträge zum Thema Unity 3D