Jump to content
Unity Insider Forum

Leaderboard


Popular Content

Showing content with the highest reputation since 01/29/2020 in Posts

  1. 3 points
    Soo.. Dann stell ich doch erstmal mein aktuellstes Projekt vor. Es ist zwar nur zu Übungszwecken, und daher weniger originell als meine anderen Projekte, aber dennoch nicht irrelevant. Schließlich werde ich dazu noch einige Fragen hier im Forum stellen. 😉 "Mega Bliss Bros." ist meine persönliche Abwandlung von "Super Sparty Bros.", einem Übungsprojekt der Michigan State University (und eine offensichtliche Anlehnung an "Super Mario Bros.") Meine Arbeitsweise war bislang das was mir in den Kopf kommt, das mach ich einfach, was auch zunächst gut funktionierte, weil es mir an Ideen nicht mangelt, bis dann irgendwann einfach nichts mehr funktionierte... 😅 Sparty ist ein kleiner Spartaner. Er ist der erste spielbare Charakter. Eigentlich wollte ich dass die Charaktere nach und nach freigeschaltet werden und im Menü auswählbar sind, allerdings hab ich es nachwievor nicht hinbekommen etwas derartiges mit dem SpartyBros.-Script übereinzubringen. Entsprechend teil ich die Charaktere vorerst den Leveln selbst zu. Bislang laufen die Gegner nur von A nach B nach C ... und man springt auf sie um sie kurz zu betäuben. Bislang kann man sie nicht töten. Kleine Erfolge gab es aber schon auch für mich; sowohl Leben-erweiternde Herzcontainer als auch wegbröckelnder Boden und eine (ab einem gewissen Punkt) steigende tödliche Flut hab ich sowohl gespritet als auch gescriptet. Der böse Mond hat Berry hypnotisiert..! .......Der erste Endgegner. Bislang ist auch sie unbesiegbar, was ein wenig unpraktisch ist. 😐 Ebenso wie die anderen Gegner rennt sie von A nach B nach C ..., dafür aber eine deutlich größere Runde über die ganze Arena. Später will ich auch noch Blitze hier und da spawnen lassen und Wasser-Angriffe die aus Berrys Richtung kommen. Das Wasser steigt bei dem Kampf auf und ab - manche Stellen erreicht man nur wenn das Wasser unten ist, und andere nur wenn es ganz oben ist. Nach dem Kampf kann man als Berry spielen, und dabei zusehen wie im Hintergrund langsam die Sonne "aufgeht". Für die weiteren Level hab ich auch schon einige Ideen, spielerisch wie auch grafisch, aber ich will erstmal die Probleme die ich habe lösen bevor ich mir neue Probleme aufbürde. 😄 Soweit erstmal dazu von mir. Auf die "Probleme" geh ich dann im entsprechenden Topic näher ein. Meine anderen Projekte stell ich in Kürze auch noch vor - da gibt's noch mehr zu sehen, also freut euch schonmal drauf~ 😉
  2. 3 points
    Alter. N bisschen mehr als zweieinhalb Sekunden darfst du dir schon mit deinen Beiträgen Zeit nehmen. Kann doch keiner ahnen, was du hier gerade willst.
  3. 2 points
    Aus einer Idee heraus, entsteht gerade ein kleines PlugIn das es mir ermöglicht die Workitems eines Query direkt via REST API von Azure Devops abzufragen. Das Ganze ist noch so was wie eine Machbarkeitsstudie. Immerhin funktioniert das Abfragen einer Query und das Anzeigen der verschiedenen Tickekts innerhalb von Unity bereits. Ich möchte diesen kleinen Prototyp soweit ausbauen das man sich eine beliebige Work Item Query abfragen kann, die Items in der Listenform angezeigt werden und weitere Informationen wie Description, Comments etc. als zusätzliches Fenster geöffnet werden können. Wenn das soweit steht ist der nächste Schritt, Änderungen an den Tickets wieder auf den Azure Devops Server zurück zu spielen.
  4. 2 points
    Naja, Spielstände sind je nach Spiel unterschiedlich komplex. Das geht von supereinfachen Sachen wie einer einzelnen Zahl ("Bis zu welchem Level wurde freigespielt") über überschaubare Sachen ("Wieviele Sterne hat der Spieler jeweils in jedem Level Angry Birds") bis hin zu krassen Sachen wie einem Spielstand in Skyrim ("Welcher NPC lebt noch und was hält er vom Spieler, wo liegen was für Sachen herum, wie hat der Spieler seine Skillpunkte verteilt, welche Items besitzt er, ..."). PlayerPrefs sind supereinfach zu benutzen, um einzelne Werte abzuspeichern. Beispiel eins und zwei sind damit daher sehr gut zu machen. Komplexe Sachen wie Nummer drei dagegen - da hört der Spaß dann auf und du bist mit mächtigeren Systemen besser beraten. Was Manipulierbarkeit angeht... mach dir mal über Cheater erstmal keinen Kopf. Wer cheaten will, wird cheaten können. Absolute Sicherheit gibt es einfach nicht. Überlege dir daher: Wie schlimm ist es wirklich, wenn ein Spieler schummelt? Ich würde mir niemals den Stress machen, bei einem Singleplayer-Spiel Cheatschutz einzubauen. Soll doch jeder Spieler selbst für seinen Spielspaß verantwortlich sein. Da würde ich erst mit anfangen, wenn jemand anderen Spielern den Spaß verhageln kann. Und wie gesagt, wer cheaten will, wird cheaten. Auch wenn du selber eine Savegame-Datei anlegst, deren Inhalt krass verschlüsselt ist. Wo ein Wille ist, ist auch immer ein Hack. Selbst, wenn du dir die riesige (!) Arbeit machen solltest, ein halbwegs sicheres System zu bauen, ist das Savegame-System nur einer von vielen Angriffspunkten. Im Zweifelsfall kommt der Nutzer mit Low-Level Memory Access daher und dann kann dein Spielstand noch so gut verschlüsselt sein. Also... mach dir da keine Sorgen. Lohnt sich einfach nicht, da Energie reinzustecken.
  5. 2 points
    Die notwendigen Daten wie Organisation, Projekt, Query ID und PAT lassen sich jetzt funktional eingeben und auch speichern. Bisher ist es so gelöst das alle 4 Felder als XML (De)Serialisiert werden. Die Entsprechende XML liegt als File im Ordner von des PlugIns. Im Moment ist der Pfad noch Hardcodiert also Application.dataPath + "/UnityCallsAzure/config.xml" das funktioniert exakt so lange wie das nicht verschoben wird. Das PAT im Klartext zu speichern macht mir tatsächlich ein wenig Bauschmerzen. Als nächstes gehts mal an die Detailansicht der Workitems ran.
  6. 1 point
    Grüße! Nach langer Zeit auch mal wieder etwas von mir in dieser Ecke des Forums. Der erste Teaser zu Game Alchemists neuem Projekt. 😀
  7. 1 point
    Sollte eigentlich nicht, aber ich kenne nicht alle Eigenarten dieses Systems. Hier sind die drei relevantesten Begriffe: Animator: Die Mecanim-Komponente, die State Machines abspielt (Das, wo du die Boxen mit Pfeilen verbindest und so definierst, wann wie welche Animation in welche andere wechselt). Animation Clip: Eine einzelne Animation, mit Daten wie sich welches GameObject bewegt bzw. wie sich welche Werte von welchen Komponenten über Zeit ändern; von einem Anfang bis zu einem Ende. Animation: Die alte Animations-Komponente, die zwar ursprünglich vom Animator ersetzt werden sollte, aber immer noch ihre eigenen Vorteile hat. Sie funktioniert wesentlich simpler als der Animator. Einfach alle AnimationClips, die er abspielen können soll, in die Liste und dann in einem Script diese Animationen starten. Das Ende einer Animation ist für Unity ein schwieriges Konzept, da in der Regel Animationen nicht einfach stoppen, sondern in eine andere Definition übergehen. Wenn du also Mecanim fragen wollen würdest, wie weit der aktuelle AnimationClip ist, dann wüsste Mecanim erst nicht einmal, welche Animation du meinst: Die gerade auslaufende oder die, zu der wir gerade wechseln? Und dann gibt's da noch Animation Layers, damit du z.B. den Oberkörper eine Granate werfen lassen kannst, während an den Beinen die normale Laufanimation weiterläuft. Meinst du dann die Laufanimation oder die Wurfanimation? Und da viele Animationen in einer Schleife laufen, ist "Ende" sowieso ein schwieriger Begriff. Wenn du eine ganz simple Geschichte hast - also "Ding ist nicht animiert, Ding macht eine Animation, Ding bleibt wieder stehen" - dann wäre es am einfachsten, die "Animation"-Komponente statt des Animators zu verwenden. Er zählt zwar als "Legacy" ("veraltet"), aber in Wahrheit ist das Ding nicht ohne Grund immer noch verfügbar, obwohl es Mecanim schon seit einigen Jahren gibt. Man kann das durchaus noch benutzen. Wenn du aber ein etwas komplexeres Animationssystem hast, ist Mecanim schon besser, und in dem Fall wird eben die Abfrage schwieriger. Da ist deine Idee mit dem Event im AnimationClip schon sehr gut. Ich würde versuchen, das zum Laufen zu kriegen. Ansonsten kannst du dir AnimatorBehaviours anschauen. Das sind so Boxen in deiner State Machine, die beim Betreten und Verlassen nicht einfach nur einen AnimationClip laufen lassen, sondern Methoden aus einem Script auslösen. Habe ich selber aber quasi gar nicht mit gearbeitet, kann ich also nicht so viel zu sagen.
  8. 1 point
    Genau 60 FPS liest sich aber eher so, als wäre VSync dort doch aktiviert.
  9. 1 point
    Ich habe mir das gerade mal bei mir angeschaut. Da ist das so ähnlich. Laut Dokumentation ist im Other bereich das hier drin: Wenn du den Profiler mal pausierst und fährst dann mal mit der Maus im CPU Usage Fenster zu den Spitzen, dann kannst du unten in der Timeline sehen, dass die Zeit fürs Warten drauf geht. Du wirst beim Profiler und bei den Other Threads diverse Semaphore.WaitForSignal Bereiche sehen, die viele Millisekunden lang sind. Um die zusehen musst du aber mal Deep Profile anschalten. Da bekommst du viel mehr Infos. Mach dir um Other ersteinmal keinen Kopf. Um zu sehen, wie deine Framerate außerhalb des Editors ist, musst du dein Spiel einfach mal builden und dann gucken, wieviele FPS wirklich im Normalbetrieb erreicht werden. Ich gehe davon aus, dass du ähnliche Werte wie im Editor ohne Other sehen wirst. Und immer daran denken: Das ist eh nur auf deinem System so! Mit deiner Grafikkarte und deinem Prozessor. Du musst sowieso später mal auf unterschiedlichen Rechnern testen und dann evtl. optimieren.
  10. 1 point
    Usere Forenbereiche sind ja schon nach Schwerpunkten gegliedert. Wenn du jetzt ne Blenderfrage hast, kann es sich ja um dein 3D Objekt allgemein handeln, oder du hast Probleme das Objekt nach Unity rüber zu kriegen oder aber du merkst, dass die Texturen in Blender ganz anders sind als in Unity... Für all das gibt es Unterbereiche, je nach Schwerpunkt. Da könnte das Thema in Assetimporting, Shader, Spieleentwicklung Generell oder aber in der allgemeinen Hilfe erstellt werden. Der Überbereich "Spieleentwicklung Generell" hat außerdem mehrere Unterbereiche wie das Gamedesign oder aber Animationen und Modellierung. Entscheide da selbst, welcher Bereich der Bessere ist. Und wenn du dich mal vertust oder sich das Ganze in eine andere Richtung entwickelt, dann werden Sascha oder ich das Thema schon in den besseren Bereich rein schieben. Wichtig allein ist, dass du für jedes Problem ein eigenes Thema aufmachst, denn dann können andere User besser nach schon behandelten Themen suchen. Also, keine Scheu! Stell deine Fragen!
  11. 1 point
    Hallo, Willkommen und einen guten einstieg ! Gruß Jog
  12. 1 point
    Willkommen! Ich denke nicht, dass du großartige Probleme mit c# bekommen wirst. Das mit den Unity-Klassen, Komponenten und Verhalten ist eher eine Herausforderung. Wenn der Groschen dann gefallen ist, ist auch das ganz leicht. Wir bringen dich schon dahin!
  13. 1 point
    freut mich^^ kann dir als arbeitender familienvater sagen, da geht trotzdem viel weiter^^
  14. 1 point
  15. 1 point
    Klingt, als würdest du den Component-based Workflow benutzen. Da musst du die NavMeshSurface-Komponente benutzen.
  16. 1 point
    Nein! Es werden immer erst alle Awakes durchlaufen und dann die Starts. Welches Script aber damit anfängt, ist zufällig, wenn du es in der Sript Order nicht manuell festgelegt hast. Das bezieht sich aber nur auf die Scripts, die gleichzeitig erwachen. Also die, die schon zu Beginn in der Szene sind. Die Scripts, die nachher erst in die Szene geschmissen werden, z.B. beim Instanzieren von Gameobjects, machen es dann sobald sie erwachen. Da ist es egal was die alten Scripts gerade machen. Und nochwas: Ist ein Script zu Beginn deaktiviert, wird trotzdem die Awake ausgeführt! Die Start wird jedoch erst beim Aktivieren des Scripts ausgeführt.
  17. 1 point
    Es gibt zwei Dinge die das verursachen können. Mesh. Das Tier hat zum Beispiel auch solche Lücken. Das Problem hab ich z.B. gehabt, wenn ich MagicaVoxel benutzt habe. Dort waren sehr viele Flächen. Einzige Idee war einfach wo anders nochmal zu exportieren und dabei das Model zu optimieren (automatisch). Ansonsten Lights, Mal normal bias runter drehen.
  18. 1 point
    Da hab ich was für dich: http://blog.13pixels.de/2019/an-intro-to-serialization-in-unity/ Kurz: Serialisierung heißt prinzipiell "Dinge in eine Reihe [Serie] packen". Da Dinge im Computer in der Basis immer eindimensional sind - seien es Daten auf der Festplatte oder Informationen in einem Netzwerkkabel - müssen komplexe Strukturen wie Objekthierarchien serialisiert werden, um in solche eindimensionale Dinge hineinzupassen. Aber... der Artikel ist da ein ganzes Stück genauer, auch im Unity-Kontext.
  19. 1 point
    Wer auch immer das sagt, hat keine Ahnung. PlayerPrefs sind genau dafür da. Sie skalieren nicht sehr gut mit einem Projekt mit - du willst also keinen Skyrim-Spielstand über PlayerPrefs speichern - aber um ein Dutzend Bools abzuspeichern ist die Klasse perfekt und angenehm unkompliziert.
  20. 1 point
    Ja hallo, und das wolltest du uns jetzt erstmal vorenthalten oder was?
  21. 1 point
    Hallo, Auch von mir ein Willkommen 😊 Also Zeichnen kannst du ja (Neid 😉) Wenn das mit dem Programmieren genau so gut hinhaut, kann das ja nur was werden. Gruß Jog
  22. 1 point
    Die Frage ist eher 'wo fang ich an..?' 😅 Also zunächst einmal muss ich unterscheiden zwischen aktuellen Test-Projekten und größeren vorausgeplanten Projekten. Aktuell versuche ich nämlich noch den Code von "Super Sparty Bros." nach meinen Bedürfnissen anzupassen. Wie schon oben erwähnt ist das ein Übungs-Projekt der Michigan-State-University. Klar ich könnte mich dort auch in den Foren beteiligen, aber auf englisch ist das immer so eine Sache.. Eine Sache an der es hapert ist zum Beispiel das Implementieren eines Charakter-Select Systems. Alles was ich im Netz bislang gefunden habe lässt sich einfach nicht mit dem Code des Spiels übereinbringen. Ich bin schon am überlegen ein Projekt basierend auf einem dieser anderen Codes anzufangen, aber fühl mich irgendwie noch zu unsicher um mein sicheres Gerüst zu verlassen... 😬 Hab halt schon das ein oder andere mal die Erfahrung gemacht dass bei "for beginners"-Videos schon das meiste Wissen vorausgesetzt wird, paradoxerweise. Hier sind ein paar der Charakter-Sprites die ich entworfen habe (abgesehen von Sparty). Mario und Nyancat hab ich zum Spaß auch bereits drin. ^^ Extra-Leben und bröckeliger Boden waren eigentlich recht einfach zu scripten. Wasser hab ich auch animiert (wenn auch sehr simpel) und es gibt auch eine Flut die nach oben steigt; allerdings hab ich mich noch nicht damit befasst wie ich sie zurücksetzen lasse wenn der Spieler gestorben ist. ^^' Schon seltsam wenn man das Wasser auf einmal über sich sieht.. 🤔 Damit zusammenhängend häng ich auch daran fest wie ich den Spieler zu einem Checkpoint zurücksetzen lasse, auch wenn im Script eigentlich ein paar Zeilen stehen laut denen das möglich sein sollte... Ich hab dann auch noch einen atmosphärischen Wechsel in Form eines langsamen Sonnenaufgangs, was ganz gut funktioniert. Also was Grafiken und den Animator betrifft bin ich soweit ja schon ganz gut am Start. Nur beim Scripten verlässt mich immer wieder mal die Hoffnung, ob es denn überhaupt alles noch einen Sinn hat. 😅😔 Naja.. neben diesen Versuchen beschäftige ich mich auch noch mit dem gestalten meines Einsteiger-Projekts "Random Kingdom". Da hab ich zwar noch nix in Unity, aber dafür diverse Konzepte und Spielgrafiken. Also im Grunde ist es eine Art Zelda-Klon, aber (wie eigentlich jedesmal) hat es sich mit der Zeit stückchenweise immer mehr davon entfernt (auch wenn es verhältnismäßig noch das am ähnlichsten gebliebene Projekt dieser Art ist). Es soll dieses ganze Prinzip von "episches Königreich in dem der Held los zieht um eine Prinzessin zu retten" auf die Schippe nehmen. Im High-Concept Dokument hab ich es so formuliert: „Random Kingdom“ is a funny as lovely retro-charming parody of classic action-adventure games with strong gameplay and a huge 2D-world to explore." Ich hatte vor längerer Zeit mal auf die schnelle mir In-Game-Screens gebastelt, in dem Format eines DS-Bildschirms, und mithilfe des M3's auch auf dem DS direkt anschauen können. Als ich das anderen gezeigt hatte hatten sie tatsächlich zunächst versucht es zu 'spielen'.. 😄 Hier ne kleine Auswahl von Sprites. Ich dachte mir als erstes Projekt ganz praktisch und vergleichsweise simpel. Aber solang ich die wesentlichsten Funktionen noch nicht mal auf die Reihe bekomme zu scripten, brauch ich auch noch nicht damit anzufangen es in Unity zu übertragen ...oder? Nun..., kommen wir zu meinem Hauptprojekt, "Xektha". Viele Jahre lang war es nur eines meiner vielen Nebenprojekte, und das obwohl es eigentlich mein ganzes Leben über präsent war. Ausgedacht hab ich mir die ersten Figuren nämlich schon als Kind, und hab mit Microsoft Paint angefangen die Figuren auf ebenfalls mit Paint gemalten Hintergründen zu bewegen. Es wirkte quasi wie ein Point-and-Click-Adventure mit RPG-Einlagen. Irgendwann konnte ich sogar meine Schwester dafür begeistern, sodass wir eine Zeit lang zu zweit gestaltet und gespielt haben. Wir haben auch vorher schon viel mit Figuren gespielt, Welten aufgebaut und echt spannende Abenteuer erlebt! Bei manchen Geschichten wünschte ich mir sogar dass wir sie aufgeschrieben hätten. Aber naja.. ^^ Jedenfalls hatte ich als Teenager bereits konkretere Ideen für ein Action/Adventure zu der Serie, und hab auch schon passende Grafiken dazu gestaltet. Damals viel es mir mit dem Animieren aber noch besonders schwer, weshalb ich nicht weit kam. Inzwischen gefallen sie mir auch nicht mehr so gut, ebenso wie bei meinen handgezeichneten Bildern. Vor kurzem hab ich mich mal wieder ran gewagt neue Sprites zu erstellen, mit dem Anspruch eine gewisse Atmosphäre zu erzielen, auf ganz einfache Art. Ich hab eine Art Cel-Shading Stil im Kopf mit knalligen großflächigen Farben und starken Kontrasten. Mir gefällt es jetzt auch schon ganz gut, auch wenn es noch nicht ganz ausgearbeitet ist. Dass ich Cel-Shading erwähne liegt übrigens daran dass ich vor habe irgendwann im Verlaufe der Serie auf 3D umzusteigen, und es mir bereits ausgemalt habe wie das dann aussehen könnte. Die 2D-Sprites wollte ich entsprechend angleichen an diese "Vision", um einen gewissen Wiedererkennungswert im Stil der Serie zu erzielen. Und ja, es ist als Serie geplant, also eine Art "Lebenswerk". Ich hab nämlich festgestellt dass die Gestaltungsweise dieser Figuren viel stärker symbolisiert was mich ausmacht, als all meine anderen Schöpfungen. Also hab ich kurzerhand beschlossen es von nun an zu meinem Haupt-Ding zu machen, und mir ein ausführliches Konzept zu erarbeiten. Gesagt, getan. Statt 2 Teil-Serien mit insgesamt 14 Hauptcharakteren hab ich es nun erweitert auf 4 Teil-Serien mit insgesamt 30 Hauptcharakteren. Jede der Teil-Serien spielt auf einer anderen Insel mit einem Team aus jeweils 7+ spielbaren Figuren, einer in sich eigenen sowohl als auch einer gesamtheitlichen Storyline, und auch jeweils einem eigenen Genre. Da wären also zum einen "Action/Adventure+Hack'n'Slay", "Strategie+RPG", "Jump'n'Run+Shooter", als auch "Tower-Defense+Survival". Wie ihr seht hab ich jeweils 2 Genres gemischt, nach eigenen Vorlieben. Ich werd hier allerdings jetzt nicht näher drauf eingehen; das heb ich mir dann vielleicht doch lieber für einen anderen Thread auf. 😄 So viel nur erstmal, um schonma eine grobe Vorstellung davon zu bekommen womit ich mich so beschäftige. Hier jetzt noch ein paar Bilder zu "Xektha"..: Ich halte die Details möglichst simpel, plane aber dafür umso mehr dieser Details zu integrieren. Beim ersten Bild zum Beispiel noch Pilze, Kiesel, unterschiedliche Pflanzen, usw. Mein Ziel ist es außerdem möglichst viele Interaktionsmöglichkeiten mit den verschiedenen Bestandteilen der Welt zu erschaffen. Ein paar Altersstufen der Charaktere Katho, Cinthi, Lika und Wave. [Konzept] In ihrer Welt sind Masken übrigens vergleichbar mit Unterhosen. Ein absolutes Tabu sie abzusetzen! 😉 Das Xektha-Kreuz, ein mächtiges elementronisches Artefakt; und zudem das Logo der Serie~ Sooo.... ich denke mal das reicht dann erstmal. Würde mich natürlich sehr interessieren was ihr bislang so davon haltet!
  23. 1 point
    Hallöchen! Gibt's denn schon etwas Feines zu sehen?
  24. 1 point
    freut mich, dass du dabei bist gutes gelingen
  25. 1 point
    Wieder ein kleiner Fortschritt beim Anlegen der Tickets. DAs Linke ist die Basis eines Bugs, das Rechte eine UserStory. Ich denke, ich werde da noch etwas mit Farbe oder Symbolen arbeiten damit Sie auf den Erstem Blick unterscheidbar sind. Ausserdem bekomme ich von Azure Devops tatsächlich HTML texte zurück für die Felder was mich dann doch etwas überrascht hat. Die Hauptmaske wurde jetzt in so weit erweitert, dass die Tickets nur einmal geöffnet werden bzw. beim nochmaligen öffnen einfach wieder in den Focus gesetzt werden.
  26. 1 point
    Na, dann kann ich ja zu schreiben aufhören @Kojote Geht auch so: var spawnPosition = transform.position + transform.TransformDirection(localOffset);
  27. 1 point
    .localPosition würde in diesem Fall bedeuten, dass das Kordinatensystem vom Basispunkt des Objektes (transform) genutzt wird. du müsstest .position verwenden, dann wird es direkt auf dem basispunkt deines objektes im weltkoordinatensystem erzeugt bez kannst den lokalen punkt mit localToWorldMatrix in eine weltpsotion abändern
  28. 1 point
    Sascha: Das sich Unityobjecte zu boolean casten lassen war mir bis jetzt nicht klar (habe sie als normale Objecte verstanden). Und schon habe ich wieder was dazu gelernt🙂 Luis: Sorry, wenn ich dich etwas verwirrt haben sollte, aber auch ich lerne noch dazu. 🙂 Gruß TurTur
  29. 1 point
    Hallo Luis, Das Symbol "!" ist in C# der Not-Operator. In Verbindung mit einer Boolschen Variable kann er verwendet werden um den Inhalt der Variable zu invertieren bool boo = false; if(boo) //wird als If(boo==true) ausgewertet mach irgendwas.. if(!boo) //wird als If((Not boo)==true) ausgewertet mach was anderes... Es ist lediglich eine verkürzte Schreibweise. Bei Verweisen (Objecte, Class, ..) geht das nicht, da der Inhalt invertiert werden würde. In solchen Fällen musst du den Vergleich mit dem "Gleich-Operator" == oder mit dem "Ungleich-Operator" != ausführen. Gruß TurTur
  30. 1 point
    Hallo Luis, das NULL bedeutet so in etwa : Da ist nichts . Gibt ein NULL zurück .....returned null. Wenn du deine If (!g) hinterher abfragst, dann wirft Unity Dir möglicherweise eine NULL Reception zurück, wenn wie du sagst das Gameobject nicht die Klasse GridElement enthält. Du kannst das vorher abfragen: if (mouseHit.transform.GetComponent<GridElement>() { GridElement g = mouseHit.transform.GetComponent<GridElement>(); } Du hast Recht, die Klasse ist ja gar kein Boolean. Aber in diesem Fall steht das für : Da ist was! Ein MouseHIT, eine Transform und eine Komponente mit den Namen GridElement.
  31. 1 point
    Man kann von jeder Komponente alle anderen Komponenten abfragen. Man kann auch von jeder Komponente das GameObject bekommen.
  32. 1 point
    Um zu testen, ob dein Spiel gut mit verschiedenen Auflösungen auskommt, kannst du einfach im Editor auf Free Aspect stellen und dann das Fenster skalieren lassen. Das würde dir eine Menge Arbeit sparren Um dein Problem zu lösen, kannst du deine Breite, unabhängig von der Auflösung und mit FoV Anpassung immer konstant halten. Das kannst du machen z.B mit diesem Script: https://gist.github.com/Glavak/ada99b57023db3c941c5caebe42a70c5 Lad den runter und füge auf deine Camera hinzu. Er funktioniert wie wie Screen Match Mode bei Canvas.
  33. 1 point
    Ich konnte das Problem selber lösen! Ich musste bloss die obige Funktion in die "Anzeige"-Funktion integrieren, denn da wird ja jedesmal der Index neu gesetzt, sonst bleibt er immer gleich! Gruss, peachplayer
  34. 1 point
    Okay, hab den Shader umgeschrieben und er unterstützt jetzt auch Tint Color und Transparenz. Vielen Dank für den Link! Für alle, die es interessiert, hier der Shader: Shader "Sprites/Fog of War" { Properties{ _MainTex("Base (RGB)", 2D) = "white" {} _Color("Tint", Color) = (1,1,1,1) } SubShader{ Tags { "Queue" = "Transparent" } Pass { Stencil { Ref 2 Comp NotEqual Pass Replace } Blend SrcAlpha OneMinusSrcAlpha CGPROGRAM #pragma vertex vert #pragma fragment frag #include "UnityCG.cginc" uniform sampler2D _MainTex; struct appdata_t { float4 vertex : POSITION; float4 color : COLOR; float2 texcoord : TEXCOORD0; }; struct v2f { half4 pos : POSITION; fixed4 color : COLOR; half2 uv : TEXCOORD0; }; fixed4 _Color; v2f vert(appdata_t v) { v2f o; o.pos = UnityObjectToClipPos(v.vertex); o.color = v.color * _Color; half2 uv = MultiplyUV(UNITY_MATRIX_TEXTURE0, v.texcoord); o.uv = uv; return o; } half4 frag(v2f i) : COLOR{ half4 color = tex2D(_MainTex, i.uv) * i.color; if (color.a < 0.3) discard; color.rgb *= color.a; return color; } ENDCG } } Fallback off }
  35. 1 point
    Ich kann @Tyroonis nur zustimmen und ebenfalls Git + Bitbucket empfehlen.
  36. 1 point
    In dem Fall würde ich eine Versionskontrolle empfehlen. Also Git. Das nutzen wir auch. Wir haben einen Masterzweig, wo das "funktionierende" Projekt liegt. Und für jede Funktion checke ich einen neuen Zweig aus und bearbeite das Projetkt. Wenn ich soweit bin füge ich es zusammen, Das funktioniert auch super mit mehreren Personen. Du siehst jede ändereung in jedem Script bzw. in jeder Datei. Und zwar genau welche Zeile geändert wurde. ich würde sowas nicht über irgentwelche Cloudlösungen machen. Da weiß man nie, wer was geändert hat. Ich empfehle Bitbucket. Nutze ich selbst scho lange und nutze ich derzeit auch für unser Projekt. Youtube Tutorial (Habe ich selbst nicht angeschaut, befasst aber Unity mit Bitbuckt) oder das von Jason
  37. 1 point
    Also ich hab mir dein Model runtergeladen und per .fbx (mit !EXPERIMENTAL ! Apply Transform) exportiert(Blender 2.8) und in Unity geöffnet.Hatte kein Probleme als ich die Bones verändert habe (Rotation und Transform). Was möchtest du den mit dem Model machen? Weil animieren kann man wunderbar in Blender.
  38. 1 point
    Einfach mal alle Autos die ich bis jetzt gemacht habe auf die Strecke. Da stecken viele Stunden Arbeit drin und Jahre. (Wie man halt Zeit hat)
  39. 1 point
  40. 1 point

Announcements

Hy, wir programmieren für dich Apps(Android & iOS):

Weiterleitung zum Entwickler "daubit"



×
×
  • Create New...