Jump to content
Unity Insider Forum

Aquana

Members
  • Content Count

    21
  • Joined

  • Last visited

  • Days Won

    1

Aquana last won the day on April 2 2018

Aquana had the most liked content!

Community Reputation

4 Neutral

About Aquana

  • Rank
    Member

Recent Profile Visitors

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

  1. Jomnitech Ja ich überprüfe mit position.Count die Größe der List . Deshalb soll die forschleife solange durchgehen bis sie am Ende der List angelangt. Das ganze klappt auch solange ich im inspector vorgefertigte Zahlen habe und diese abfrage. Doch wenn ich neue Zahlen zufüge geraden immer wieder aufs neue die gleichen Zahlen hinein. Doch danke Sascha habe ich jetzt eine wesentlich bessere Alternative
  2. Sascha Meinst du damit das der Wert manuell zurückgesetzt wird damit das auch List.Conatains zurückgesetzt wird? So richtig blicke ich da nämlich nicht durch. Doch dein Vorschlag scheint ja ohnehin in jeder Hinsicht der bessere zu sein. Ich habe es gerade mal ausprobiert und liebe HashSets schon jetzt! Wenn das auch noch bessere Performance gibt um so besser. Leichter zu bedienen. Einfach perfekt für mich. Danke das bringt mich weiter und macht wirklich einiges einfacher. Wirklich vielen dank!
  3. Hallo, Ich möchte das eine Spielfigur sich daran erinnert ob sie bereits einmal an der gleiche Stelle stand und gegeben Falls anders agiert. Dafür benutze ich eine Liste. Wenn die Figur an einer neuen Stelle steht soll deshalb erst einmal die gesamte Liste durchgegangen werden. Ist die Position noch nicht im Index der Liste enthalten soll eine neue Position in der liste gespeichert werden. Für Tests lasse ich bereits über Print etwas ausgeben. Wenn ich jetzt in der Liste bevor ich das Spiel starte zum Beispiel schon 9 Werte in der Liste habe klappt alles so wie es soll. als Beispiel size=9 ElElement0 =1; Element1=2; Element2=3; Element3 =4; Element4=5; Element5=6; Element6 =7; Element7=8; Element8=9; Gebe ich vor start des Spiels bei aktuellePositionx =1 ein. Wird angezeigt "Zahl gefunden und es stoppt". So wie es auch sein soll und auch bei den anderen Zahlen bis hin zur letzten Zahl der 9 vom Index. Doch gebe ich jetzt eine Zahl die nicht im Index enthalten ein wird die Zahl zugefügt. So wie es erst einmal sein soll. Als Beispiel 10. Der Index geht solange durch bis er feststellt das keine 10 in der List enthalten ist. Deshalb fügt er die Zehn hinzu. Doch wenn ich jetzt noch einmal die boolean AnAus aktiviere und immer noch eine 10 enthalten ist geht er bis zum letzten Index zeigt die 10 an aber gibt aus das diese Zahl nicht enthalten wäre und fügt wieder eine 10 in die Liste hinzu. Das macht er immer wieder obwohl die 10 schon enthalten ist und er sie mir über print ja sogar anzeigt. Deshalb habe ich jetzt die Frage ob ich etwas mit der for-schleife falsch verstehe oder gibt es etwas über List.Count das ich nicht weiß. Denn nach meinem logischen Verständnis müsste es sofort stoppen sobald es feststellt das die 10 im letzten Index enthalten ist und dürfte nix weiteres hinzufügen. Das macht es bei der bereits zuvor schon festgelegten 9 ja auch nicht. Danke schon mal im vorraus wenn mir jemand helfen bzw können sollte. das ist der Code aktuellePositionX = this.transform.position.x; for (Durchlauf = 0; Durchlauf < Position.Count && AnAus == true; Durchlauf++) { print(Position[Durchlauf]); if(Durchlauf == aktuellePositionX-1 ) { print("Zahl gefunden"); AnAus = false; } if (Durchlauf == Position.Count - 1 && Durchlauf == aktuellePositionX - 1) { print("noch im letzten Index gefunden"); AnAus = false; } else if (Durchlauf == Position.Count - 1 && Durchlauf != aktuellePositionX) { print("hmm auch im letzten Index nicht drin.Füge neuen hinzu"); Position.Add(aktuellePositionX); // print(Position[Durchlauf]); Durchlauf = 0; AnAus = false; } }
  4. Vielen dank! Ja ich habe wirklich so einige Stunden gebraucht und bei der ersten Version klappte er nicht mal in Unity! Ich musste dann einen Trick übers Internet entdecken um ihn mit den Shapekeys dort unterzubringen und das er auch so viele Vertexe hat das Unity nicht ruckelt. Dann noch einige Monate um ihn endlich mal im Assetstore unterzubringen. Den Preis habe ich günstig gehalten, weil ich mir nicht sicher war wie die Texturen so ankommen und besonders die Laufanimation wohl auch noch etwas Verbesserungswürdig sind. Naja viele Verkäufe werden es wohl ohnehin nicht. Selbst die bestmodellierten Modell bekommen gerade maximal 50 Bewertungen soweit ich das gesehen habe. Die Frage ist eher ob eines Tages überhaupt jemand den kaufen will
  5. Danke für die Antwort! Bevor ich mit Shadern weiter mache muss ich doch erst einmal nochmal hier so richtig durchsteigen.
  6. https://www.assetstore.unity3d.com/en/?stay#!/content/122128 Da hier steht das man irgend etwas in diesem Forum vorstellen darf wollte ich mal meinen Drache hier vorstellen. Den ich endlich nach unzähligen Fehlschlägen im Assetstore unterbringen konnte. Zuerst war es ihnen nicht richtig aufgeteilt, dann passte es ihnen nicht das ich keine eigen Website habe und danach war ihnen meine Beschreibung immer noch nicht ausführlich genug und ich hatte keine Zeilenümbrüche über <br> gemacht. Doch schließlich und endlich schaffte ich es. Vielleicht interessiert sich ja mal irgendwann jemand dafür. Das wars eigentlich schon , danke für die Aufmerksamkeit.
  7. Ich habe in letzter Zeit ein Malprogramm gesucht das eventuell Schattenefeckte ganz automatisch in Bildern erzeugt. Damit meine ich keine außergewöhnlichen sondern nur einen Schattenefeckt von rechts nach links und einen leichten Übergang der Farben erzeugt. Zwar ist Unity hauptsächlich für Spieleentwicklung gedacht, doch dachte ich mir das ich es mal versuche. Dann wollte ich das ganze einfach mal starten in dem ich erst mal mit Pixeln erzeuge und für den Anfang lerne wie man etwas auf den Bildschirm malt. Später müsste ich ja auch lernen auf die Pixel zuzugreifen. Doch schon da scheitert es. Während bei einer Forschleife anscheinend jeder Pixel neu erzeugt wird , wird natürlich wenn man das mit einer Maus benutzt nur ein Pixel erzeugt. Dann wollte ich die Position der Maus in einer Ifabfrage verwenden aber das lies sich auch wieder nicht machen. Dann dachte ich mir das ich das ganze eben über eine List speichere und dort in der List einen Pixel speichere, das ging natürlich auch wieder nicht. Weil dann steht das ein LIstInt und ein int sich nicht vergleichen lassen. Es scheint so als würde absolut alles so aufgebaut sein damit man auch ja nicht mit Pixeln malen kann. So habe ich rumprobiert und nur ein paar Pixel die der Maus folgen(seltsamerweise auch noch versetzt) und auch nur auf der y und x-achse. Die Pixel werden ja auch nicht gespeichert wie ich es bei der else-Bedingung merkte. Gibt es denn nicht so etwas wie einen Befehl wie setNewPixel? void Update() { Texture2D texture = new Texture2D(128, 128); GetComponent<Renderer>().material.mainTexture = texture;     koordinatenx = ((int)Input.mousePosition.x); koordinateny = ((int)Input.mousePosition.y);   texture.SetPixel(koordinatenx, 06, new Color(90, 90, 90)); texture.Apply();           for (int i = 0; i < texture.width; i++) { texture.SetPixel(i, 0, Color.green); texture.Apply(); } if (Input.GetMouseButton(0)) { // texture.SetPixel((int)(Input.mousePosition.x), (int)(Input.mousePosition.y), new Color(90, 90, 90)); texture.Apply(); } else { texture.SetPixel(4, (int)(Input.mousePosition.y), Color.red); texture.SetPixel((int)(Input.mousePosition.x), 7, Color.red); texture.GetPixel((int)(Input.mousePosition.x), (int)(Input.mousePosition.y)); texture.SetPixel((int)(Input.mousePosition.x), (int)(Input.mousePosition.y), Color.blue); texture.Apply(); }   } }
  8. Hallo ich habe da ein Problem. Meine Figur soll einfach eine Kugel abfeuern. Das mach sie auch im allgemeinen. Doch ich habe festgestellt das wenn ich links und vorne gleichzeitig drücke, kein Schuss erfolgt. Auch wenn ich rechts und hinten drücke kommt keine Schuss. Alle Kombination funktionieren sonst. Ich verstehe einfach nicht warum es so nicht geht. Hier ist das einfache Script. public Transform pistole; public GameObject Kugel; void FixedUpdate () { if (Input.GetKey(KeyCode.UpArrow)) { transform.Translate(Vector3.forward*2*Time.deltaTime); } if (Input.GetKey(KeyCode.DownArrow)) { transform.Translate(Vector3.forward *- 2 * Time.deltaTime); } if (Input.GetKey(KeyCode.LeftArrow)) { transform.Rotate(0, -5 * 20 * Time.deltaTime, 0); } if (Input.GetKey(KeyCode.RightArrow)) { transform.Rotate(0,5 * 20 * Time.deltaTime,0); } if (Input.GetKeyDown(KeyCode.Space)) { Instantiate(Kugel, pistole.position, pistole.rotation); } } } Hat darauf jemand eventuelle eine Antwort?
  9. Danke erst einmal für die Antwort. Hmm, ich könnte wirklich einen Collider zusätzlich auf das Wasser machen. Mir geht es ja allerdings darum das nur das Script der "Kreaturen" darauf reagiert. So wie ihr eigenes Verhalten dadurch beeinflusst wird. Vielleicht benutze ich letztendlich die Physic.Raycast-methode. Ich hoffte nur eine weniger eingeschränkte Sicht für meine Figuren zu haben. Die Zufallsmethode für eine Welt ist mir wichtig um zu sehen wie und welche Figuren am ehesten überleben. Auch wenn es bisher noch nicht so spannend ist, da sie nicht so viele Aktionen haben aus denen sie " auswählen" können. Mit dem A**Algorythmus muss ich mich erst noch einmal beschäftigen.
  10. Ich hatte vergessen das auch ein Strahl Möglich wäre aber ich glaube der geht nur starr gerade aus und ist glaube ich sehr dünn und das wäre eine sehr eingeschränkte Sicht.
  11. Hallo liebe Spieleentwickler und Untiyexperten die mir vielleicht helfen wollen. Ich habe in letzter Zeit ein Interesse an KI entwickelt. DA habe ich zumindest versucht den Anschein einer Ki zu entwickeln. Obwohl es mehr ein Evolutionssystem ist. Dazu werden in Startmethode einfach verschieden Werte wie vorwärst laufen sich drehen auf eine bestimmte Priorität gesetzt und das per Zufall. Das ganze soll je nach dem was die Figur berührt ausgeführt werden. Bei Wasser erhält die Figur Schaden LP-1; Bei Futter wird sie geheilt LP+300 (weil manche einfach an einer stehen bleiben und sich nie bewegen sollten die eher belohnt werden die etwas machen) So sterben die Nichtstuher aus und die sich bewegenden leben weiter manchmal weiter. Nach einer gewissen Weile erschaffen sie auch Klone von sich. Doch mein Problem ist jetzt das die Figuren sich Quasi blind durch die Gegend tasten. Obwohl die "Läufer" durch das Futter belohnt werden, werden sie gleichzeitig durch das Wasser das sie erst berühren müssen bestraft und nehmen viel Schaden bis die mit guten "Genen" die Aktion ausführen sich umzudrehen wenn sie merken das sie das Wasser berühren. Doch ich möchte ja jetzt auch das sie das Wasser sehen können und so gleich umkehren können, ohne das Wasser erst berühren zu müssen. Für die Sicht benutze ich das if(Vector3.Distance(player.position,this.transform.position)<10 && Vector3.Angle(player.position - this.transform.position ,this.transform.forward) <30 && /*wie frage ich den Tag des Wassers ab ohne Collider und ohne public?*/) { print("Ich seh's und drehe mich (wenn darin meine Priorität liegt bezogen auf das Objekt Wasser oder Futter)"); } Ich nutze ja bereits OnTrigger , doch das ist diese bline rumherrirren. Da die Figuren aber auch auf verschieden Umgebungen reagieren sollen kann ich es auch mit public nicht regeln. Dann müsste ich erst jedes Futter und Wasser das ich neu rein machen oder gar die Welt zufällig entstehen lasse möchte erst neu in die Publicvariable ziehen, was für den Spieler der nur das Spiel sieht auch nicht möglich ist. Gibt es eine Möglichkeit den Tag eines anderen Objectes ohne public und ohne OnTrigger abzufragen und darauf zu reagieren?
  12. Danke. Als mir der Name in den Sinn kam fand ich ihn so bescheuert das ich ihn schon wieder gut fand Mein Favorit ist aber immer noch Das Ungehuer von Loch im Boden ;D
  13. Ja ich hatte noch Einsendestress. Da konnte ich schon froh sein das es sogar noch einen Tag Verlängerung gab. Denn Unity spinnte auch erst einmal rum. Ein script konnte angeblich nicht gefunden werden, so das ich es noch einmal neu machen musste und das neue aber dann ganz normal gefunden wurde. Dann lies sich plötzlich das Spiel nicht mehr aus Unity exportieren wegen irgeneiner komschen Fehlermeldung und später als ich Unity wieder einmal anschaltete ging es plötzlich doch. Dann liesen sich einige Objekte ohe Rigigbody anklicken und andere benötigten aber wieder einen Rigidbody, obwohl alle einen Boxcollider haben. Dann war noch die Aufgabe das ganze in 2min Vorzustellen. Aber erst ab vollen 5 Sekunden Überzug gibt es Strafpunkte. So gesehen war das Spiel doch etwas zu komplex um es in 2Minuten richtig präsentieren zu können. Ich habe sogar vergessen das Ziel des Spiels zu erwähnen und auch auf die verschieden Monsterfähigkeiten und die Steuerung des Roboters konnte ich nicht richtig eingehen. Naja wieder mal was gelernt fürs nächste mal
  14. Ein Spiel für eine GameChallenge auf Youtube.
×
×
  • Create New...