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.



    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.

  • Ich habe mich der Einfachheit halber gleich als gesichtsloser VR-Mensch gespawnt und dann alle Texturen und Materialien durch die leeren Platzhalter im Spiel ersetzt.




    Sieht für mich so aus, als ob das Spiel bei Soldaten den Alphakanal nicht beachtet. Wüsste so schnell nicht, wie man darum kommen soll.

  • Erst mal dickes Danke für deine Hilfe.
    Bis Dato kannte ich den Zweck von .rvmat's nicht mal.


    Mit "A3\Structures_F\Data\Windows\window_set.rvmat" habe ich gerade ein ähnliches Ergebnis erzielt.
    Jetzt gilt es eig. nur noch die passende .rvmat zu finden, bzw selbst eine basteln.

  • 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

    Code
    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

    Code
    1. _unit setObjectMaterial [_forEachIndex, "a3\data_f\default.rvmat"];

    war der Schubser in die richtige Richtung!

  • bzw selbst eine basteln.

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


    Code
    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.