WIP Mod - Lineare Animationen? / Ingame Error (Cannot open object [...])

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • WIP Mod - Lineare Animationen? / Ingame Error (Cannot open object [...])

    Mein Problem ist folgendes:

    ++++++++++++++++++++++++++++++siehe aktuellsten Beitrag unten++++++++++++++++++++++++++++++

    Ich habe angefangen in Blender einen R-655 Bunker aus dem 2. WK zu modellieren,
    mit einer simplen config.cpp Datei klappte das ganze auch problemlos InGame (siehe Bild 1)

    Bild 1


    Bevor ich mit dem texturieren anfange wollte ich jetzt schon einmal die Animationen erstellen,
    um auch hier sicherzugehen das alles reibungslos funktioniert. Hier nun die Ernüchterung, es geht nicht.

    Als Test habe ich die "door_2" verwendet, eine Geometry, sowie Memory LOD erstellt, diese in Vertex Groups
    gebunden um alles schließlich in die config.cpp sowie model.cfg einzubinden, hierzu muss gesagt sein das ich
    vom scripten wenig verstehe und mir somit vieles aus anderen Foren zusammengeschustert habe.

    Der Addon Builder verpackt alles ohne Fehler(wobei mir schon hierbei klar wird das dies wieder ein Fehlschuss wird,
    da dieser nach ~2s fertig ist). Im Spiel, wenn ich den Bunker platzieren will, kommt nun folgende Fehlermeldung:



    Ich würde mich freuen wenn sich jemand bereiterklärt mir hierbei weiterzuhelfen. Im Anhang einige Daten sowie die Dateininhalte.

    vertices vom Modell: 2725


    config.cpp
    Spoiler anzeigen

    Quellcode

    1. [tt]
    2. class CfgPatches
    3. {
    4. class Bunker_R655
    5. {
    6. units[] = {"Bunker_R655"};
    7. weapons[] = {};
    8. requiredVersion = 1.0;
    9. requiredAddons[] = {"A3_Structures_F_Items"};
    10. };
    11. };
    12. class CfgVehicles
    13. {
    14. class Static;
    15. class Bunker_R655 : Static
    16. {
    17. scope = 2;
    18. model = "\Test_Export\Bunker_R655\Bunker_R655.p3d";
    19. displayName = "R655"
    20. vehicleClass = "small_items";
    21. class AnimationSources
    22. {
    23. class door_2_Rotation
    24. {
    25. source = "user";
    26. initPhase = 0;
    27. animPeriod = 2;
    28. };
    29. };
    30. class UserActions
    31. {
    32. class open_door_2
    33. {
    34. displayName = "Gittertür öffnen";
    35. position = "actionPoint";
    36. radius = 10;
    37. onlyForPlayer = 0;
    38. showWindow = 0;
    39. condition = true;
    40. statement = "this animate [""door_2_Rotation"", 1];";
    41. };
    42. class close_door_2
    43. {
    44. displayName = "Gittertür schliessen";
    45. position = "actionPoint";
    46. radius = 10;
    47. onlyForPlayer = 0;
    48. showWindow = 0;
    49. condition = true;
    50. statement = "this animate [""door_2_Rotation"", 0];";
    51. };
    52. };
    53. };
    54. };
    55. [/tt]
    Alles anzeigen



    model.cfg

    Spoiler anzeigen

    Quellcode

    1. class CfgSkeletons
    2. {
    3. class Default
    4. {
    5. isDiscrete = 1;
    6. skeletonInherit = "";
    7. skeletonBones[] = {};
    8. };
    9. class Bunker_R655_bones : Default
    10. {
    11. skeletonInherit = "Default";
    12. skeletonBones[] = {"Door_2",""};
    13. };
    14. };
    15. class Rotation;
    16. class CfgModels
    17. {
    18. class Default
    19. {
    20. sectionsInherit = "";
    21. sections[] = {};
    22. skeletonsName = "";
    23. };
    24. class Bunker_R655 : Default
    25. {
    26. sections[] = {};
    27. skeletonName = "Bunker_R655_bones";
    28. class Animations
    29. {
    30. class door_2_Rotation
    31. {
    32. type="rotation";
    33. source="user";
    34. selection="Door_2";
    35. axis="Door_2_Axis";
    36. memory=1;
    37. minValue=0;
    38. maxValue=1;
    39. animPeriod=0;
    40. angle0=0;
    41. angle1="rad 90";
    42. };
    43. };
    44. };
    45. };
    Alles anzeigen

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Benno ()

  • Unter Optionen Gibt es ein feld names "list of files to copy directly" da musst du alles datei typen reschreiben die du benutzt
    das währe jetzt meine erste vermutung


    by the way cooles teil freue mich wenn man es nutzen kann :+1:
    SIGNATUR START
    Wer Rechtschreibfehler findet darf sie behalten
    ACE3 Core Developer
    CBA A3 Developer
    Developer of Dynasound, Enhance SoundScape, Immerse, Suppress and Align
    SIGNATUR ENDE
  • Leider nicht, wäre auch zu einfach um wahr zu sein :)
    Hier einmal die Launcher Einstellungen, müsste doch eigentlich alles dabei sein was ich benötige!? Deine obrig aufgelisteten auf jeden fall...



    Hier der Inhalt der .paa Datei:




    PS: Schön das es dir gefällt, hier noch ein wenig Bildmaterial direkt aus Blender ;)
    PPS: Bin erstmal nicht da...nicht wundern.


    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Benno ()

  • Jay schrieb:

    Ingame steht ja was von "/test_export/...." nur sehe ich dieses Verzeichnis in deiner Pbo nicht. Deswegen wird die *.p3d nicht gefunden.


    Die Animationen kannst du auch in Buldozer testen. Nur bei Änderungen in der model.cfg den Buldozer neu laden.
    Benennung in der model.cfg müsste stimmen.
    Hey das klingt erschreckend logisch, die Frage ist wie erstelle ich ein Verzeichnis innerhalb der PBO, denn bevor das Addon "gebaut" wird, ist der Test Export ja vorhanden. Um das zu veranschaulichen, ich habe einen Ordner mit Unterordnern auf dem P Drive wovon ich alles exportiere. Liegt da der Fehler?

    P:\Test_Export\Bunker_R655\Bunker_R655.p3d



    Und @Raspu

    Welche Klasse meinst du? Denn CfgSkeletons gehört doch so, oder etwa nicht?

    PS: Schonmal danke für die Hilfe! :)

    ------------------------------------------------------ EDIT ------------------------------------------------------

    @Jay Habe die PBO entpackt, einen Ordner namens Test_Export erstellt, die .p3d Datei hineingezogen und wieder verpackt.
    Klappte leider nicht, habe auch versucht alles reinzuziehen.
    Falls du das meintest!?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Benno ()

  • Du könntest mit dem Addonbuilder ab dem Ordner Bunker_R655 packen.

    sollte im Addonbuilder unter "Addon source directory" dann so aussehen: P:\Test_export\Bunker_R655

    somit müsste die erstellte Pbo dann Bunker_R655.pbo heissen.


    Solange du "Binarize" nicht angewählt hast wird das packen auch nicht mehr als ein paar Sekunden dauern.


    ---------*Edit*----------

    Ich sehe gerade, dass das packen ja in Ordnung war. Du musst nur die config.cpp anpassen

    Quellcode

    1. model = "\Bunker_R655\Bunker_R655.p3d";
    Den Unterordner brauchst du dann nicht.
    der hätte wenn dann vor dem "Bunker_R655" liegen müssen.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Jay ()

  • -------------------------EDITED --------------------------
    Ich muss das Fass nun doch noch einmal anbrechen, die Animation funktioniert wunderbar, klingt super nicht? :)
    einziges Problem, das tut sie NUR wenn ich sie unter "vehicleClass = small_items; eingetragen ist.
    Und hier ist PhysX aktiviert, das heißt der Bunker fällt um als wärs aus Pappe, anders ist das bei "vehicleClass = house;",
    das ist doch soweit ich weiß die Standarteinstellung für Gebäude?!
    Problem dabei ist das die Animation hierbei nicht mehr funktioniert! Die Frage ist nur wieso?
    Gibt es noch alternative "classes" welche ich probieren kann?

    Ich bedanke mich schon einmal im vorraus und hoffe auf einen Samariter! :)

    MfG. Benno

    Hier die neuen Dateien:


    config.cpp (small_items)

    Spoiler anzeigen


    Quellcode

    1. class CfgPatches
    2. {
    3. class Bunker_R655
    4. {
    5. units[] = {"Bunker_R655"};
    6. weapons[] = {};
    7. requiredVersion = 1.0;
    8. requiredAddons[] = {"A3_Structures_F_Items"};
    9. };
    10. };
    11. class CfgVehicles
    12. {
    13. class Items_base_F;
    14. class Bunker_R655 : Items_base_F
    15. {
    16. scope = 2;
    17. model = "\Bunker_R655\Bunker_R655.p3d";
    18. displayName = "R655"
    19. vehicleClass = small_items;
    20. mapSize = 20.27;
    21. cost = 60000;
    22. class AnimationSources
    23. {
    24. class door_2_Rotation
    25. {
    26. source = "user";
    27. initPhase = 0;
    28. animPeriod = 2;
    29. sound = "GenericDoorsSound";
    30. };
    31. };
    32. class UserActions
    33. {
    34. class open_door_2
    35. {
    36. displayNameDefault = "<img image='\A3\Ui_f\data\IGUI\Cfg\Actions\open_door_ca.paa' size='2.5' />";
    37. displayName = "Gittertuer oeffnen";
    38. position = "Door_2_actionPoint";
    39. priority = 0.4;
    40. radius = 10;
    41. onlyForPlayer = false;
    42. condition = ((this animationPhase 'door_2_Rotation') < 0.5)
    43. showWindow = 0;
    44. statement = "this animate [""door_2_Rotation"", 1];";
    45. };
    46. class close_door_2
    47. {
    48. displayName = "Gittertuer schliessen";
    49. position = "Door_2_actionPoint";
    50. priority = 0.2;
    51. radius = 10;
    52. onlyForPlayer = 0;
    53. showWindow = 0;
    54. condition = ((this animationPhase 'door_2_Rotation')
    55. statement = "this animate [""door_2_Rotation"", 0];";
    56. };
    57. };
    58. };
    59. };
    Alles anzeigen



    config.cpp (house)

    Spoiler anzeigen

    Quellcode

    1. class CfgPatches
    2. {
    3. class Bunker_R655
    4. {
    5. units[] = {"Bunker_R655"};
    6. weapons[] = {};
    7. requiredVersion = 1.0;
    8. requiredAddons[] = {"A3_Structures_F_Items"};
    9. };
    10. };
    11. class CfgVehicles
    12. {
    13. class House;
    14. class Bunker_R655 : House
    15. {
    16. scope = 2;
    17. model = "\Bunker_R655\Bunker_R655.p3d";
    18. displayName = "R655"
    19. vehicleClass = Structures;
    20. mapSize = 20.27;
    21. cost = 60000;
    22. class AnimationSources
    23. {
    24. class door_2_Rotation
    25. {
    26. source = "user";
    27. initPhase = 0;
    28. animPeriod = 2;
    29. sound = "GenericDoorsSound";
    30. };
    31. };
    32. class UserActions
    33. {
    34. class open_door_2
    35. {
    36. displayNameDefault = "<img image='\A3\Ui_f\data\IGUI\Cfg\Actions\open_door_ca.paa' size='2.5' />";
    37. displayName = "Gittertuer oeffnen";
    38. position = "Door_2_actionPoint";
    39. priority = 0.4;
    40. radius = 10;
    41. onlyForPlayer = false;
    42. condition = ((this animationPhase 'door_2_Rotation') < 0.5)
    43. showWindow = 0;
    44. statement = "this animate [""door_2_Rotation"", 1];";
    45. };
    46. class close_door_2
    47. {
    48. displayName = "Gittertuer schliessen";
    49. position = "Door_2_actionPoint";
    50. priority = 0.2;
    51. radius = 10;
    52. onlyForPlayer = 0;
    53. showWindow = 0;
    54. condition = ((this animationPhase 'door_2_Rotation')
    55. statement = "this animate [""door_2_Rotation"", 0];";
    56. };
    57. };
    58. };
    59. };
    Alles anzeigen



    model.cfg

    Spoiler anzeigen

    Quellcode

    1. class CfgSkeletons
    2. {
    3. class Default
    4. {
    5. isDiscrete = 1;
    6. skeletonInherit = "";
    7. skeletonBones[] = {};
    8. };
    9. class Bunker_R655_bones : Default
    10. {
    11. skeletonInherit = "Default";
    12. skeletonBones[] = {"Door_2",""};
    13. };
    14. };
    15. class Rotation;
    16. class CfgModels
    17. {
    18. class Default
    19. {
    20. sectionsInherit = "";
    21. sections[] = {};
    22. skeletonsName = "";
    23. };
    24. class Bunker_R655 : Default
    25. {
    26. sections[] = {};
    27. skeletonName = "Bunker_R655_bones";
    28. class Animations
    29. {
    30. class door_2_Rotation
    31. {
    32. type="rotation";
    33. source="user";
    34. selection="Door_2";
    35. axis="Door_2_Axis";
    36. memory=1;
    37. minValue=0;
    38. maxValue=1;
    39. animPeriod=0;
    40. angle0=0;
    41. angle1="rad 90";
    42. };
    43. };
    44. };
    45. };
    Alles anzeigen

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Benno ()

  • Benno schrieb:

    Meinst du das so?:


    1. 14. class House;
    2. 15. House_F : House
    Denn ich glaube House_F ist der Name des Hause, der p3d. Datei, oder irre ich mich da?! :)
    In deinem Fall wäre House_F der Classname deines Objekts

    C-Quellcode

    1. class CfgPatches {
    2. class ad_objects{
    3. units[] = {};
    4. magazines[] = {};
    5. requiredVersion = 0.1;
    6. requiredAddons[] = {"CBA_MAIN"};
    7. author[]= {"[101st.AD] Jay"};
    8. authorUrl = "http://www.airborne-division.com";
    9. version = 2.0.0;
    10. versionStr = "2.0.0";
    11. versionAr[] = {2.0.0};
    12. versionDesc = "Airborne Division Objects";
    13. versionAct = "";
    14. };
    15. };
    16. class cfgVehicleClasses {
    17. class ad_objects_class {
    18. displayName = "AD - Objects";
    19. };
    20. };
    21. class cfgVehicles {
    22. class House;
    23. class ad_base_gate: House {
    24. scope = 2;
    25. animated = 0;
    26. vehicleClass = "ad_objects_class";
    27. model = "\ad_objects\base_gate.p3d";
    28. displayName = "Schranke";
    29. mapSize = 5.500000;
    30. accuracy = 0.200000;
    31. armor = 50;
    32. destrType = "DestructNo";
    33. class AnimationSources
    34. {
    35. class ad_base_gate_anim_01
    36. {
    37. source = "user";
    38. animPeriod = 2;
    39. initPhase = 0;
    40. };
    41. };
    42. class UserActions
    43. {
    44. class ad_base_gate_anim_01_open
    45. {
    46. displayName = "Open";
    47. position = "gate_box";
    48. radius = 2;
    49. onlyforplayer = 1;
    50. condition = "this animationPhase ""ad_base_gate_anim_01"" < 0.5";
    51. statement = "this animate [""ad_base_gate_anim_01"",1]";
    52. };
    53. class ad_base_gate_anim_01_close
    54. {
    55. displayName = "Close";
    56. position = "gate_box";
    57. radius = 2;
    58. onlyforplayer = 1;
    59. condition = "this animationPhase ""ad_base_gate_anim_01"" > 0.5";
    60. statement = "this animate [""ad_base_gate_anim_01"",0]";
    61. };
    62. };
    63. };
    Alles anzeigen





    Hier mal ein Auszug aus einer älteren Config von mir. Dieses Objekt ist unzerstörbar und die Animation funktioniert.

    Versuche es mal bei "small_items" mit diesem Eintrag in der Klasse deines Objekts

    1. C-Quellcode

      1. destrType = "DestructNo";






    jokoho482 schrieb:

    also wenn ich mir die Vanilla referenzen anschauen nutzen die dort House_F als base Class
    Mit "House" funktioniert es immer noch. Wir nutzen noch einige der Objekte, die mit "House" gebaut wurden.
  • @Jay

    EDIT: Hier noch ein Video dazu...
    youtu.be/HDK6JhDhrpY

    Leider bringt das "destrType = "DestructNo";" script nichts, der Bunker kippt dennoch um,
    aber wie bereits erwähnt funktioniert das öffnen der Tür hier. Aber selbst wenn dieser stehen bleiben
    würde, ich hatte eigentlich vor den Bunker zerstörbar zu machen, ein paar dicke Oshi Fliegerbomben
    sind ja eigentlich nur logisch. Daher ist die class Small_Items bzw Items_Base_F eigentlich keine Wahl für mich,
    jedenfalls nicht langfristig denn irgendwie muss das ganze ja funktionieren. :/

    Ich kann mir nicht erklären warum das ganze unter...


    Quellcode

    1. class Items_base_F;
    2. class Bunker_R655 : Items_base_F

    ...funktioniert, aber unter...

    Quellcode

    1. class House;
    2. class Bunker_R655 : House


    ...nicht :/

    MfG. Benno

    EDIT: Bin leider morgen den Tag über weg und komme erst gegen Abend wieder, nicht wundern :/

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Benno ()

  • Habe jetzt doch noch einmal versucht exakt das gleiche Animationsscript zu verwenden,
    welches beim "House_F" Sample Addon genutzt wurde. Sprich mit externen SQF Dateien zum öffnen /
    schließen von Türen. Habe gut 2h versucht das ganze irgendwie zum laufen zu kriegen aber vergeblich,
    die Option im Action Menü wird nichts angezeigt.
    Ich würde mich daher sehr freuen wenn sich jemand der sich hiermit auskennt die Mühe machen würde
    die model.cfg, bzw. config.cpp Datei zu überfliegen und auf gegebenenfalls vorhande Fehler zu untersuchen.

    Ich hoffe auf baldige Funktion der Tür Animation sodass ich endlich weiterarbeiten kann :)
    Jene welche bei meinen ganzen Problemen geholfen haben werden selbstverständlich in der Mod erwähnt.

    MfG. Benno

    PBO Struktur
    (Kopie 03.04.16 ist zu ignorieren, sind einfache Sicherheitskopien der alten Einstellungen)



    cfgFunktions.hpp

    Spoiler anzeigen

    Quellcode

    1. class CfgFunctions
    2. {
    3. class Bunker_R655
    4. {
    5. tag = "BIS";
    6. class Scripts
    7. {
    8. file = "Bunker_R655\scripts";
    9. class door_close {};
    10. class door_open {};
    11. class door_noHandle_close {};
    12. class door_noHandle_open {};
    13. };
    14. };
    15. };
    Alles anzeigen


    config.cpp

    Spoiler anzeigen

    Quellcode

    1. class CfgPatches
    2. {
    3. class Bunker_R655
    4. {
    5. requiredAddons[] = {"A3_Structures_F"};
    6. requiredVersion = 0.1;
    7. weapons[] = {};
    8. units[] = {"Bunker_R655"};
    9. };
    10. };
    11. class CfgVehicles
    12. {
    13. class House;
    14. class Bunker_R655 : House
    15. {
    16. scope = 2;
    17. model = "\Bunker_R655\Bunker_R655.p3d";
    18. displayName = "R655"
    19. vehicleClass = Structures;
    20. mapSize = 20.27;
    21. cost = 100000;
    22. class AnimationSources
    23. {
    24. class door_1_source
    25. {
    26. source = user;
    27. initPhase = 0;
    28. animPeriod = 1.5;
    29. sound = "GenericDoorsSound";
    30. };
    31. };
    32. class UserActions
    33. {
    34. class open_door_1
    35. {
    36. displayNameDefault = "<img image='\A3\Ui_f\data\IGUI\Cfg\Actions\open_door_ca.paa' size='2.5' />";
    37. displayName = "Gittertür öffnen";
    38. position = door_1_actionPoint;
    39. priority = 0.4;
    40. radius = 10;
    41. onlyForPlayer = false;
    42. condition = ((this animationPhase 'door_1_rotation') < 0.5)
    43. statement = ([this, 'door_1_rotation'] call BIS_fnc_DoorNoHandleOpen);
    44. };
    45. class close_door_1: open_door_1
    46. {
    47. displayName = "Gittertür schliessen";
    48. priority = 0.2;
    49. condition = ((this animationPhase 'door_1_rotation') >= 0.5)
    50. statement = ([this, 'door_1_rotation'] call BIS_fnc_DoorNoHandleClose);
    51. };
    52. };
    53. };
    54. };
    Alles anzeigen



    model.cfg

    Spoiler anzeigen

    Quellcode

    1. class CfgSkeletons
    2. {
    3. class Default
    4. {
    5. isDiscrete = 1;
    6. skeletonInherit = "";
    7. skeletonBones[] = {};
    8. };
    9. class Bunker_R655_bones : Default
    10. {
    11. skeletonInherit = "Default";
    12. skeletonBones[] =
    13. {
    14. "door_1", "",
    15. "door_1_Lock", "door_1",
    16. };
    17. };
    18. };
    19. class Rotation;
    20. class CfgModels
    21. {
    22. class Default
    23. {
    24. sectionsInherit = "";
    25. sections[] = {};
    26. skeletonsName = "";
    27. };
    28. class Bunker_R655 : Default
    29. {
    30. sections[] = {};
    31. skeletonName = "Bunker_R655_bones";
    32. sectionsInherit = "";
    33. class Animations
    34. {
    35. class door_1_rotation
    36. {
    37. type = rotation;
    38. source = door_1_source;
    39. selection = door_1;
    40. axis = door_1_Axis;
    41. memory = 1;
    42. minValue = 0;
    43. maxValue = 1;
    44. angle0 = 0;
    45. angle1 = (rad 90);
    46. };
    47. };
    48. };
    49. };
    Alles anzeigen


    Scripts (Der einfachheit wegen in einem "Block")

    Spoiler anzeigen

    Quellcode

    1. fn_door_close
    2. (_this select 0) animate [(_this select 1), 0];
    3. (_this select 0) animate [(_this select 2), 0];
    4. (_this select 0) animate [(_this select 3), 0];
    5. _______________________________________________
    6. fn_door_noHandle_close //(Verwendet)
    7. (_this select 0) animate [(_this select 1), 0];
    8. _______________________________________________
    9. fn_door_noHandle_open //(Verwendet)
    10. (_this select 0) animate [(_this select 1), 1];
    11. _______________________________________________
    12. fn_door_open
    13. (_this select 0) animate [(_this select 1), 1];
    14. (_this select 0) animate [(_this select 2), 1];
    15. (_this select 0) animate [(_this select 3), 1];
    Alles anzeigen

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von Benno ()

  • Ich habe es bei mir jetzt so, dass die Animation funktioniert. Habe das ganze mal in den Anhang gepackt.

    Ich kann leider nicht genau sagen, was es war da ich ein paar Schritte auf einmal gemacht hatte.
    Meine Vermutung sind ein paar kleine Fehler in der Config.

    Es fehlten ein paar Semikolons und ich habe den ActionPoint mal als String hinzugefügt.

    Ich habe in deinem Addon etwas rumgepfuscht und mir eine Behilfsrampe gebaut um das ganze testen zu können. Eventuell musst du die Memorypoints anpassen. Aber deine Version müsste auch gehen, wenn du die Config anpasst.

    Zum Thema Zerstörbarkeit könntest du hier mal schauen.

    community.bistudio.com/wiki/Building_Configs

    Mit dem Thema habe ich mich aber auch noch nicht beschäftigt.
    Dateien
    • Bunker_R655.7z

      (73,58 kB, 73 mal heruntergeladen, zuletzt: )