PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ich bitte um Hilfe beim erstellen einer Gebäude Mod


Zoundgalaxy
12.10.2016, 14:00
Hallo zusammen,

ich bin neu hier und auch in der Mod Szene und bitte deswegen um etwas Nachsicht :D

Zu meinem Anliegen:

Ich habe in einer CAD Software (Archicad 18) ein Gebäude gebaut, welches ich gerne in Arma einfügen möchte. Hierzu habe ich das Gebäude als 3ds exportiert und als solche auch in Blender importiert. Dort habe ich es auf Arma p3d exportiert und die dazugehörigen Texturen in .paa Datein ungewandelt. Bis hier hin denke ich mal habe ich alles soweit richtig gemacht!?!

Nun möchte ich gerne wissen, wie ich die Config Datei und sämtliche anderen Daten erstelle bzw. was ich noch brauche um es anschliesend in Arma benutzen zu können. Desweiteren suche ich nach Script´s mit dennen ich Rolltore animieren kann.

Vorhanden sind:

Arma Tools
Blender
CAD Software
Notepad++


Vielen Dank für die Hilfe



mfg
Zoundgalaxy

burns
12.10.2016, 14:12
Baraka hatte ein schönes Beispiel geposted: http://hx3.de/271398-beitrag10.html


Wird auf den Ersten Blick sicher auch verwirrend sein, aber zumindest ist nur das drin was auch reingehört. Jetzt nur fraglich ob das für ArmA3 noch funzt :D

Zoundgalaxy
12.10.2016, 14:37
Danke für die schnelle Antwort und ja es ist ersteinmal eher verwirrend :D

Ich nehme mal an in die Klammern kommen dann die Dateiennamen usw....

Gibt es irgendwo noch eine Liste oder sowas wie, welche Daten in welcher Reihenfolge hinterlegt werden müssen?

Danke nochmals

burns
12.10.2016, 16:56
Die Reihenfolge ist afaik total egal, aber auf verwunderliche Weise habens die Leute bisher meist geschafft eine relativ logische Reihenfolge einzuhalten. Addoninfo zuerst, dann Einstellungskleinkram, dann Einheiten oder Waffen etc.


Hab Barakas Beispiel nochmal etwas umgetüftelt und Anmerkungen beigefügt:

class CfgPatches {
class bla_name_deiner_objekt_pbo { //der exakte Ordnername, keine Sonderzeichen
units[] = {"Haus1","Haus2"}; //Meldung aller Klassennamen welche unter cfgVehicles eingebracht werden
weapons[] = {}; //Meldung aller Klassennamen welche unter cfgWeapons eingebracht werden
worlds[] = {};
requiredVersion = 0.1;
requiredAddons[] = {};
};
};

class cfgVehicleClasses {
class bla_name_deiner_haeuserklasse { //Klasse unter welcher das Objekt im Editor zu finden sein wird
displayName = "Haeuser Test"; //Anzeigename im Editor
};
};

class CfgVehicles {
class House; //Basisklasse, muß erwähnt werden weil bla_Klassename_Haus1 seine Eigenschaften erben will

class bla_Klassename_Haus1: House { //Erben der Eigenschaften von Klasse House
scope = 2; //2=sichtbar im Editor und kann vererbt werden; 1=unsichtbar im Editor und kann vererbt werden; 0=beides nicht möglich, nur für Visitorgebrauch
model = "\bla_name_deiner_objekt_pbo\Beispiel_Modell.p3d";
icon="\bla_name_deiner_objekt_pbo\data\Beispiel_Icon.paa";
displayName="BeispielName"; //Einordnung in zuvor unter cfgVehicleClasses erstellte Editorklasse
vehicleclass = "Haeuser Test"; //Anzeigename im Editor
};

class bla_Klassename_Haus2: bla_Klassename_Haus1 { //zweites Objekt erbt alle Eigenschaften vom ersten Objekt in diesem Beispiel, dadurch entfällt die Notwendigkeit der erneuten Erwähnung von Eigenschaften die gleich bleiben (z.B. vehicleclass & scope)
model = "\Beispiel\BeispielModell2.p3d";
displayName="BeispielName2";
};
};
Das "bla" ist ein Platzhalter für deinen Editortag, hier mehr dazu weshalb das wichtig ist: OFPEC Tags | OFPEC The Editing Center (http://www.ofpec.com/tags/)

Wie immer ohne Garantie, alles ausm Kopf, wenn PC explodiert war ichs nicht schuld.

Cartman
12.10.2016, 21:20
Kannst Dir mal diese Tutorial Serie ansehen. ;)

