Unity: Wieso läuft die Registrierung schief?

Hallo,

ich bin gerade dabei, ein Unity-Spiel zu programmieren. In dem Spiel soll man sich registrieren können, dabei benutze ich PlayFab. Bei dem Test der Registrierung läuft etwas schief und ich weiß einfach nicht wieso. Vielleicht könnt ihr mir weiterhelfen?

Danke für jede Antwort.

Unity:

Das Spiel:

Das Skript:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using PlayFab.ClientModels;
using PlayFab;
using System;
using UnityEditor.PackageManager.Requests;
using UnityEngine.UI;
using TMPro;
using PlayFab.PfEditor;

public class PlayFabLoginScript : MonoBehaviour
{
  public TextMeshProUGUI regPassword, regUsername, regEmail;
  public GameObject regPanel;

  // Start is called before the first frame update
  void Start()
  {
    var request = new LoginWithCustomIDRequest { CustomId = "GettingStardedGuide", CreateAccount = true };
    PlayFabClientAPI.LoginWithCustomID(request, OnLoginSucces, OnLoginFailure);
  }

  private void OnLoginFailure(PlayFabError obj)
  {
    Debug.Log("Es ist etwas schief gelaufen");
  }

  private void OnLoginSucces(LoginResult obj)
  {
    Debug.Log("API Call hat funktioniert");
  }

  public void Register()
  {
    var request = new RegisterPlayFabUserRequest();
    request.TitleId = PlayFabSettings.TitleId;
    request.Email = regEmail.text;
    request.Username = regUsername.text;
    request.Password = regPassword.text;
    PlayFabClientAPI.RegisterPlayFabUser(request, OnRegisterResult, OnPlayFabError);
  }

  private void OnPlayFabError(PlayFabError obj)
  {
    print("Error:" + obj.Error);
  }

  private void OnRegisterResult(RegisterPlayFabUserResult obj)
  {
    print("Registrierung hat funktioniert");
    regPanel.SetActive(false);
  }
Bild zum Beitrag
C Sharp, Code, Programmiersprache, Spieleentwicklung, Visual Studio, Unity
Wie kann ich bei Unity einem 2D generierten Mesh einen Collider geben?

Ich arbeite in Unity zurzeit an einen kleinen Projekt und bin auf folgendes Problem gestoßen:

Ich generiere dieses Mesh mit Perlin Noises, also quasi eine Berglandschaft. Sie sieht auch gut aus, nur jetzt habe ich das Problem mit den Collider. Und zwar mache ich das aktuell mit einem Polygon Collider, wo ich die Punkte per Code selber erstelle:

private void GenCollider()
{
  GrassMashObject.AddComponent<PolygonCollider2D>();
  GrassMashObject.GetComponent<PolygonCollider2D>().sharedMaterial = GrassPhysics;
  PolygonCollider2D polygonCollider = GrassMashObject.GetComponent<PolygonCollider2D>();

  if (polygonCollider != null)
  {
    Vector2[] points = new Vector2[(WorldSize + 1) * (yHight + 1)];

    for (int i = 0, y = 0; y <= yHight; y++)
    {
      for (int x = 0; x <= WorldSize; x++)
      {
        points[i] = new Vector2(x, y - (WorldSize / 4f));

        if (y == 1)
        {
          float perlin1 = (float)x / PerlinScale;
          float perlin2 = (float)y / PerlinScale;
          float perlin3 = Mathf.PerlinNoise(perlin1, perlin2);
          float perlin4 = Mathf.PerlinNoise(perlin1 * 2, perlin2 * 2);
          float perlin5 = Mathf.PerlinNoise(perlin1 / 2, perlin2 / 2);
          points[i].y = y + ((perlin3 + perlin4 + perlin5) * PerlinHeight);
        }

        i++;
      }
    }

    polygonCollider.points = points;
  }
}

Es funktioniert ganz gut, nur werden manche Punkte falsch zusammengesetzt und deshalb werden sehr unnötige "Linien" zwischen den Punkten generiert. Deshalb kommt es auch manchmal zu massiven Performenceeinbrüchen.

Ich bin für jede Hilfe dankbar! Danke im Voraus!

C Sharp, Visual Studio
Mein Code funktioniert nicht für eine Motorsteuerung über den Raspberry?

Ich versuche eine Steuerung für einen Miniatur-Kran mit einem raspberry zu bauen. Die Steuerung läuft über eine HTML-Website (Laut Chat-gpt ist die richtig, einfach fragen wenn ihr das Script dazu noch benötigt). Auf Putty kommt die Meldung, sobald ich auf dem Knopf drücke, das der GPIO-Pin kein Pin auf dem Raspberry ist.

Das ist das Code:

using Microsoft.AspNetCore.Mvc;
using System.Device.Gpio;
using System.Numerics;

namespace Kransteuerung_MEKW.Controllers
{
  [ApiController]
  [Route("[controller]")]
  public class CraneController : ControllerBase
  {
    private readonly GpioController _gpioController;
    private readonly ILogger<CraneController> _logger;

    public CraneController(ILogger<CraneController> logger)
    {
      _logger = logger;
      _gpioController = new GpioController(PinNumberingScheme.Board);
      var allOutputPinNumbers = new List<int>{ 3 };
      _logger.LogInformation("Setze alle GPIO Pins auf Output start");
      foreach (int pinNumber in allOutputPinNumbers)
      {
        var pin = _gpioController.OpenPin(pinNumber);
        pin.SetPinMode(PinMode.Output);
        pin.Write(PinValue.Low);
      }
      _logger.LogInformation("Setze alle GPIO Pins auf Output fertig");
       
    }
    
    [HttpGet()]
    public string Info()
    {
      return "Mögliche Posts: crane/turnLeftStart oder crane/turnLeftStop";
    }
    [HttpPost("turnLeftStart")]
    public void TurnLeftStart()
    {

      _logger.LogInformation("Kran dreht links start");
      
      var pin = _gpioController.OpenPin(3);
      pin.Write(PinValue.High);
    }

    [HttpPost("turnRightStart")]
    public void TurnRightStart()
    {
      _logger.LogInformation("Kran dreht rechts start");
       
      var pin = _gpioController.OpenPin(4);
      pin.Write(PinValue.High);
    }

    [HttpPost("turnLeftStop")]
    public void TurnLeftStop()
    {
      _logger.LogInformation("Kran dreht links stop");
      var pin = _gpioController.OpenPin(3);
      pin.Write(PinValue.Low);
    }

    [HttpPost("turnRightStop")]
    public void TurnRightStop()
    {
      _logger.LogInformation("Kran dreht rechts stop");
      var pin = _gpioController.OpenPin(4);
      pin.Write(PinValue.Low);
    }
  }
}
Motor, Visual Studio, Raspberry Pi 4

Meistgelesene Fragen zum Thema Visual Studio