• Announcements

    • Lars

      Allgemeine Forenregeln   03/13/2017

      Forenregeln Nimm dir bitte einen Moment um die nachfolgenden Regeln durchzulesen. Wenn du diese Regeln akzeptierst und die Registration fortsetzen willst, klick einfach auf den "Mit der Registrierung fortfahren"-Button. Um diese Registration abzubrechen, klick bitte einfach auf den "Zurück" Button deines Browsers. Wir garantieren nicht für die Richtigkeit, Vollständigkeit und Brauchbarkeit der Nachrichten und sind auch nicht dafür verantwortlich. Die Beiträge drücken die Meinung des Autors des Beitrags aus, nicht zwangsläufig das, wofür die Forensoftware steht. Jeder Nutzer, der denkt, dass ein veröffentlichter Beitrag unzulässig bzw. störend ist, ist aufgefordert uns unverzüglich per E-Mail zu kontaktieren. Wir haben das Recht störende Beiträge zu löschen und bemühen uns, das in einem realistischem Zeitraum zu erledigen (sofern wir beschlossen haben, dass die Löschung notwendig ist). Du akzeptierst, durchgehend während der Nutzung dieses Services, dass du dieses Forum nicht dazu missbrauchen wirst, Inhalte zu veröffentlichen, welche bewusst falsch und/oder verleumderisch, ungenau, beleidigend, vulgär, hasserfüllt, belästigend, obszön, sexuell belästigend, bedrohlich, die Privatsphäre einer Person verletzend oder in irgend einer Art und Weise das Gesetz verletzen. Des Weiteren akzeptierst du, dass du keine urheberrechtlich geschützte Inhalte ohne Erlaubnis des Besitzers in diesem Forum veröffentlichst. Mit dem Klick auf den "Mit der Registrierung fortfahren"-Button, akzeptierst du zudem unsere Datenschutzerklärung und stimmst der Speicherung deiner IP-Adresse und personenbezogenen Daten zu, die dafür benötigt werden, um dich im Falle einer rechtswidrigen Tat zurückverfolgen zu können bzw. permanent oder temporär aus dem Forum ausschließen zu können. Es besteht keine Pflicht zur Abgabe der Einwilligung, dies erfolgt alles auf freiwilliger Basis.   Zusatzinformationen Der Forenbetreiber hat das Recht, Nutzer ohne Angabe von Gründen permanent aus dem Forum auszuschließen. Des Weiteren hat er das Recht, Beiträge, Dateianhänge, Umfrage, Blogeinträge, Galleriebilder oder Signaturen ohne Angabe von Gründen zu entfernen. Mit der Registrierung verzichtest du auf alle Rechte an den von dir erstellten Inhalten, bzw. treten diese an das Unity-Insider.de und Unity-Community.de ab. Dies bedeutet im Klartext, dass das Unity-Insider.de und Unity-Community.de frei über deine Texte verfügen kann, sofern diese nicht wiederum die Rechte anderer verletzen. Es besteht weiterhin kein Anspruch von registrierten Nutzern bzw. ehemaligen registrierten Nutzern darauf, dass erstellte Inhalte und/oder die Mitgliedschaft (User) wieder gelöscht werden (Erhaltung der Konsistenz dieses Forums).   Einwilligungserklärung Wenn du mit der Speicherung deiner personenbezogenen Daten sowie den vorstehenden Regeln und Bestimmungen einverstanden bist, kannst du mit einem Klick auf den Mit der Registrierung fortfahren-Button unten fortfahren. Ansonsten drücke bitte Zurück. Stand: 07.03.2011

malzbie

Moderators
  • Content count

    4,355
  • Joined

  • Last visited

  • Days Won

    249

malzbie last won the day on August 15

malzbie had the most liked content!

Community Reputation

1,312 Excellent

About malzbie

  • Rank
    Moderator
  • Birthday 10/30/1968

Profile Information

  • Gender
    Male
  • Location
    Kassel, Hessen, Deutschland

Recent Profile Visitors