https://www.youtube.com/playlist?list=PLqRU_EL4pwOHOJ6L2P5XlpfmNoWqulZqf

2uk9W79CJh4&list=PLqRU_EL4pwOHOJ6L2P5XlpfmNoWqulZqf&index=1

Drunken Officer
13.10.2016, 09:51
Endlich mal Jemand, der nicht gleich Polizeiautos herstellen will!!!
Wichtig ist zu sagen, dass du eine Model.cfg benötigst um die Türen beweglich zu gestalten.

Du muss im O2 mehrere LOD erstellen.

Die Config ist relativ einfach. Burns hat aber einen gravierenden Fehler gepostet. Deine eigenen Klassen MÜSSEN mit LAND_ beginnen!

Hier mal ein Auszug eines nicht strategischen Objektes. Es ist ein Kühlturm und ein Controllcenter.
Startegische Objekte, abgeleitet von House_F tauchen im Radar angriffsfähiger Fahrzeuge auf.



class CfgPatches
{
class dof_nuclear_pile
{
requiredAddons[] = {"A3_Structures_F_Dominants"};
requiredVersion = 0.1;
units[] = {"Wasserturm"};
weapons[] = {};
};

};
class CfgVehicleClasses
{

class dof_nuclear_pile_VehicleClass {
displayName = "$STR_buildingclass"; //wie es im Editro steht
};


class eventhandlers;

class CfgVehicles {
class All;
class HouseBase;
class NonStrategic;
class House;
class House_F: House
{
class DestructionEffects;
};

class House_Small_F: House_F{};
class Ruins_F;

class Land_cooltower_ruin: Ruins_F
{
mapSize = 14.44;
author = "Drunken Officer";
_generalMacro = "Land_LightHouse_ruins_F";
vehicleClass = "dof_nuclear_pile_VehicleClass";
scope = 2;
scopeCurator = 0;
displayName = "$STR_nuclear_tower_ruin";
model = "\dof_nuclear_pile\wasserturm_ruin.p3d";
icon = "iconObject_circle";
editorSubcategory = "EdSubcat_Seaports";
};



class Land_cooltower: NonStrategic
{
model = "\dof_nuclear_pile\wasserturm.p3d";
author = "Drunken Officer";
displayName = "$STR_nuclear_tower";
icon = "\dof_nuclear_pile\ui\icon_tower.paa";
mapSize = 15;
scope = 2;
editorSubcategory = "EdSubcat_Seaports";
VehicleClass = "dof_nuclear_pile_VehicleClass";


class eventhandlers : eventhandlers
{
init = " [(_this select 0)] execVM ""dof_nuclear_pile\script\smokeeffect.sqf"" ";
};

/*
ladders[] = {
{ "Ladder_1_start","Ladder_1_end" }};
*/
selectionDamage = "DamT_1";


class DestructionEffects: DestructionEffects
{
class Ruin1
{
simulation = "ruin";
type = "\dof_nuclear_pile\wasserturm_ruin.p3d";
position = "";
intensity = 1;
interval = 1;
lifeTime = 1;
};
};


};

class Land_nuclear_controlcenter : NonStrategic

{
model = "\dof_nuclear_pile\controlcenter.p3d";
author = "Drunken Officer";
displayName = "$STR_nuclear_controllinghouse";
icon = "\dof_nuclear_pile\ui\icon_tower.paa";
mapSize = 15;
scope = 2;
editorSubcategory = "EdSubcat_Seaports";
//vehicleClass = "Structures_Infrastructure"
vehicleClass = "dof_nuclear_pile_VehicleClass";


class DestructionEffects: DestructionEffects
{
class Ruin1
{
simulation = "ruin";
type = "\dof_nuclear_pile\wasserturm_ruin.p3d";
position = "";
intensity = 1;
interval = 1;
lifeTime = 1;
};
};

class AnimationSources
{
// Animation sources for doors
class Door_1_source
{
source = user; // "user" = custom source = not controlled by some engine value
initPhase = 0; // Initial value of animations based on this source
animPeriod = 1; // Coefficient for duration of change of this animation
};
class Door_2_source: Door_1_source {};
class Door_3_source: Door_1_source {};
class Door_4_source: Door_1_source {};

class Elevator_source
{
scope = 2;
source = user;
animPeriod = 7;
initPhase = 1;
};

// Animation sources for windows
class Glass_1_source
{
source = Hit; // "Hit" = value of this source is the health of an entity
hitpoint = Glass_1_hitpoint; // Specifies health of what is the control value of this animation; "Glass_1_hitpoint" being the class defined in class Hitpoints
raw = 1;
};
class Glass_2_source: Glass_1_source
{
hitpoint = Glass_2_hitpoint;
};
class Glass_3_source: Glass_1_source
{
hitpoint = Glass_3_hitpoint;
};
class Glass_4_source: Glass_1_source
{
hitpoint = Glass_4_hitpoint;
};
class Glass_5_source: Glass_1_source
{
hitpoint = Glass_5_hitpoint;
};
class Glass_6_source: Glass_1_source
{
hitpoint = Glass_6_hitpoint;
};
class Glass_7_source: Glass_1_source
{
hitpoint = Glass_7_hitpoint;
};
class Glass_8_source: Glass_1_source
{
hitpoint = Glass_8_hitpoint;
};
};
class UserActions
{

class Elevator_up
{
//displayNameDefault = <img image='\A3\Ui_f\data\IGUI\Cfg\Actions\open_door_ca .paa' size='2.5' />;
scope = 2;
displayName="UP";
onlyforplayer = true;
position="elevator_trigger";
radius = 2;
condition="this animationPhase ""Elevator_move"" == 0";
statement="this animate [""Elevator_move"", 1];";
};

class Elevator_down : Elevator_up
{
displayName="DOWN";
condition="this animationPhase ""Elevator_move"" == 1";
statement="this animate [""Elevator_move"", 0];";
};



class open_door_1
{
displayNameDefault = <img image='\A3\Ui_f\data\IGUI\Cfg\Actions\open_door_ca .paa' size='2.5' />;
scope = 2;
displayName="$STR_tuer_auf";
onlyforplayer = true;
position="door_1_trigger";
radius = 2;
condition="this animationPhase ""Door_1_rot"" == 0";
statement="this animate [""Door_1_rot"", 1];";
};

class open_door_2 : open_door_1
{
position="door_2_trigger";
condition="this animationPhase ""Door_2_rot"" == 0";
statement="this animate [""Door_2_rot"", 1];";
//statement = ([this, 'Door_4_rot', 'Door_Handle_4_rot_1', 'Door_Handle_4_rot_2'] execVM "\A3\Samples_F\Test_House_01\scripts\Door_open.sqf");
};

class open_door_3 : open_door_1
{
position="door_3_trigger";
condition="this animationPhase ""Door_3_rot"" == 0";
statement="this animate [""Door_3_rot"", 1];";
};

class open_door_4 : open_door_1
{
position="door_4_trigger";
condition="this animationPhase ""Door_4_rot"" == 0";
statement="this animate [""Door_4_rot"", 1];";
};

class close_door_1 : open_door_1
{
displayName="$STR_tuer_zu";
condition="this animationPhase ""Door_1_rot"" == 1";
statement="this animate [""Door_1_rot"", 0];";
};
class close_door_2 : close_door_1
{
displayName="$STR_tuer_zu";
position="door_2_trigger";
condition="this animationPhase ""Door_2_rot"" == 1";
statement="this animate [""Door_2_rot"", 0];";
};
class close_door_3 : close_door_1
{
displayName="$STR_tuer_zu";
position="door_3_trigger";
condition="this animationPhase ""Door_3_rot"" == 1";
statement="this animate [""Door_3_rot"", 0];";
};
class close_door_4 : close_door_1
{
displayName="$STR_tuer_zu";
position="door_4_trigger";
condition="this animationPhase ""Door_4_rot"" == 1";
statement="this animate [""Door_4_rot"", 0];";
};

};
};
};

burns
13.10.2016, 13:08
Zu der "Land" Sache hätt ich aber gern nen offiziellen Post oder zumindest eine sehr schlüssige Erklärung warum das benötigt sein soll. Mir erschliesst sich einfach nicht der Sinn, Klassen können doch heissen wie sie wollen, das ist afaik Grundgesetz einer objektorientierten (ArmA) Config. Soll das seit ArmA3 so sein, oder seit wann ordnest du das an? :nachdenklich:

edit: Siehe Beispiel von früherclass BWMod_KabineTypI: House {


PS: "$STR_buildingclass"; dazu fehlt dann noch das Beispiel einer Stringtable Datei.

Drunken Officer
13.10.2016, 13:22
Steht in einem Tutorial drin. Schaut man sich die gelisteten Namen an, steht dieser Land_ Tag bei allen Gebäuden davor. Muss ja einen Grund haben. Ich habe es gerade getestet, es ist kein MUSS.


Zur Stringtable. Da gehört nun wirklich nix dazu. Diesbezüglich gibt es Beispiele ohne Ende

Da fehlt auch noch die Model.CFG mit der Definition des Skelettes und der Animationen.

burns
13.10.2016, 13:35
Steht in einem Tutorial drin. Schaut man sich die gelisteten Namen an, steht dieser Land_ Tag bei allen Gebäuden davor. Muss ja einen Grund haben. Ich habe es gerade getestet, es ist kein MUSS.

Okay, dann geh ich mal davon aus es steht überall Land davor weil das eine Config von Bohemia selbst ist, und die sich wirklich nicht den Stress mit Tags geben müssen (obwohl sicher manchmal nützlich sein könnte bei der Vielzahl an Mods).

Wenn man alles so machen will wie Bohemia, dann muss man sich für Waffen auch so tolle Klassenamen einfallen lassen wie z.B. "bliblub_762_red_turbo_dlc3_etc_pp" - anstatt wie früher ganz einfach "M16A2" - das waren noch Zeiten!


Hab Dank für die Entzwirbelung :)

Zoundgalaxy
13.10.2016, 14:50
Ersteinmal vielen Dank für die großartige Unterstützung!!! Ist heutzutage bei weitem nicht selbstverständlich!!!

Ich erweritere mal meine Angaben, da es jetzt etwas weiter fortgeschritten ist. Das ist ein aktueller Auszug aus den Anvorderungen.

Ich baue eine Feuerwache (p3d und Modell-Name ist FirestationZG):

EG:
Eingang (2 Türen); Wachbüro (1 Tür); Fahrzeughalle (5 Garagentore, 1 Tür) Werkstatt (1 Garagentor, 1 Tür)

1. OG:
Wehrleitung (2 Türen); Kleiderkammer (1 Tür); Küche/Aufenthaltsraum (2 Türen); Waschraum (1 Tür); Schlafraum 1 bis 6 (je 1 Tür); Stangenraum 1 bis 2 (je 1 Tür)

2. OG:
Hubschrauberlandeplatz (1 Tür);

Ausenbereich:
1x Schlauichturm (1 Tür)

zudem kommen noch

1x Ausenleiter (Fassadenleiter senkrecht)
2x Rutschstange (Skript wie Leiter sofern nichts anderes verfügbar ist)
1x Trigger Fahrzeuge (in der Fahrzeughalle)
1x Trigger Huhschrauber (Bereich 2. OG)
1x Trigger Material (in der Kleiderkammer: Warnbarken, Medi-Pack, usw.... )

Wenn möglich Alarm Gong mit Blitzer welches über die Notrufnachricht getriggert werden könnte wenn das überhaupt geht (Nice to have, aber spielerei!!!)

Falls sich jemand kreativ austoben möchte:confused::D:confused::daumen:

Ist stand:

3ds Modell
Blender Modell
p3d Modell
Texturen in png und paa
Vorschaubild in jpg und png


Wie generiere ich das Skellett über die Arma Tools oder worüber?


mfg

Zoundgalaxy

und nochmals vielen Dank :daumen::daumen::daumen::daumen:

Lester
13.10.2016, 16:33
Das Land_ ist in Verbindung mit den teilzerstörbaren Objekten (zumeist Häuser, definitv aber Statics) aufgekommen.

So ganz bekomme ich es auch nicht mehr auf die Reihe da ich mein ganzes Drumherum um ArmA & Modding gelöscht habe, aber die Land_ Classes hatten wohl die Eigenschaft das die sich dann in Ruin_ (oder wie das noch hieß :rolleyes:) "verwandeln" konnten.
Die werden dann ja neu gespawnt wenn das Ursprungsobjekt bzw. der Teilbereich kaputt ist ... und das gibt dann diesen fragwürdigen Effekt weil die Ursprungsobjekte zwar noch da aber nur unter die Erde gezogen wurden.