Jump to content
Unity Insider Forum

Lagermeister

Members
  • Content count

    3
  • Joined

  • Last visited

Community Reputation

0 Neutral

About Lagermeister

  • Rank
    Newbie

Recent Profile Visitors

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

  1. Lagermeister

    Unity und SQL

    Mein Einstieg in Programmierung war der Wunsch Tools für ein Spiel zu schreiben, bei dem ich eine für zwei Jahre als Betatester mitgewirkt habe (Maximum Football). Da es sich um eine amerikanische Sportart handelte, sind natürlich Statistiken ein wichtige Sache und der Developer benutzte eine Access-Datenbank, die offen war und bearbeitet werden konnte. Nachdem er das Projekt aufgeben musste, habe ich eine Zeitlang an einem Mod gearbeitet, den ich dann nicht fertiggestellt habe, weil mit Windows Vista und 7 das Spiel nicht mehr richtig dargestellt werden konnte. Für meine Tools habe ich aber nie die Access-Datenbanken als Grundlage genommen (die natürlich für das Spiel selbst weiter die Grundlage blieben), sondern habe ich mich für Microsoft SQL entschieden, dass immer als Bestandteil der VS Express-Pakete mitgeliefert wurde. Zum Einstieg benutzte ich einige Angebote von Microsoft zu dem Thema (z.B. Webcasts) und später das Buch von Doberenz und Gewinnus. Microsoft SQL ist ziemlich leistungsfähig und umfangreich - für eine simple Spieledatenbank natürlich der absolute Overkill vom Funktionsumfang, aber trotzdem recht nützlich. Ich persönlich würde die Zeit opfern, um mich ein wenig einzuarbeiten, denn es lohnt sich später: - Man kann lokale Datenbanken schaffen, d.h. Datenbanken die auf der Festplatte liegen. - SQL verwendet eigenen Datentypen, die .net nicht unähnlich sind, aber trotzdem eigene Eigenschaften aufweisen - SQL erlaubt einen "direkten" Einblick in die Datenbank und Daten (hilfreich z.B. bei Kontrolle der Daten nach Berechnungen) - Aufbau, Abfrage und Speichern von Daten benötigt für einfache Fälle wie eine Spieldatenbank nur wenige Zeilen Code - darauf weisen auch die Autoren in dem obigen Buch hin. Es gibt zwar Assistenten, die legen aber Datenbanken automatisch an allerdings in einer Tiefe, die für alle möglichen Zwecke ausgelegt und Sicherungen ausgelegt sind, so dass schnell Tausend Zeilen Code zusammenkommen. Mit einer eigenen Einbindung benötigt man nur einen Bruchteil und kontrolliert den Code. Hier ein paar Beispiele aus einem meiner damaligen Projekte (allerdings in Visual Basic / aus dem Jahr 2009): 1. Schritt: Kontakt zur Datenbank (hier zwei DB: SQL and Access) herstellen: Imports System.Data.SqlClient // connStr = connection String (Pfad) // da -> DataAdapter , ds-> DataSet Dim connStr As String = _ "Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Football Project\Project_CFA\CFA.mdf;" & _ "Integrated Security=True;User Instance=True;" conn = New SqlConnection(connStr) Dim connStrMF As String = _ "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Football Project\Project_CFA\lge_CFA.mdb;" connMF = New OleDb.OleDbConnection(connStrMF) 2. Schritt: Team und Player -Daten in ein Dataset laden (nur SQL) conn.Open() ' Team Dim cmdTxtTeam As String = "SELECT * FROM TEAM" Dim cmdTeam As New SqlCommand(cmdTxtTeam, conn) daTeam = New SqlDataAdapter(cmdTeam) dsTeam = New DataSet daTeam.MissingSchemaAction = MissingSchemaAction.AddWithKey daTeam.Fill(dsTeam, "Team") dtTeam = dsTeam.Tables("Team") ' Player Dim cmdTextPlay As String = "SELECT * FROM Player" Dim cmdPlay As New SqlCommand(cmdTextPlay, conn) daPlay = New SqlDataAdapter(cmdPlay) dsPlayer = New DataSet daPlay.MissingSchemaAction = MissingSchemaAction.AddWithKey daPlay.Fill(dsPlayer, "Player") dtPlay = dsPlayer.Tables("Player") conn.Close() 3. Arbeiten mit dem Dataset im Programm (außerhalb der DB - siehe conn.Close) 4. Abspeichern der Daten Private Sub MainBaseUpdate() Dim cbTeam As New SqlCommandBuilder(daTeam) daTeam.Update(dsTeam, "Team") Dim cbPlay As New SqlCommandBuilder(daPlay) daPlay.Update(dsPlayer, "Player") End Sub Zum Abrufen von Daten aus einer Datenbank kann man einen Datenreader nehmen, der die Sache noch etwas vereinfacht. Aber danach kann man die geänderten Daten nicht in der DB speichern. Ein Beispiel kann ich bei Bedarf auch noch zur Verfügung stellen.
  2. Lagermeister

    Kurze Vorstellung

    Dein Animation-Tutorial war übrigens eines dieser Clicks, die mir gezeigt haben, dass die Sache machbar ist. Insbesondere das Arbeiten mit dem Raw Mocap - Daten war instruktiv. Zusammen mit vorhandenen Mocap-Dateien aus vesrchiedenen Quellen und UMotion werde ich den 3D-Teil hinbekommen (zumindest in einer für mich ausreichenden Qualität).
  3. Lagermeister

    Kurze Vorstellung

    Ich habe mich hier registriert, da mich die vielfältigen, vor allem qualitativ gut erstellten Hilfestellungen (Tutorials, Artikel usw.) überzeugt haben. Ich arbeite seit einigen Monaten sporadisch mit Unity (offizielle Tutorials) und habe ich mittlerweile auch gut in die Bedienung eingearbeitet. Aufgrund der vorhandenen Assets und Möglichkeiten der Engine glaube ich nunmehr auch meine Idee für ein Game (allerdings nicht kommerziell, da ich eigene Vorstellungen verwirklichen will und ich dies als Hobby-Projekt sehe) umsetzen zu können, wobei auch der Weg dahin Teil der Motivation ist.
×