Portal-Zone Gothic-Zone Gothic II-Zone Gothic 3-Zone Gothic 4-Zone Modifikationen-Zone Download-Zone Foren-Zone RPG-Zone Almanach-Zone Spirit of Gothic

 

Ergebnis 1 bis 9 von 9
  1. Beiträge anzeigen #1
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.487
     
    Cryp18Struct ist offline

    NPC und hero sollen in Dialog beide schweigen

    Hallo.
    Ich suche eine Möglichkeit die Sprech-Animation der Menschenköpfe für bestimmte Dialogzeilen zu unterdrücken.
    Alternativ: Eine Möglichkeit die Dialogkamera von Hand auf einen bestimmten NPC ausrichten.

    Hintergrund:
    Während eines Dialoges sollen der hero und der NPC mit welchem er spricht kurz Schweigen.
    Code:
    	AI_Output(other, self, "DIA_Strf_126_Jiran_C4_Hast_Du_Fokus_15_0"); //Hast du den Fokusstein noch, den ich für dich gesucht hatte?
    	AI_Output(self, other, "DIA_Strf_126_Jiran_C4_Hast_Du_Fokus_15_1"); //Natürlich habe ich den Fokus noch! Wo denkst du hin?
    	AI_Output(other, self, "DIA_Strf_126_Jiran_C4_Hast_Du_Fokus_15_2"); //Kann ich den mal ausleihen?
    	AI_Output(self, other, "DIA_Strf_126_Jiran_C4_Hast_Du_Fokus_15_3"); //Selbstverständlich.
    
    	// ToDo: keine Dialoggesten/Mimik bei "...", sieht sonst albern aus.
    	// *1
    	AI_Output(other, self, "DIA_Strf_126_Jiran_C4_Hast_Du_Fokus_15_4"); //...
    	// *2
    	AI_Output(self, other, "DIA_Strf_126_Jiran_C4_Hast_Du_Fokus_15_5"); //...
    
    	AI_Output(other, self, "DIA_Strf_126_Jiran_C4_Hast_Du_Fokus_15_6"); //Und wo ist der Fokus?
    Endergebnis soll sein das die Kamera bei *1 den hero schweigend zeigt und bei *2 den NPC schweigend zeigt.

    Falls ich solch einen Dialog ("...") benutze ist das Problem die Gestik/Mimik.
    Falls ich stattdessen AI_Wait benutze wechselt die Kamera nicht von einem NPC zum anderen.
    (Kamerafahrt im Spacer erstellen geht eher nicht, man soll den Dialog an beliebigen Stellen in der Welt führen können. Oder kann man da irgendwie mit Angaben relativ zu einem NPC arbeiten für Kameraposition statt Weltpositionen zu benutzen?)

  2. Beiträge anzeigen #2
    Legende der Amazonen Avatar von Bisasam
    Registriert seit
    Dec 2006
    Ort
    Meine Faust in Sinis Gesicht
    Beiträge
    9.639
     
    Bisasam ist offline
    Da musst du mit Mds-Dateien arbeiten.

    Genauer gesagt mit Overlay-mds. Sieh dir mal die Humans_arrogance.mds an. Die überschreibt mit ihren Angaben zu WALK etc. die ursprünglichen Animationen der Humans.mds. Was da bei Walk passiert, kannst du auch mit sämtlichen dialoganimationen machen. Du musst ihnen nur beispielsweise genau einen Frame der Stand-Animation zuweisen o.ä. und schon gestikulieren die nicht mehr.

    Die overlay musst du dann aber natürlich noch applyen. Wenn du Mdl_ApplyOverlaymds aber so im dialog benutzt, wird den kompletten Dialog lang nichts abgespielt. Du musst den Befehl in eine AI_Function (LeGo) packen und vergiss nicht nach dem Schweigen alles wieder zu removen!


    "Das erinnert doch sehr erfreulich an das, was man sich als Gothicfan wünscht!"
    -Korallenkette

  3. Beiträge anzeigen #3
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.487
     
    Cryp18Struct ist offline
    Dein Vorschlag ist leider ungeeignet mein Problem zu lösen.
    Es geht ja nicht um die Sprech Animation des body sondern die der Köpfe. Die Gestik kann man per Overlay oder LeGo Dialoggestures abschalten, die Mimik(Mund geht auf und zu) bleibt jedoch erhalten.
    In den Animationen T_DIALOGGESTURE_XX wird auch nirgendwo eine MorphAni gestartet, das scheint die Engine automatisch zu machen. Den Kopf austauschen mit einem Kopf der keine Sprechanimation definiert hat wäre sehr aufwendig da ich das dann ja für alle Köpfe so einzeln machen müsste. Oder kann man mit Overlays auch MorphMesh Animationen der Köpfe verändern?

  4. Beiträge anzeigen #4
    OdysseeModTeam Avatar von Alain Dufont
    Registriert seit
    Oct 2016
    Ort
    hinter dem Mond
    Beiträge
    3.856
     
    Alain Dufont ist offline
    Zitat Zitat von Cryp18Struct Beitrag anzeigen
    Dein Vorschlag ist leider ungeeignet mein Problem zu lösen.
    Es geht ja nicht um die Sprech Animation des body sondern die der Köpfe. Die Gestik kann man per Overlay oder LeGo Dialoggestures abschalten, die Mimik(Mund geht auf und zu) bleibt jedoch erhalten.
    In den Animationen T_DIALOGGESTURE_XX wird auch nirgendwo eine MorphAni gestartet, das scheint die Engine automatisch zu machen. Den Kopf austauschen mit einem Kopf der keine Sprechanimation definiert hat wäre sehr aufwendig da ich das dann ja für alle Köpfe so einzeln machen müsste. Oder kann man mit Overlays auch MorphMesh Animationen der Köpfe verändern?
    Eine Dialogzeile führt immer dazu, dass ein NPC den Mund öffnet. Aber warum machst du das so kompliziert? Anstelle einer Dialogzeile läßt du den NPC, der schweigen soll einige Animationen ausführen, z.B. mit "AI_PlayAni (self, "T_LGUARD_SCRATCH");" Da würde sich der NPC an der Nase kratzen. Wüßte jetzt nicht was daran albern sein soll. Es würde doch eher blöd aussehen, wenn die NPCs völig unbeweglich herumstehen würden. Es gibt auch Animationen wo der NPC gar nicht den Mund aufmacht, wie z.B. t_Stand_2_LGuard. Aber wenn du keine Animationen haben willst, hilft dir vielleicht der Befehl "AI_Wait (hero,x.x);" weiter. Bei x.x trägst du die Zeit ein, wie viel Zeit der NPC nichts tun soll, z.b. 0.5 oder 1.0. Und wenn du das schweigen besonders betonen willst, könntest du das über einen Print anzeigen.
    Geändert von Alain Dufont (25.11.2017 um 09:10 Uhr)

  5. Beiträge anzeigen #5
    Legende der Amazonen Avatar von Bisasam
    Registriert seit
    Dec 2006
    Ort
    Meine Faust in Sinis Gesicht
    Beiträge
    9.639
     
    Bisasam ist offline
    Er hätte nach wie vor das Kamera-Problem...
    Aber wie wärs denn wenn du für die Outputs eine so kurze wavedatei benutzt, dass die Zeile zu kurz angezeigt wird für den Spieler und direkt nach dem Output AI_Wait? Bei ner halben Sekunde geht der Mund auch nicht auf.


    "Das erinnert doch sehr erfreulich an das, was man sich als Gothicfan wünscht!"
    -Korallenkette

  6. Beiträge anzeigen #6
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.487
     
    Cryp18Struct ist offline
    Danke für alle Anregungen!
    Ich bin jetzt doch den Holzweg zu Ende gegangen und habe mir für HUM_HEAD_FATBALD und HUM_HEAD_PONY Varianten gebaut ohne VISEME Animation.
    Falls das jemand brauchen kann: FATBALD_und_PONY_ohne_Sprech_Animation.zip

  7. Beiträge anzeigen #7
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.487
     
    Cryp18Struct ist offline
    Hi!
    Ich pushe das noch mal, meine jetzige Lösung mit verschiedenen Köpfen(ohne "VISEME"-Ani) hat doch einen ziemlichen Rattenschwanz der dann Folgeprobleme verursacht.
    [Um Kopf zu wechseln muss auch die Rüstung neu gesetzt werden in Mdl_SetVisualBody, macht Probleme bei Rüstungen mit Attributsbonus/malus, auch landen dann immer neue Kopien der Rüstungen im NPC Inventar]

    Problem: Ich möchte das beliebiger NPC X ganz normal an einem Dialog teilnimmt, möchte aber die Sprechanimation des Kopfes(!) für bestimmte AI_Output Zeilen unterdrücken.
    Das soll dann so aussehen als würde NPC X kurz schweigen.

    Falls da jemand eine bessere Lösung hat(engine Gedöhns? Ich hatte mal versucht nach "VISEME" in IDA zu suchen, aber mir fehlt es da an Übung um zu erkennen was da gemacht wird) nehme ich die dankend an.

  8. #8
    Falugify
    Gast
     
    Zitat Zitat von Cryp18Struct Beitrag anzeigen
    Hi!
    Ich pushe das noch mal, meine jetzige Lösung mit verschiedenen Köpfen(ohne "VISEME"-Ani) hat doch einen ziemlichen Rattenschwanz der dann Folgeprobleme verursacht.
    [Um Kopf zu wechseln muss auch die Rüstung neu gesetzt werden in Mdl_SetVisualBody, macht Probleme bei Rüstungen mit Attributsbonus/malus, auch landen dann immer neue Kopien der Rüstungen im NPC Inventar]

    Problem: Ich möchte das beliebiger NPC X ganz normal an einem Dialog teilnimmt, möchte aber die Sprechanimation des Kopfes(!) für bestimmte AI_Output Zeilen unterdrücken.
    Das soll dann so aussehen als würde NPC X kurz schweigen.

    Falls da jemand eine bessere Lösung hat(engine Gedöhns? Ich hatte mal versucht nach "VISEME" in IDA zu suchen, aber mir fehlt es da an Übung um zu erkennen was da gemacht wird) nehme ich die dankend an.

    Vielleicht kannst du damit was anfangen:

    Code:
    Mdl_StartFaceAni (self, "S_NEUTRAL", 1, -1); //Reset Face Expression

    Das Duplizieren der Rüstung sollte nicht passieren wenn bei SetVisualBody "NO_ARMOR" am Ende gesetzt wird (rot markiert). Vielleicht behebt das auch den Rüstungsschutz/Boni Fehler.
    Code:
    Mdl_SetVisualBody (hero, "hum_body_Naked0", 1,				0,			"Hum_Head_Pony", 	FACE_N_Player,	0, 			NO_ARMOR);
    Die aktuelle Rüstung, die getragen wird, sollte mit dieser Methode auch nicht verschwinden.
    Geändert von Falugify (05.09.2020 um 09:38 Uhr)

  9. Beiträge anzeigen #9
    Knight
    Registriert seit
    Aug 2009
    Ort
    Hessen
    Beiträge
    1.487
     
    Cryp18Struct ist offline
    Danke! Die NO_ARMOR Konstante hat direkt geholfen.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
Impressum | Link Us | intern
World of Gothic © by World of Gothic Team
Gothic, Gothic 2 & Gothic 3 are © by Piranha Bytes & Egmont Interactive & JoWooD Productions AG, all rights reserved worldwide