14,028 profile views
  1. Jo. Gern geschene. Kurze anmerkung noch: HP gibt es bei AD&D nicht. Hab ich ganz vergessen. Dort wird alles über die Konstitution und Stärke und andere Dinge geregelt. Da musst du dir also wohl eigene Gedanken machen. Aber das ist ja auch nicht so schlimm.
  2. Eigentlich kann man das ja machen wie man will. Die meisten Games richten sich aber nach dem AD&D Regelwerk, wo die Stufenerhöhung ungefähr eine Verdoppelung der Punkte benötigt. Angefangen wird mit 2000 Punkten und jede weitere Stufe braucht man dann doppelt so viel wie zur momentanen Stufe. Ab dem Level 10 ist es dann aber gleichbleibend, also alle 250.000 Punkte bekommt man die nächste Stufe. Hier mal ein Link zur Regel: http://rollenspiel.doogle.de/cms/upload/mondseekampagne/AD_D_Tabellen.pdf Auf der Seite 10 der PDF sind die Werte dargestellt. Natürlich kann man das modifizieren und seinem Spiel anpassen. Wenn du z.B. nicht willst, dass man zu schnell aufsteigt, dann kann man die nötigen Punkte auch verdreifachen oder aber die Erfahrungspunkte, die man für etwas bekommt einfach reduzieren. Man kann auch sagen, dass es ein maximales Level gibt und danach nicht mehr aufsteigen kann. Da gibt es unheimlich viele Möglichkeiten. Ich würde mit der Verdoppelung der Punkte anfangen und dann einfach mal schauen, wie sich das Spiel weiter entwickelt und gegebenenfalls anpassen. Das in eine Formel zu bringen ist nicht so schwer. Du musst halt die erste Stufe ( also z.B. die 2000 Punkte) immer mit dem ist-Level multiplizieren und das Ergebnis zum NextLevel machen. Haste die Zahl erreicht oder überschritten, steigst du ein Level auf und somit ist dein ist-Level für die Berechnung auch um eins gestiegen. Wieveiel HP man je Level dazu bekommt kannst du auch im PDF nachlesen oder du machst dir selber Gedanken darüber. Das hängt ja alles davon ab, wieviel Schaden man nehmen kann und was der Basiswert deiner Figur ist.
  3. Ja das ist ärgerlich. Versuchs halt beim Händler. Ich hatte auch schon mal die Idee, sowas zu bauen und bin auf dieses System gestoßen: https://www.arcadeworlduk.com/products/2-Player-Arcade-Joysticks-Buttons-And-IPAC2-Wiring-Kit-No9.html Und das dolle daran ist, da gibt es diesen Controller dazu: https://www.arcadeworlduk.com/products/I-PAC-2-FS32-Keyboard-Encoder.html Vielleicht ist das ja mal ne Alternative für dich. Mach aber schnell, bevor der Brexit alles teurer macht.
  4. Schwierig. Dein Arcade-Joystick könnte jetzt auf 2 Wegen funktionieren. Entweder ist dort ein Potentiometer (oder eine ähnliche Technik)drin, wie bei einem analogen Joystick und dein Treiber, bzw. die Logikplatine gibt dir nur 0 und 1 zurück, oder aber es sind einfach Schalter, die offen oder geschlossen sind, da würde dann das Signal einfach durchgereicht werden. Wäre es ein Poti, dann scheint der Schwellenwiderstand zu eng zu sein, sodass in 0 Stelung evtl. doch ein gewisser Widerstandswert noch anliegt, der deinem Treiber bzw. der Logic sagt, dass noch ein Ausschlag herrscht. In diesem Fall kannst du nichts machen, wenn du nichts am Poti verändern kannst und/oder nicht direkt die Logic in der Platine konfigurieren kannst. Bei Schaltern kannst du keinen Hardwarefehler haben, also muss es ein Problem mit dem Treiber geben. Denn 0 ist 0 und 1 ist 1, da gibt es kein dazwischen. Da muss man auch nichts kalibrieren, denn es gibt nichts zu kalibireren. Da die Achsenabfrage in Unity keinen Totbereich hat sondern vom Treiber übergeben wird, muss man sich selber einen erstellen. Ist ja auch leicht in Unity. Aber wenn der Programmierer das nicht eingebaut hat, reagiert er eben auf kleinste Zahlen. Die Treiber sind heutzutage eh nicht mehr so dolle. Selbst der XBox360 Treiber hat keinen Totpunkt mehr, den man setzen könnte. Mir ist mal ein Joypad runter gefallen und dabei hat der Stick einen mitgekriegt. Der kam auch nicht mehr sauber in die 0 Stellung zurück. Tja, da kannst du nichts machen. Über den Treiber stellst du da nix ein. Lange Rede, kurzer Sinn: Wenn dein Hersteller dir keinen passenden Treiber liefern kann und gewisse Spiele es nicht zulassen den Joystick richtig anzupassen ( was in der digitalen Welt eigentlich nicht mehr sein muss) dann kannst du den Joystick bei diesen Spielen nicht nutzen und musst ihn sogar deaktivieren oder ausschalten, wenn du ihn nicht nutzt, aber das Spiel ihn trotzdem abfragt. Ein Build von Unity zu starten und da per Parameter dem Inputcontroller den Joystick zu entfernen geht jedenfalls nicht.
  5. Gibt's nicht. Bzw. kann es schon geben, dann ist es aber nur für UT wichtig und nicht öffentlich bekannt gegeben. Du musst damit leben, wenn der Spieleersteller auch den Joystick aktiviert hat ( was ja eh standardmäßig über "horizontal" und "vertical" so eingestllt ist) und dir keine Möglichkeit bietet das auszuschalten. Ist aber eigentlich bei allen Spielen so, egal ob Unity oder nicht. Natürlich kannst du (wenn der Ersteller dir die Möglichkeit dazu gibt) die Inputs manuell verbiegen, sodass der Joystick dann nicht mehr das macht, was er machen sollte. Nur warum sollte das wichtig sein? Ist dein Joystick nicht kalibriert und er funkt dir immer dazwischen?
  6. Application.Quit muss gehen. Wenn das bei Unity2017 nicht geht, dann haben die da einen Bug verzapft. Da ich noch nicht geuppt habe, kann ich das nicht testen. Du selber kannst das auch nur testen, wenn du ein Build erzeugt hast. Denn dieser Befehl funktioniert nicht im Editor, da das Game da ja dann keine eigenständige Application ist. mache es mal mit dem KeyCode. Also: if(Input.GetKeyDown(KeyCode.Escape)){ Application.Quit(); }
  7. Schönes klares Design. Ob die Buttons zu groß sind, kann ich jetzt nicht bewerten. Machste das für Mobile, dann ist es ok. Ist das für den PC oder Mac, dann sind sie wahrscheinlich zu dominant.
  8. Ok, dann ist es so wie ich gesagt habe. Dann muss deine Transition von run nach eat falsch sein, oder aber die Bedingung kommt nicht dann, wenn er in run ist, sonder erst dann wenn er wieder auf idle ist. Ich weiss aber nicht was in deinen Transitions drin steht, deswegen vermute ich das auch nur. Jedenfalls ist es so, dass ja immer eine Animation aktiv ist und nur von dieser aktiven Animation kann es weiter zu den anderen Animationen gehen, es sei denn,du nuntzt Anystate als Start der Transition. Stell dir das ganze System wie Haus vor in dem Zimmer drin sind. Diese Zimmer haben Türen zu anderen Zimmern. Wenn du jetzt im Zimmer Idle bist, dann kannst du ins Zimmer Run gehen, denn da gibt es eine Tür. Du kannst aber nicht vom Zimmer Idle direkt zum Zimmer Eat gehen, denn du musst dafür erst einmal ins Zimmer Run gehen und dann weiter ins Zimmer Eat. Du willst aber wahrscheinlich von beiden Zimmern aus ins Zimmer Eat kommen, also brauchst du eine zusätzliche Tür vom Zimmer Idle zum Zimmer Eat. Verstehst du das? Je nachdem, wie deine Animationslogik aufgebaut ist, kann man auch AnyState nutzen, denn dieses Dingen bedeutet, dass es egal ist, in welchem Zimmer an gerade ist, man kommt immer auch in ein anders Zimmer, so wie beim teleportieren. Dafür muss vom AnyState sternförig zu jedem anderen State eine Transition aufgebaut werden. Es muss keine Transition zurück geben, denn das ist dem Anystate egal. Bei Anystate nutzt man auch fast nur Trigger als Parameter, denn denn da wird nur kurz die Inof gebraucht, was jetzt passieren soll. Nur meistens kann man Anystate nicht gebrauchen, denn wenn z.B. dein Charakter liegen und stehen kann, er aber nur mit dem laufen beginnen soll, wenn er auch steht, also eine Aufstehanimation dazwischen abgespielt werden soll, würde AnyState nicht funktionieren. Dein Char würden liegen und sofort laufen, ohne überhaupt aufgestanden zu sein. Deswegen baut man meistens diese Ketten von Animationen auf. Bei dir scheint aber wirklich nur eine Transition von Idle zum Eat zu fehlen, damit er vom Idle UND vom Run ins Eat übergehen kann.
  9. Also du hast eine Animation, gehst mittels einer Transition zur zweiten Animation und dann wiederum mittels einer Transition zur dritten Animation? Die dritte Transition funktioniert aber nicht? Verstehe ich das richtig? Wenn ja, dann stimmt wahrscheinlich die Bedingung deiner Transition nicht. Kannst du hier mal ein Bild vom Animatorfenster posten, damit ich verstehe, was du genau meinst?
  10. Klar geht das auch ohne. Siehst du ja im 2ten Video. Auf meinem Kanal habe ich auch eine richtig große Videosammlung, die (zwar auch wieder etwas älter) dir zeigt, wie man das so macht. Da musst du dir aber mal ein paar Stunden für Zeit nehmen. https://www.youtube.com/playlist?list=PLPBi1GFn_EAqw7i0ZND_JaGhZFKrCjPpx
  11. Tach Namensvetter! Leider bekommt man diverse Einstellungen nich nach Unity rein, ja und somit sind Marker in der Animationsspur auch nicht importiert. Du kannst jetzt also entweder dein Modell mit der kompletten Animationsspur importieren und dann in Unity deine Animationstakes definieren, oder aber du exportierst aus dem 3D Programm ersteinmal nur das gebundene Mesh mit Bones ohne Animationen. Und dann für jede Animation nur das Rig und den Animationsbereich. Ich habe da vor einigen Jahren mal Tutorials zu gemacht. Folgende Folge ist echt alt und Unity hatte da noch gar kein Mecanim sondern nur das late Animationssystem. Trotzdem erklärt das Video ganz gut, wie du die Animationen und das Mesh einzeln rüber kriegst und dann in unity verwenden kannst. Ab der Minute 6 gehts los. Ja und dann habe ich unter Anderem noch folgendes Video für dich, wo ich erkläre wie man das im neuen Animationssystem macht. Gerade dann, wenn man nicht als Humanoid importiert. Das ist zwar auch schon älter und der Animator hat heutzutage mehr möglichkeiten als damals, trotzdem sollte dir das helfen. Hier siehst du auch, wie man aus einer vorhandenen Animation einen neuen Animationstake erstellt und ihn einbindet. Ich hoffe das dir das soweit hilft. Wenn nicht, musst du mal genau erklären was nicht so funktioniert, wie du gerne hättest und evtl. auch mal ein Bild posten.
  12. Je nach Aufbau kann sich das Feld überwachen oder die Karte sagt dem Feld, dass etwas drauf liegt oder weg genommen wurde. Ich weiß zwar nicht wie du momentan das Feld als besetzt markierst, also wie du definierst oder erkennst, dass die Karte jetzt auf Feld 1 liegt. Hast du das über einen Raycast oder Collider gelöst oder nutzt du die Koordinaten des Screens? Egal. Im Endeffekt sollte hier deine Karte das Feld erkennen und wenn es das Feld kennt, dann sollte es einen Status einer Variable abfragen und setzen können. Beispiel mit nem Trigger: Karte berührt Trigger und lernt den Platz kennen. Statusscript platz; // das Script welches auf jedem Platz liegt OnTriggerEnter(Collider other){ if(other.CompareTag("KartenPlatz")){ // zur Sicherheit, wenn noch andere Trigger in der Szene sind. //Gibt es nur Platztrigger, dann braucht man es nicht platz=other.GetComponent<Statusscript>(); //Referenz zu diesem Platz Script bilden } } Wird jetzt z.B. geklickt, dann wird eine besetzt-Variable im Platz Script abgefragt. ist sie false, wird die Karte da abgelegt, ist sie true wird nichts gemacht. // in der Update if(Input.GetKeyDown(KeyCode.X)){ // fiktifes Kartenablegen if(!platz.besetzt){ // platz ist noch frei platz.besetzt=true; // direktes beschreiben von Variablen ist zwar nicht schön, zeigt dir aber was passiert. } else{ // zeig irgendwas oder spiele einen Ton ab, damit der User weiß, dass hier nicht abgelegt werden kann) } } Wird jetzt diese Karte irgendwann gespielt, sagt sie dem Platz, dass er wieder frei ist. // in der Update if(gespielt){ // irgendein Ereignis was bei Spielen der Karte passiert platz.besetzt=false; } Wenn du nicht mit Triggern oder Collidern arbeitest, dann wäre ein Array in einem Verwaltungsscript ganz nützlich. Das Array repräsentiert alle Plätze auf dem Tisch. Hier würde dann die Karte irgendwie wissen, welcher Arrayplatz für welchen Kartenplatz steht und immer den richtigen Arrayplatz abfragen, beschreiben und wieder frei geben. Ob das jetzt nun die Karte selber ist, oder eine Art Masterscript, ist egal. Eins von beiden weiß auf welchen Platz eine Karte abgelegt werden darf und wird dann die entsprechende Variable beschreiben. Das Masterscript verknüpft dann auch die Karte mit dem Ablageplatz. Ja und wenn die Karte gespielt wird, dann weiß das Script, welcher Platz es war und gibt diesen wieder frei.
  13. Ist ja alles gut und schön. Aber wenn er die Materialien oben wie unten gleich benutzt, dann liegt es nicht am Material an sich sondern an der Beleuchtung oder einem Posteffekt, der das Problem erst dann sichtbar macht. Ich sehe in den 2 Szenen ganz klar, dass der Himmel unterschiedlich ist und dass in Szene 1 mindestens ein Posteffekt aktiviert wurde. Wahrscheinlich PostProzessingBehaviour. Im oberen Bild meine ich außerdem zu erkennen, dass es kein Glanz sondern eine Spiegelung des Himmels ist, da der Himmel die gleiche Farbe hat, wie die hellen Bereiche auf dem Felsen. Somit würde ich darauf tippen, dass der Metallic Shader genutzt wurde. Metallic wäre gut, wenn etwas reflektieren soll, wie z.B. Fasser oder eben Metall. Bei einem Felsen würde ich zum Specular Shader über gehen, denn da soll maximal Glanz entstehen. Nutzt ihr eine Specular-Map, dann lässt sich die Specular-Farbe nicht mehr einstellen, denn Unity geht jetzt davon aus, dass alles über die Map kommt. Jetzt kann man eh nur noch die Smoothness einstellen. Also ob es ein breiter und diffuser oder ein enger und knackiger Glanzpunkt werden soll. ( Nutzt ihr die Map beim Metallic Shader, dann steuert man nur noch, ob die Reflektion matt mit breiten Highlights oder klar mit engen und starken Highlights ist) Welche Bereiche aber wie stark spiegeln bzw. glänzen, wird dann allein über die Textur gelöst. Evtl. müsst ihr mal mit eurer Textur rum spielen und die Bereiche einfach etwas abdunkeln. Am Besten ihr vergleicht mal die Shader der beiden Szenen, die Beleuchtung und die SkyBox und zusätzlich ob die Kamera PostProzessing macht. Und wenn ja, welche Werte und Kanäle da drin eingeschaltet sind.
  14. Wenn die Unterobjekte wirklich Kinder des EmptyObjects sind, dann muss das gehen. Sind die Unterobjekte evtl. auf Static gestellt?
  15. Ich bin natürlich am schaffen. Und ich denke, die Anderen sind es auch. Aber es ist nun auch Sommer und Urlaubszeit, und da werden viele Leute lieber draußen oder verreist sein, als am Computer zu hängen. Der Roman ist Inhaber des Forums und administriert/moderiert eigentlich nicht. Aber natürlich hat er die Adminrechte, als Chef!