Jump to content


  • Content Count

  • Joined

  • Last visited

  • Medals

Everything posted by UK_Apollo

  1. UK_Apollo

    Advice on texturing

    It looks like you are doing most things right Johno. Delta's giving you good advice on the smdi/as. However, as you still have the problem with the shadows, it's perhaps worth questioning how you know that the shadow lod is completely contained within LOD1? da12thMonkey's suggestions on the shadow lod are of course spot on. I usually reduce it by a few percent overall from the LOD1 size, and then tweak individual verts that might stick out due to it's low poly nature. 2k polys is probably ok for shadows, but the lower the better. Add a Shadow LOD 10.000 with very low poly count for optimum performance. Something else you can try; reduce your shadow lod object size by 50% and check in game again - obviously the shadows will be too small, but is the self-shadowing on the helmet gone now?
  2. UK_Apollo

    Advice on texturing

    No, the case doesn't matter. If the problem disappears when you switch off shadows, it indicates a problem possibly remains with the shadow LOD. Copy and paste the shadow LOD into your LOD1 with solid faces showing and look for any highlighted selections showing through.
  3. UK_Apollo

    Advice on texturing

    A super easy way to check for shadow problems while in game, is to Enable/Disable Shadows from the game Options > Video menu and see if the issue disappears. Add the LOD property "lodNoShadow = 1" to your visual LOD's in Object Builder. It might be worth posting your rvmat text so we can see what settings you have on the specular/smdi.
  4. UK_Apollo

    Advice on texturing

    Check that your shadow LOD objects are smaller than, and don't poke through, the LOD1. (temporarily copy and paste the shadow LOD into LOD1; you shouldn't see it showing through anywhere).
  5. UK_Apollo

    Advice on texturing

    The learning curve for Substance Painter is relatively steep at the start, like most complex software. I guess it helps if you're already familiar with using layers to build up textures, physically based rendering concepts and understand Arma's super shader (rvmats etc). I came at SP from a non-artistic, never used PhotoShop, perspective and with some initial guidance from others, plus watching youtube tutorials was able to pick it up fairly quickly. It's a very powerful tool, and I believe has been used by BIS dev's (Apex Off-Road?) and other modders here with success. I highly recommend it.
  6. UK_Apollo

    Advice on texturing

    I use Substance Painter, importing fbx files converted from Object Builders p3d. Output is _co, _nohq, _smdi and _as texture files. The slightly tricky bit is setting up the texture map export, and doing some post process smdi tweaking, but it actually gives quite accurate results in game (deep blacks are the most difficult to get right) and Substance Painter is a dream to use for an essentially non-artistic modder.
  7. UK_Apollo

    3CB BAF Vehicles

    Some new arrivals: An RN Merlin HM2 patrols the coast on a gloomy day A Merlin HC4 of 845 Naval Air Squadron prepares to unfold for a sortie Merlin HC4: - navalised conversions of the ex-RAF green HC3's - folding rotors and tail, fully animated - RN camo and markings - unarmed or armed (with a new GPMG-ARD model) Merlin HM2: - HM2 tail design and aerials, rotors and tail fold - under fuselage radome gives active radar coverage to the crew - removed FLIR turret Photo's show work in progress, final version may differ.
  8. The p3d's in p:\a3\ cannot be opened by Object Builder. Even if they could be, we would not have permission to alter/repack them. Search the Steam Store for "Arma 3 Samples" if you want to see examples of p3d's from BIS along with their configs.
  9. UK_Apollo

    How to create a TARMAC? HELP

    I don't know enough about ground objects to give you real help, but I imagine you might need to add a new LOD. Maybe LandContact or Roadway? https://community.bistudio.com/wiki/LOD
  10. UK_Apollo

    Help with reflectors

    Um, maybe. But until some of the basic stuff is corrected, it's hard to comment on whether the more complex parts are going to be correct or not.
  11. UK_Apollo

    Help with reflectors

    There are quite a lot of problems with your model.cfg. It won't be easy to tell you specifically what the problem is unfortunately. The first thing you should look at is the SkeletonBones[]. These entries need to be pairs of data, where one bone is defined as being 'attached' to another. In this example, the door is a bone but is not dependent on anything else, and the door_handle is attached (and moves with) the door: "door", "", "door_handle", "door", I've attempted to fix the top half of your SkeletonBones[] to give you an idea, but you'll need to fix the rest: SkeletonBones[] = { "drivewheel", "", "wheel_1_1_damper_land", "", "wheel_1_2_damper_land", "", "wheel_1_3_damper_land", "", "wheel_1_4_damper_land", "", "wheel_2_1_damper_land", "", "wheel_2_2_damper_land", "", "wheel_2_3_damper_land", "", "wheel_2_4_damper_land", "", "wheel_1_1_damper", "wheel_1_1_damper_land", "wheel_1_2_damper", "wheel_1_2_damper_land", "wheel_1_3_damper", "wheel_1_3_damper_land", "wheel_1_4_damper", "wheel_1_4_damper_land", "wheel_2_1_damper", "wheel_2_1_damper_land", "wheel_2_2_damper", "wheel_2_2_damper_land", "wheel_2_3_damper", "wheel_2_3_damper_land", "wheel_2_4_damper", "wheel_2_4_damper_land", "wheel_1_1_steering", "wheel_1_1_damper", "wheel_1_2_steering", "wheel_1_2_damper", "wheel_1_3_steering", "wheel_1_3_damper", "wheel_1_4_steering", "wheel_1_4_damper", "wheel_2_1_steering", "wheel_2_1_damper", "wheel_2_2_steering", "wheel_2_2_damper", "wheel_2_3_steering", "wheel_2_3_damper", "wheel_2_4_steering", "wheel_2_4_damper", "wheel_1_1", "wheel_1_1_steering", "wheel_1_2", "wheel_1_2_steering", "wheel_1_3", "wheel_1_3_steering", "wheel_1_4", "wheel_1_4_steering", "wheel_2_1", "wheel_2_1_steering", "wheel_2_2", "wheel_2_2_steering", "wheel_2_3", "wheel_2_3_steering", "wheel_2_4", "wheel_2_4_steering", "wheel_1_1_unhide", "wheel_1_1", "wheel_1_2_unhide", "wheel_1_2", "wheel_1_3_unhide", "wheel_1_3", "wheel_1_4_unhide", "wheel_1_4", "wheel_2_1_unhide", "wheel_2_1", "wheel_2_2_unhide", "wheel_2_2", "wheel_2_3_unhide", "wheel_2_3", "wheel_2_4_unhide", "wheel_2_4", "wheel_1_1_hide", "wheel_1_1", "wheel_1_2_hide", "wheel_1_2", "wheel_1_3_hide", "wheel_1_3", "wheel_1_4_hide", "wheel_1_4", "wheel_2_1_hide", "wheel_2_1", "wheel_2_2_hide", "wheel_2_2", "wheel_2_3_hide", "wheel_2_3", "wheel_2_4_hide", "wheel_2_4", "otocvez", "", "auxiliarylights_on", "", "auxiliarylights", "", //"auxiliarylights", "auxiliarylights_on", // use this line instead if auxiliarylights are supposed to be dependent on auxiliarylights_on "otochlaven", "otocvez", "damagehlaven", "otochlaven", "damagevez", "otocvez", "damagehide", "", "glass1", "damagehide", "glass2", "damagehide", "glass3", "damagehide", "glass4", "damagehide", "daylights", "damagehide", "turn_left", "daylights", "turn_right", "daylights", // not sure what happens after here - make them into pairs of bones "daylights", "ukaz_rychlo", "takedown", "ukaz_rychlo2", "BlueLight2", "ukaz_rpm", "BlueLight1", "mph", "BlueLight1_dir", "rpm", "BlueLight2_dir", "fuel", "takedown_axis", "fuel_1", "WhiteLightbar", "fuel_01", "WhiteLightbar_dir", "fuel_2", "fuel_3", "prop_01", //"auxiliarylights_on", "auxiliarylights1_on", "prop_02", "lightbar_glass", "prop_2", "lightbar_lights", "prop_1", "lightbar_top", "reverse_light", "daylights", "turn_left_hide" ,"", "turn_right_hide" ,"", "fullLights_on", "dummy", "fullLights_off", "lightbar_top", "extraLights1", "lightbar_front", "extraLights2", "lightbar_back", "extraLights2_off", "cage", "extraLights1_off", "directional", "fullLights1_on", "rambar", "fulllights1_off", "fulllights2_off", "fulllights2_on", "radar", "auxiliarylights1_pos", // probably shouldn't be here unless the light is steerable somehow? "auxiliarylights1_dir", // probably shouldn't be here unless the light is steerable somehow? "auxiliarylights1_hitpoint", // probably shouldn't be here unless the light is steerable somehow? // blank bone entries below should be removed "", "", "", "", "", "", "", "" };
  12. Two things to check: Config.cpp scope = 2; Model.cfg Class name matches your p3d file name exactly.
  13. UK_Apollo

    Help with reflectors

    You might need to post your full config.cpp and model.cfg to get more detailed assistance.
  14. UK_Apollo

    Help with reflectors

    I might be forgetting something, but I'm fairly sure class Reflectors only activate when the driver switches the lights on at night. "L" You can still use a UserAction to turn on/off specific lights, but nothing happens before the driver turns on the main lights first. The only thing you can do for daytime lights is look at using the Marker and Beacon classes, along with emissive object textures, but they don't provide a reflective light that shines off other surfaces. Don't forget to add your lights to the Sections area of model.cfg. You can take a look at how I did it for the Land Rover Ambulance blue lights, or the Snatch searchlight in the 3CB BAF Vehicles mod pack.
  15. UK_Apollo

    Config file help!

    Try adding an extra }; to the end of your file. The CfgWeapons class is not closed. The best way to find these problems is to use a text editor such as Notepad++, with the language set to C++ for .cpp files. Then be rigorous in your formatting indentations and missing closed brackets will show fairly easily.
  16. UK_Apollo

    What Have I Broken?

    Try this: class CfgPatches { class BSP_Vests { author = "BloodshotPico"; name = "BloodshotPico - Vests"; url = ""; requiredAddons[] = {"A3_Data_F"}; requiredVersion = 0.1; units[] = {}; weapons[] = { "Custom_Vest1", "Custom_Vest2", "Custom_Vest3" }; magazines[] = {}; }; }; class CfgWeapons { class ItemCore; class VestItem; class Vest_Camo_Base : ItemCore { class ItemInfo; }; class Custom_Vest1 : Vest_Camo_Base { scope = 2; author = "BloodshotPico"; displayName = "Custom Platecarrier"; picture = "-"; model = "A3\Characters_F\BLUFOR\equip_b_Vest01"; hiddenSelections[] = {"Camo"}; hiddenSelectionsTextures[] = {"DTI_Vests\Data\testvest_co.paa"}; class ItemInfo : VestItem { uniformModel = "A3\Characters_F\BLUFOR\equip_b_Vest01.p3d"; containerClass = "Supply120"; mass = 80; armor = "5"; passThrough = 0.3; hiddenSelections[] = {"camo"}; }; }; class Custom_Vest2 : Vest_Camo_Base { scope = 2; author = "BloodshotPico"; displayName = "Custom Platecarrier Lite"; picture = "-"; model = "A3\Characters_F\BLUFOR\equip_b_Vest02"; hiddenSelections[] = {"Camo"}; hiddenSelectionsTextures[] = {"DTI_Vests\Data\testvest_co.paa"}; class ItemInfo : VestItem { uniformModel = "A3\Characters_F\BLUFOR\equip_b_Vest02.p3d"; containerClass = "Supply120"; mass = 80; armor = "5"; passThrough = 0.3; hiddenSelections[] = {"camo"}; }; }; class Custom_Vest3 : Vest_Camo_Base { scope = 2; author = "BloodshotPico"; displayName = "Custom Platecarrier Kerry"; picture = "-"; model = "A3\Charactrs_F_EPA\BLUFOR\equip_b_vest_kerry"; hiddenSelections[] = {"Camo"}; hiddenSelectionsTextures[] = {"DTI_Vests\Data\testvest_co.paa"}; class ItemInfo : VestItem { uniformModel = "A3\Characters_F_EPA\BLUFOR\equip_b_vest_kerry.p3d"; containerClass = "Supply120"; mass = 80; armor = "5"; passThrough = 0.3; hiddenSelections[] = {"camo"}; }; }; };
  17. UK_Apollo

    What Have I Broken?

    mod.cpp? Do you mean config.cpp? You need a CfgPatches {} entry and to enclose your vests classes in CfgWeapons {}. Just out of interest, where are the author="BloodshotPico"; lines we talked about earlier?
  18. I'm not sure that you can remove that user action. It may be hard-coded in the game engine? What you can do however is use an EventHandler to capture the engine-on event, then write code to alter behaviour as you wish.
  19. UK_Apollo

    Modding Question

    You need to put the author definition in each of your classes, as it does not get inherited from base classes. class DTI_barup : Uniform_Base { scope = 2; author = "BloodshotPico"; displayName = "Black And Red Camo (Digital)"; picture = "-"; model = "\A3\characters_f_beta\INDEP\ia_soldier_01.p3d"; class ItemInfo : UniformItem { uniformClass = "DTI_barup_d"; containerClass = "Supply60"; mass = 50; }; };
  20. Try adding a CfgPatches section at the top of your config.cpp: class CfgPatches { class Stan_Backpacks { author = "Stan"; name = "Stans Backpacks"; requiredAddons[] = {"A3_Data_F"}; requiredVersion = 0.1; units[] = {"New_Bag"}; weapons[] = {}; magazines[] = {}; }; };
  21. UK_Apollo

    Custom vehicle creates desync on spawn

    Try temporarily eliminating some items from your config.cpp to see if you can narrow down whether it's related to the config or not: For example, 1) comment out class Reflectors (line 137-177) 2) comment out class EventHandlers (line 179-182) 3) comment out class UserActions (line 194-262)
  22. UK_Apollo

    Help With Vehicle Texture Variants (Decals)

    You can use hiddenSelections to apply different textures to the same model: https://community.bistudio.com/wiki/CfgVehicles_Config_Reference#hiddenSelections Randomisation is also possible using Vehicle Customisation: https://community.bistudio.com/wiki/Vehicle_Customization_(VhC)
  23. UK_Apollo

    Help cars shadows

    Shadow LOD's must also use CLOSED objects. Object Builder: Structure > Topology > Find Non-Closed
  24. This might interest you Burnes. I ran some tests recently (early May) to check what happens to fps with very high poly counts from multiple objects all rendered in-game simultaneously. The results are... interesting. SP, VR world, multiple vehicles all with only LOD1 present. Yes, that is 60 million polys! "Real life" - at Kavala, Altis, looking at multiple high poly model vehicles. - showing the effect of dynamic LOD switching blue = no LOD switching (only LOD 1 present) red = dynamic LOD switching (LOD's 1-6) My PC: i5 2500k @3.3GHz, 16GB RAM, GTX970 4GB Different people will form different conclusions from the data, and as this is your thread, I hope it won't result in too big of a debate, unless you wish it. But for me, it highlights the importance of continuing to optimise (minimise) the number of polys in each object in LOD1, along with the crucial role that additional lower poly LOD's play in maintaining good performance as object count increases.
  25. I did something similar when they raised the limit, and test built single models with 500,000 polys in LOD1. pboProject took about 20 minutes to build. Performance in game was acceptable. Object Builder did struggle to keep up though, lol.