Jump to content
Unity Insider Forum

dewa

Members
  • Content count

    124
  • Joined

  • Last visited

Community Reputation

6 Neutral

About dewa

  • Rank
    Advanced Member

Recent Profile Visitors

1,486 profile views
  1. Also grade die Grafiken beim RPG sind extrem zeitintensiv. Design, modeling, retopology, rigging, animationen... Da braucht man schon gut ein ganzen Monat für einen ordentlichen Charakter... Bei so einem riesigen Projekt sollte man immer bedenken das grade der Weg zum fertigstellen des Spiel das Ziel sein sollte. Ich habe es bislang immer so gemacht, einfach mit dem Game anfangen, sobald man nicht mehr weiter kommt ein tutorial dazu anschauen, somit hat man halt sofort Bezug vom tutorial zum Projekt. Und bloß nicht entmutigen lassen wenn mal was nicht klappt, jedes Problem ist früher oder später mal gelöst, man muss nur dran bleiben ✌️ Zu iclone CharakterCreator, den habe ich mir damals auch zugelegt, ich meine der preiß liegt ungefähr bei 500Euro um die models auch in unity exportieren zu können. Da musst du aufpassen, einige Lizenzen sehen halt nur vor vor Charakter creator nach iclone zu exportieren, also ist 3dx change noch notwendig dafür...
  2. dewa

    Performance ruckelt

    Um die draw calls zu verringern würde ich auch versuchen soviel statische objekte wie möglich zusammen zu fügen, am besten die draw calls auf unter 100 reduzieren, wobei das wahrscheinlich auch noch zu viel ist. Auf meinem galaxy s5 ruckelt es auch bei 30k tries und 40 draws 😁
  3. Hallo zusammen, habe mal eine Frage bezuglich des wechselns von Kleidungsstücken. Ich habe einfach keinen Anhaltspunkt. Modelliert man diese einfach mit in z.B in Maya und macht diese beim Wechsel Ingame einfach Unsichtbar/Sichtbar? Geht es auf die leistung wenn ein Charakter z.B 20 Deaktivierte Shirts an hat? Oder Ignoriert Unity Deaktivierte Objekte komplett? Wie setzt man es um das die Polygone unter den Klamotten verschwinden? Der Charakter verändert mit der Zeit seine Körperform, Kann man Klamotten erstellen die sich den Polygonen anpassen oder müssen für die anderen Formen extra kleidung erstellen? Wie läuft das dann mit der Animation? Sorry für die vielen Fragen 🤓
  4. dewa

    Danke

    jopp, kann mich da nur anschließen. Ohne dieses Forum hätte ich schon lange keine Haare mehr auf dem Kopf 🙏
  5. dewa

    Coroutine Wert verändern

    Das ist eine verdammt gute Idee 🧐 Somit sollte alles klappen, vielen vielen Dank 🤓
  6. dewa

    Coroutine Wert verändern

    Hallo zusammen, ich brauch mal einen kleinen denkanstoß. Über einer Coroutine lasse ich einen Timer ablaufen. Wenn man bei Android die App verlässt stoppen die Coroutines und laufen weiter wenn man die App wieder öffnet. Es sollen aber auch Sekunden runtergezählt werden wenn man die App verlässt. Ich bin jetzt soweit das ich bei verlassen der App einen Timestamp speichere und beim öffnen den Aktuellen Timestamp nehme und einfach beide Subtrahiere, läuft auch alles soweit.😁 Nun muss ich nurnoch diesen Wert in der laufenden Coroutine abziehen... Und da liegt das Problem. Wie mache ich das??? 😣 Dauer App abwesendheit in Sekunden: public void OnApplicationPause(bool paused) { if(paused) { System.DateTime epochStart = new System.DateTime(1970, 1, 1, 0, 0, 0, System.DateTimeKind.Utc); int cur_time = (int)(System.DateTime.UtcNow - epochStart).TotalSeconds; PlayerPrefs.SetInt("Time_when_paused", cur_time); } else { TS_paused = PlayerPrefs.GetInt("Time_when_paused"); System.DateTime epochStart = new System.DateTime(1970, 1, 1, 0, 0, 0, System.DateTimeKind.Utc); int cur_time_back = (int)(System.DateTime.UtcNow - epochStart).TotalSeconds; TS_diff = cur_time_back - TS_paused; } } COUNTER: ............... { StartCoroutine(StartCountdown_Kreatin(timer_kreatin,game_paused.TS_diff)); } public IEnumerator StartCountdown_Kreatin(float timer_kreatin,int x) { currCountdownValue = timer_kreatin; while (currCountdownValue > 0) { TimeSpan kreatin_time = TimeSpan.FromSeconds (timer_kreatin); string niceTime = String.Format ("{0:00}:{1:00}:{2:00}", Math.Truncate (kreatin_time.TotalHours), kreatin_time.Minutes, kreatin_time.Seconds); slots.Slot_kreatin_text.text = niceTime; //Abwesendheit vom TIMER abziehen while (x != 0) { timer_kreatin =timer_kreatin - x; x = 0; yield return null; } yield return new WaitForSeconds(1.0f); timer_kreatin--; } } Der Counter startet nachdem alle Daten vom Server geladen worden sind. ich denke das die Coroutine nicht erkennt wenn sich aushalb ein Wert verändert, und somit Trifft der WHILE loop einfach nicht ein... Ihr könnt mir bestimmt weiter helfen.
  7. Informiere dich mal über den canvas scaler, dieser sollte dir weiter helfen 👌
  8. dewa

    Performance GUI

    Mich interessiert wohl das Asset, könntest du mir bitte den link oder Namen nennen? 😁
  9. Hallo zusammen, ich versuche grade das senden von push Nachrichten am laufen zu kriegen. Wenn ich das Game über mein Samsung Galaxy s4 Starte und von meinen Server die Notification sende kommt diese am Handy, es lauft. Aber auf meinem Huawei Mate 10 Pro erscheint einfach nix. Mein Server gibt auch die Nachricht das die Notification erfolgreich abgesendet worden ist... Ich weiß einfach nicht mehr weiter woran es liegen kann. Schon mal danke
  10. Das sollte so machtbar sein 👌🏻 Grade in der Lernphase würde ich die Ideen einfach mal versuchen, wenn das später mal was nicht klappen sollte kannst du immernoch hier im Forum fragen. Aber die Grundidee der Umsetzung hört sich gut an.
  11. dewa

    Cooldown verändert sich

    Problem gelöst, Wenn ich die Freundschaftsliste öffne wird die funktion "supplemente_uberprufen()" aufgerufen, dort wird noch mal abgefragt ob der Cooldown aktiv ist und nimmt die alten gespeicherten Timestamps anstatt neue vom Server anzufragen... Man kommt ganz schön durcheinander wenn soziemlich alles nur aus timestamps besteht Danke für deine Hilfe
  12. dewa

    Cooldown verändert sich

    Der Wert "Timer_eiweiß" wird jeweils zwei mal gesetzt. Beim kauf des Ingame Objects wo dann anschließend die Cooldown anfängt. Oder beim Start des Spieles. // Beim Ingamekauf einen Timestamp in der Online SQL datenbank speichern und gleichzeitig den Aktuellen Timestamp vom server laden. public IEnumerator eiweiß_ts_coro(string Username, string Passwort) { WWWForm form = new WWWForm(); form.AddField("username", Username); form.AddField("passwort", Passwort); WWW webRequest = new WWW("http://hosti...........weiß.php", form); yield return webRequest; if (webRequest.text != null) { Debug.Log(webRequest.text); eiweis_ts = (int.Parse(webRequest.text)); ts_vergleichen.aktueller_ts=(int.Parse(webRequest.text)); eiweiß = false; meine_daten.Geld = meine_daten.Geld - 25; meine_daten.Geld_text.text = meine_daten.Geld.ToString(); eiweiß_boni_pruf (); } } //Solange der Aktuelle Timestamp+3600 kleiner ist als der Gepeicherte eiweiß Timestamp ist der Cooldown noch am zählen //Beim Start des Spiels wird ernaut der Aktuelle und der eiweiß Timestamp vom server abgefragt und diese Funktion ernaut aufgerufen um zu überprüfen wieviel Zeit vergangen ist. public void eiweiß_boni_pruf() { if (ts_vergleichen.aktueller_ts < eiweis_ts+3600) { eiweißvorrat = (true); ts_vergleichen.timer_eiweiß =(eiweis_ts+3600)-ts_vergleichen.aktueller_ts; slots.slot (); } else { eiweißvorrat = (false); } } Es läuft alles Perfekt, nur wenn ich die Feundschaftsliste ( "Freunde_aktual()" ) öffne springt der Cooldown halt paar sekunden nach oben.
  13. dewa

    Cooldown verändert sich

    void Update () { //Eiweiß float to HH:MM:SS if (timer_eiweiß > 0 & shop_auswahl.eiweißvorrat) { TimeSpan eiweiß_time = TimeSpan.FromSeconds (timer_eiweiß); timer_eiweiß -= Time.deltaTime; string niceTime = string.Format ("{0:D2}:{1:D2}:{2:D2}", eiweiß_time.Hours, eiweiß_time.Minutes, eiweiß_time.Seconds); slots.Slot_eiweiß_text.text = niceTime; } if (timer_eiweiß < 0 & shop_auswahl.eiweißvorrat) { shop_auswahl.eiweißvorrat = (false); slots.slot (); } } Freundschaftsliste //Wenn Freundschaftsliste nicht geöffnet, Lade Daten vom SQL Server public void Freunde_aktual() { if (Freunde_anim.GetCurrentAnimatorStateInfo (0).IsName ("Freunde_slide_in")) { freunde_anzeigen (); } else { laden_symbol.SetActive (true); StartCoroutine (Freunde_laden_coro (init_regist.Username, hash_helper.Md5Sum (init_regist.Passwort))); } } //Dateien vom SQL Server public IEnumerator Freunde_laden_coro(string Username, string Passwort) { Debug.Log(Username); WWWForm form = new WWWForm(); form.AddField("username", Username); form.AddField("passwort", Passwort); WWW webRequest = new WWW("http://hosting3381.af923.netcup.net/freunde_laden.php", form); yield return webRequest; Debug.Log(webRequest.text); freunde_laden.anzahl_freunde = 0; string[] splitarray = webRequest.text.Split('|'); freunde_laden.anzahl_freunde = (splitarray.Length) - 1; Debug.Log("wieviele freunde? " + freunde_laden.anzahl_freunde); freunde_laden.anzahl_freunde_text.text = freunde_laden.anzahl_freunde.ToString()+"/16"; foreach (Transform child in freunde_laden.ScoreScrollList.transform) { Destroy(child.gameObject); } for (int i = 0; i <= (freunde_laden.anzahl_freunde - 1); i++) { GameObject Scorepanel; Scorepanel = Instantiate(freunde_laden.ScoreEntryPanel) as GameObject; Scorepanel.transform.parent = freunde_laden.ScoreScrollList.transform; Scorepanel.transform.localScale = new Vector3(1.03f, 1.03f, 1.03f); Transform ThisName = Scorepanel.transform.Find("Name"); Transform ThisEXP = Scorepanel.transform.Find("Exp"); Transform ThisLVL = Scorepanel.transform.Find("Level"); Transform Thisbalken = Scorepanel.transform.Find("EXP_BALKEN"); Transform Thischar_bild = Scorepanel.transform.Find("char_bild"); //Freunde Daten zuordnen Text EXP_freund_txt = ThisEXP.GetComponent<Text>(); Text Name = ThisName.GetComponent<Text>(); Text Level = ThisLVL.GetComponent<Text>(); //EXP Balken Image Balken = Thisbalken.GetComponent<Image> (); Image char_bild = Thischar_bild.GetComponent<Image> (); Name.text = splitarray[i]; string Freund = (splitarray[i]); StartCoroutine(Freunde_exp(Freund,Level,Balken,char_bild,EXP_freund_txt)); } freunde_anzeigen (); ts_vergleichen.suplemmente_prufen (); } //Wenn Freundschaftsliste nicht geöffnet ist, öffne diese. public void freunde_anzeigen() { if (Freunde_anim.GetCurrentAnimatorStateInfo(0).IsName("Freunde_slide_in")) { Freunde_anim.SetBool("freunde_klick", false); } else { Freunde_anim.SetBool("freunde_klick", true); store.beenden_store_gm (); shop_auswahl.Info_close (); } laden_symbol.SetActive (false); } Soooo... ich hoffe das ist nicht zu viel Code
  14. Hallo zusammen, ich habe folgendes Problem. Ich habe innerhalb des updates() eine cooldown Funktion die einfach von 20s runterzählt bis 0s. Soweit läuft auch alles, aber wenn ich nun z.B die Freundschaftsliste Ingame öffnen springt der Cooldown wieder hoch von z.B 10s auf 12s... Ich weiß absolut nicht wie ich dies beheben kann. Beim öffnen der freundschaftsliste werden auch keine Parameter für den Cooldown verändert schon mal vielen dank
  15. Hallo zusammen, habe mal wieder einer Frage. Ich erstelle momentan eine fitness simulations app und bin momentan am überlegen ob ich auserhalb meiner app einen amazon affiliate store erstelle. Dazu habe ich nun eine Fragen, vielleicht hat jemand von euch schon Erfahrungen damit gemacht. Darf ich User von der App in mein Shop verlinken? Wenn ja, müssen dann trotzdem noch 30% meines Umsatzes an Apple/Google abgegeben werden?
×