Unsichtbare "Face" Textur

  • Sonstiges

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

  • Unsichtbare "Face" Textur

    Servus,
    Ich sitze aktuell an eine Hürde und wollte fragen ob da evtl. jemand mehr Ahnung hat.
    Ich versuche für einen "Weapon Customization" Dialog das Charakter Modell, welches die Waffe hält unsichtbar zu machen.
    Mit "setObjectTexture [0,""]" lässt sich der Torso verstecken, sofern die Einheit eine entsprechende Uniform trägt, die den Körper ausreichend abdeckt (zb. damit "U_O_V_Soldier_Viper_hex_F" => CSAT Special Purpose Suit).
    Was übrig bleibt ist die Waffe, und die Visage die aber noch verschwinden soll.
    Mein Ansatz:
    Ich habe in der Config gesehen, dass das "Custom Face" den Eintrag -> texture = "#(argb,8,8,3)color(0.596,0.412,0.365,1)"; <- anstatt einer .paa File hat.

    Quellcode

    1. class Custom : Custom {
    2. author = "$STR_A3_Bohemia_Interactive";
    3. displayname = $STR_CFG_FACES_CUSTOM;
    4. texture = "#(argb,8,8,3)color(0.596,0.412,0.365,1)";
    5. head = "DefaultHead_A3";
    6. identityTypes[] = {};
    7. material = "A3\Characters_F\Heads\Data\m_White_01.rvmat";
    8. materialWounded1 = "A3\Characters_F\Heads\Data\m_White_01_injury.rvmat";
    9. materialWounded2 = "A3\Characters_F\Heads\Data\m_White_01_injury.rvmat";
    10. textureHL = "\A3\Characters_F\Heads\Data\hl_White_hairy_1_co.paa";
    11. materialHL = "\A3\Characters_F\Heads\Data\hl_White_hairy_muscular.rvmat";
    12. textureHL2 = "\A3\Characters_F\Heads\Data\hl_White_hairy_1_co.paa";
    13. materialHL2 = "\A3\Characters_F\Heads\Data\hl_White_hairy_muscular.rvmat";
    14. };
    Alles anzeigen



    Daher mein Versuch eine Subklasse mit -> texture = "#(argb,8,8,3)color(0,0,0,0)"; <- zu erstellen. Allerdings hat das das Gesicht nur etwas verfärbt, weder komplett Schwarz noch unsichtbar gemacht.
    Zu "cfgFaces" gibts ja leider keine Guideline seitens BI, daher wäre meine Hoffnung, dass hier irgendjemand schon mal damit gearbeitet hat und mir einen Tipp geben kann, wie ich ein Unsichtbares Gesicht zustande bringen könnte, bzw ob die Engine das überhaupt zulässt.
  • Die "laser.rvmat" hat sich als am besten geeignet herausgestellt. Gegen Terrain wird der Kopf damit zwar immer noch Schwarz, allerdings verschwindet er vor wenigen bestimmten platzierten Objekten (warum auch immer). Besser wirds wohl nicht. Warum sollte man auch eine .rvmat für etwas haben was nicht da ist :?: ...

    Also auf Basis der "laser.rvmat" eine neue gebastelt

    Quellcode

    1. ambient[] = {0,0,0,0};
    2. diffuse[] = {0,0,0,0};
    3. forcedDiffuse[] = {0,0,0,1};
    4. emmisive[] = {0,0,0,0};
    5. specular[] = {0,0,0,0};
    6. specularPower = 0;
    7. renderFlags[] = {"NoZWrite","AddBlend","NoColorWrite"};
    8. PixelShaderID = "Normal";
    9. VertexShaderID = "Basic";

    welche die Unit immer und überall (soweit getestet) transparent macht und mit "setShadowDistance 1;" auch keinen Schatten auf die Waffe wirft. Jetzt noch einen schönen Dialog drüber mit dem man über die Unit und den "add/removeWeaponItem" Befehlen die Waffe nach belieben anpassen kann und fertig ist der "Fake" 3D Dialog zur "Weapon Customization".



    @commy2
    Nochmal danke, dein

    Quellcode

    1. _unit setObjectMaterial [_forEachIndex, "a3\data_f\default.rvmat"];
    war der Schubser in die richtige Richtung!
  • BayernMaik schrieb:

    bzw selbst eine basteln.
    Soweit ich das sehen kann könnte eine leere datei da schon reichen.
    Oder vllt sowas

    Quellcode

    1. ambient[] = {1,1,1,0};
    2. diffuse[] = {1,1,1,0};
    3. forcedDiffuse[] = {0,0,0,0};
    4. emmisive[] = {0,0,0,0};
    5. specular[] = {0,0,0,0};
    6. specularPower = 0;
    7. PixelShaderID = "Empty";
    8. VertexShaderID = "Super";
    Kommt drauf an ob der binarizer den du nutzt den Empty Shader unterstützt.
    Anstatt Empty könnte man vielleicht auch Dummy0 nutzen.