Ture Right 2 Posted November 17, 2023 Hi folks. First time opening a topic here. I successfully managed to import a helicopter with some help. Now my problem is the shadows casted when the rotor blur motion appears. It looks like the triangles from the proxies cast weird shadows alongside weird elongated ones. In the proxy models there are no shadow lods and i gave the lodnoshadow 1 property to the resolution lods of them. Even tried in thicking and unthicking the "enable shadows" property within the proxy models selecton in object builder, but no success is reached. Here is a pic of the issue https://imgur.com/a/zOJvtgl Share this post Link to post Share on other sites
Jackal326 1181 Posted November 18, 2023 That doesn't look like proxy triangles to me, that looks like a broken shadow lod with unclosed, unsharpened and non-triangulated faces... Share this post Link to post Share on other sites
Ture Right 2 Posted November 19, 2023 23 hours ago, Jackal326 said: That doesn't look like proxy triangles to me, that looks like a broken shadow lod with unclosed, unsharpened and non-triangulated faces... Mmh, the only present shadow lods in the model are the ones of the helicopter. And now that i think of it, when the rotors reach high speed (without the blur applied) the tip of the blades cast weird shadow lines.. So maybe that could cause the issue? I'm gonna quickly check again if there are unclosed, unsharpened and non triangulated faces. Share this post Link to post Share on other sites
Jackal326 1181 Posted November 19, 2023 Just now, Ture Right said: [...] I'm gonna quickly check again if there are unclosed, unsharpened and non triangulated faces. After doing so ensure any/all faces are part of the correct named selections for animating etc. Share this post Link to post Share on other sites
Ture Right 2 Posted November 19, 2023 16 minutes ago, Jackal326 said: After doing so ensure any/all faces are part of the correct named selections for animating etc. Alright so, all was closed, sharpened and triangulated. Then, maybe, must be the complexity of 2 shadow lods the cause of this. I'm gonna remove the complex ones and leave the simpler ones. I'm gonna test it and let you know in a moment. https://imgur.com/a/Z7a0kOL Pics of the shadow lods Share this post Link to post Share on other sites
Ture Right 2 Posted November 19, 2023 9 minutes ago, Ture Right said: Alright so, all was closed, sharpened and triangulated. Then, maybe, must be the complexity of 2 shadow lods the cause of this. I'm gonna remove the complex ones and leave the simpler ones. I'm gonna test it and let you know in a moment. https://imgur.com/a/Z7a0kOL Pics of the shadow lods PROBLEM SOLVED: Those over complicated shadows were the culprits. Thanks man, really appreciated. Also, since we are here, i still have the last thing to figure out in this model: the rudder shows its animation in buldozer but not in game. I'm posting my model cfg below for reference. class cfgSkeletons { class SF7_FL282_skeleton { skeletonInherit = ""; isDiscrete = 0; SkeletonBones[]= { "main rotor","", "tail rotor","", "gear1" ,"", "gear2" ,"", "rudder","", "stick_pilot","", "muzzleflash","" }; }; }; class CfgModels { class Default { sections[] = {}; sectionsInherit=""; skeletonName = ""; }; class SF7_FL282A1:Default { skeletonName="SF7_FL282_skeleton"; sections[]= { "zybtek", "glass1", "camo1", "main rotor blur", "tail rotor blur", "muzzleflash", "main rotor static", "tail rotor static" }; class Animations { class Rudder { type="rotation"; source="drivingWheel";//drivingWheel or rudder? selection="rudder"; axis="rudder_axis"; sourceAddress = clamp;// (default) minValue=-1.000000; maxValue=1.000000; angle0=-0.375246; angle1=0.375246; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class rotor_destructx { type="rotationX"; source="damage"; selection="main rotor"; axis="velka osa";//*probably* // sourceAddress = clamp;// (default) minValue = 0.99;//rad 56.722824 maxValue = 1.0;//rad 57.29578 angle0 = 0.0;//rad 0.0; angle1 = -0.34906584;//rad -20.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class rotor_destructy { type="rotationY"; source="damage"; selection="main rotor"; axis="velka osa";//*probably* // sourceAddress = clamp;// (default) minValue = 0.99;//rad 56.722824 maxValue = 1.0;//rad 57.29578 angle0 = 0.0;//rad 0.0; angle1 = 0.6981317;//rad 40.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class mala_vrtule_destructy { type="rotationY"; source="damage"; selection="tail rotor"; axis="mala osa";//*probably* // sourceAddress = clamp;// (default) minValue = 0.99;//rad 56.722824 maxValue = 1.0;//rad 57.29578 angle0 = 0.0;//rad 0.0; angle1 = 0.17453292;//rad 10.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class mala_vrtule_destructz { type="rotationZ"; source="damage"; selection="tail rotor"; axis="mala osa";//*probably* // sourceAddress = clamp;// (default) minValue = 0.99;//rad 56.722824 maxValue = 1.0;//rad 57.29578 angle0 = 0.0;//rad 0.0; angle1 = 0.43633232;//rad 25.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class hrotor { type="rotation"; source="rotorh"; selection="main rotor"; axis="velka osa";//*probably* // sourceAddress = loop;// (default) minValue = 0.0;//rad 0.0 maxValue = 1.0;//rad 57.29578 angle0 = 0.0;//rad 0.0; angle1 = 6.2831855;//rad 360.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class vrotor { type="rotation"; source="rotorv"; selection="tail rotor"; axis="mala osa";//*probably* // sourceAddress = loop;// (default) minValue = 0.0;//rad 0.0 maxValue = 1.0;//rad 57.29578 angle0 = 0.0;//rad 0.0; angle1 = 6.2831855;//rad 360.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class HBRotor { type="rotation"; source="rotorh"; selection="main rotor blur"; axis="velka osa"; sourceAddress="loop"; minValue = 0.0;//rad 0.0 maxValue = 1.0;//rad 57.29578 angle0 = 0.0;//rad 0.0; angle1 = 6.2831855;//rad 360.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class VBRotor { type="rotation"; source="rotorv"; selection="tail rotor blur"; axis="mala osa"; sourceAddress="loop"; minValue = 0.0;//rad 0.0 maxValue = 1.0;//rad 57.29578 angle0 = 0.0;//rad 0.0; angle1 = 6.2831855;//rad 360.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class gear1 { type="rotation"; source="altsurface"; selection="gear1"; axis="gear1_axis";//*probably* // sourceAddress = clamp;// (default) minValue = 0.0;//rad 0.0 maxValue = 0.1;//rad 5.729578 angle0 = 0.0;//rad 0.0; angle1 = 0.1;//rad 5.729578; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class gear2 { type="rotation"; source="altsurface"; selection="gear2"; axis="gear2_axis";//*probably* // sourceAddress = clamp;// (default) minValue = 0.0;//rad 0.0 maxValue = 0.1;//rad 5.729578 angle0 = 0.0;//rad 0.0; angle1 = -0.1;//rad -5.729578; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class muzzleflashrot { type="rotationZ"; source="gatling_flash"; selection="muzzleflash"; axis="muzzleflash_axis";//*probably* sourceAddress = loop; minValue = 0.0;//rad 0.0 maxValue = 4.0;//rad 229.18312 angle0 = 0.0;//rad 0.0; angle1 = 6.2831855;//rad 360.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class stick_pilot_dive_01 { type="rotationX"; source="cyclicforward"; selection="stick_pilot"; axis="stick_pilot_joint";//*probably* // sourceAddress = clamp;// (default) minValue = -0.499999;//rad -28.647831 maxValue = 0.499999;//rad 28.647831 angle0 = 0.04654211;//rad 2.6666665; angle1 = -0.04654211;//rad -2.6666665; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class stick_pilot_dive_02 { type="rotationX"; source="cyclicforward"; selection="stick_pilot"; axis="stick_pilot_joint";//*probably* // sourceAddress = clamp;// (default) minValue = -0.849999;//rad -48.701355 maxValue = -0.5;//rad -28.64789 angle0 = 0.04654211;//rad 2.6666665; angle1 = 0.0;//rad 0.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class stick_pilot_dive_03 { type="rotationX"; source="cyclicforward"; selection="stick_pilot"; axis="stick_pilot_joint";//*probably* // sourceAddress = clamp;// (default) minValue = -1.0;//rad -57.29578 maxValue = -0.85;//rad -48.701412 angle0 = 0.04654211;//rad 2.6666665; angle1 = 0.0;//rad 0.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class stick_pilot_dive_04 { type="rotationX"; source="cyclicforward"; selection="stick_pilot"; axis="stick_pilot_joint";//*probably* // sourceAddress = clamp;// (default) minValue = 0.5;//rad 28.64789 maxValue = 0.849999;//rad 48.701355 angle0 = 0.0;//rad 0.0; angle1 = -0.04654211;//rad -2.6666665; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class stick_pilot_dive_05 { type="rotationX"; source="cyclicforward"; selection="stick_pilot"; axis="stick_pilot_joint";//*probably* // sourceAddress = clamp;// (default) minValue = 0.85;//rad 48.701412 maxValue = 1.0;//rad 57.29578 angle0 = 0.0;//rad 0.0; angle1 = -0.04654211;//rad -2.6666665; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class stick_pilot_bank_01 { type="rotationZ"; source="cyclicaside"; selection="stick_pilot"; axis="stick_pilot_joint";//*probably* // sourceAddress = clamp;// (default) minValue = -0.499999;//rad -28.647831 maxValue = 0.499999;//rad 28.647831 angle0 = 0.04654211;//rad 2.6666665; angle1 = -0.04654211;//rad -2.6666665; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class stick_pilot_bank_02 { type="rotationZ"; source="cyclicaside"; selection="stick_pilot"; axis="stick_pilot_joint";//*probably* // sourceAddress = clamp;// (default) minValue = -0.849999;//rad -48.701355 maxValue = -0.5;//rad -28.64789 angle0 = 0.04654211;//rad 2.6666665; angle1 = 0.0;//rad 0.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class stick_pilot_bank_03 { type="rotationZ"; source="cyclicaside"; selection="stick_pilot"; axis="stick_pilot_joint";//*probably* // sourceAddress = clamp;// (default) minValue = -1.0;//rad -57.29578 maxValue = -0.85;//rad -48.701412 angle0 = 0.04654211;//rad 2.6666665; angle1 = 0.0;//rad 0.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class stick_pilot_bank_04 { type="rotationZ"; source="cyclicaside"; selection="stick_pilot"; axis="stick_pilot_joint";//*probably* // sourceAddress = clamp;// (default) minValue = 0.5;//rad 28.64789 maxValue = 0.849999;//rad 48.701355 angle0 = 0.0;//rad 0.0; angle1 = -0.04654211;//rad -2.6666665; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class stick_pilot_bank_05 { type="rotationZ"; source="cyclicaside"; selection="stick_pilot"; axis="stick_pilot_joint";//*probably* // sourceAddress = clamp;// (default) minValue = 0.85;//rad 48.701412 maxValue = 1.0;//rad 57.29578 angle0 = 0.0;//rad 0.0; angle1 = -0.04654211;//rad -2.6666665; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; };//</Animations> };//</Modelclass> };//</CfgModels> 1 Share this post Link to post Share on other sites
Ture Right 2 Posted November 19, 2023 24 minutes ago, Ture Right said: PROBLEM SOLVED: Those over complicated shadows were the culprits. Thanks man, really appreciated. Also, since we are here, i still have the last thing to figure out in this model: the rudder shows its animation in buldozer but not in game. I'm posting my model cfg below for reference. class cfgSkeletons { class SF7_FL282_skeleton { skeletonInherit = ""; isDiscrete = 0; SkeletonBones[]= { "main rotor","", "tail rotor","", "gear1" ,"", "gear2" ,"", "rudder","", "stick_pilot","", "muzzleflash","" }; }; }; class CfgModels { class Default { sections[] = {}; sectionsInherit=""; skeletonName = ""; }; class SF7_FL282A1:Default { skeletonName="SF7_FL282_skeleton"; sections[]= { "zybtek", "glass1", "camo1", "main rotor blur", "tail rotor blur", "muzzleflash", "main rotor static", "tail rotor static" }; class Animations { class Rudder { type="rotation"; source="drivingWheel";//drivingWheel or rudder? selection="rudder"; axis="rudder_axis"; sourceAddress = clamp;// (default) minValue=-1.000000; maxValue=1.000000; angle0=-0.375246; angle1=0.375246; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class rotor_destructx { type="rotationX"; source="damage"; selection="main rotor"; axis="velka osa";//*probably* // sourceAddress = clamp;// (default) minValue = 0.99;//rad 56.722824 maxValue = 1.0;//rad 57.29578 angle0 = 0.0;//rad 0.0; angle1 = -0.34906584;//rad -20.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class rotor_destructy { type="rotationY"; source="damage"; selection="main rotor"; axis="velka osa";//*probably* // sourceAddress = clamp;// (default) minValue = 0.99;//rad 56.722824 maxValue = 1.0;//rad 57.29578 angle0 = 0.0;//rad 0.0; angle1 = 0.6981317;//rad 40.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class mala_vrtule_destructy { type="rotationY"; source="damage"; selection="tail rotor"; axis="mala osa";//*probably* // sourceAddress = clamp;// (default) minValue = 0.99;//rad 56.722824 maxValue = 1.0;//rad 57.29578 angle0 = 0.0;//rad 0.0; angle1 = 0.17453292;//rad 10.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class mala_vrtule_destructz { type="rotationZ"; source="damage"; selection="tail rotor"; axis="mala osa";//*probably* // sourceAddress = clamp;// (default) minValue = 0.99;//rad 56.722824 maxValue = 1.0;//rad 57.29578 angle0 = 0.0;//rad 0.0; angle1 = 0.43633232;//rad 25.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class hrotor { type="rotation"; source="rotorh"; selection="main rotor"; axis="velka osa";//*probably* // sourceAddress = loop;// (default) minValue = 0.0;//rad 0.0 maxValue = 1.0;//rad 57.29578 angle0 = 0.0;//rad 0.0; angle1 = 6.2831855;//rad 360.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class vrotor { type="rotation"; source="rotorv"; selection="tail rotor"; axis="mala osa";//*probably* // sourceAddress = loop;// (default) minValue = 0.0;//rad 0.0 maxValue = 1.0;//rad 57.29578 angle0 = 0.0;//rad 0.0; angle1 = 6.2831855;//rad 360.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class HBRotor { type="rotation"; source="rotorh"; selection="main rotor blur"; axis="velka osa"; sourceAddress="loop"; minValue = 0.0;//rad 0.0 maxValue = 1.0;//rad 57.29578 angle0 = 0.0;//rad 0.0; angle1 = 6.2831855;//rad 360.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class VBRotor { type="rotation"; source="rotorv"; selection="tail rotor blur"; axis="mala osa"; sourceAddress="loop"; minValue = 0.0;//rad 0.0 maxValue = 1.0;//rad 57.29578 angle0 = 0.0;//rad 0.0; angle1 = 6.2831855;//rad 360.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class gear1 { type="rotation"; source="altsurface"; selection="gear1"; axis="gear1_axis";//*probably* // sourceAddress = clamp;// (default) minValue = 0.0;//rad 0.0 maxValue = 0.1;//rad 5.729578 angle0 = 0.0;//rad 0.0; angle1 = 0.1;//rad 5.729578; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class gear2 { type="rotation"; source="altsurface"; selection="gear2"; axis="gear2_axis";//*probably* // sourceAddress = clamp;// (default) minValue = 0.0;//rad 0.0 maxValue = 0.1;//rad 5.729578 angle0 = 0.0;//rad 0.0; angle1 = -0.1;//rad -5.729578; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class muzzleflashrot { type="rotationZ"; source="gatling_flash"; selection="muzzleflash"; axis="muzzleflash_axis";//*probably* sourceAddress = loop; minValue = 0.0;//rad 0.0 maxValue = 4.0;//rad 229.18312 angle0 = 0.0;//rad 0.0; angle1 = 6.2831855;//rad 360.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class stick_pilot_dive_01 { type="rotationX"; source="cyclicforward"; selection="stick_pilot"; axis="stick_pilot_joint";//*probably* // sourceAddress = clamp;// (default) minValue = -0.499999;//rad -28.647831 maxValue = 0.499999;//rad 28.647831 angle0 = 0.04654211;//rad 2.6666665; angle1 = -0.04654211;//rad -2.6666665; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class stick_pilot_dive_02 { type="rotationX"; source="cyclicforward"; selection="stick_pilot"; axis="stick_pilot_joint";//*probably* // sourceAddress = clamp;// (default) minValue = -0.849999;//rad -48.701355 maxValue = -0.5;//rad -28.64789 angle0 = 0.04654211;//rad 2.6666665; angle1 = 0.0;//rad 0.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class stick_pilot_dive_03 { type="rotationX"; source="cyclicforward"; selection="stick_pilot"; axis="stick_pilot_joint";//*probably* // sourceAddress = clamp;// (default) minValue = -1.0;//rad -57.29578 maxValue = -0.85;//rad -48.701412 angle0 = 0.04654211;//rad 2.6666665; angle1 = 0.0;//rad 0.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class stick_pilot_dive_04 { type="rotationX"; source="cyclicforward"; selection="stick_pilot"; axis="stick_pilot_joint";//*probably* // sourceAddress = clamp;// (default) minValue = 0.5;//rad 28.64789 maxValue = 0.849999;//rad 48.701355 angle0 = 0.0;//rad 0.0; angle1 = -0.04654211;//rad -2.6666665; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class stick_pilot_dive_05 { type="rotationX"; source="cyclicforward"; selection="stick_pilot"; axis="stick_pilot_joint";//*probably* // sourceAddress = clamp;// (default) minValue = 0.85;//rad 48.701412 maxValue = 1.0;//rad 57.29578 angle0 = 0.0;//rad 0.0; angle1 = -0.04654211;//rad -2.6666665; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class stick_pilot_bank_01 { type="rotationZ"; source="cyclicaside"; selection="stick_pilot"; axis="stick_pilot_joint";//*probably* // sourceAddress = clamp;// (default) minValue = -0.499999;//rad -28.647831 maxValue = 0.499999;//rad 28.647831 angle0 = 0.04654211;//rad 2.6666665; angle1 = -0.04654211;//rad -2.6666665; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class stick_pilot_bank_02 { type="rotationZ"; source="cyclicaside"; selection="stick_pilot"; axis="stick_pilot_joint";//*probably* // sourceAddress = clamp;// (default) minValue = -0.849999;//rad -48.701355 maxValue = -0.5;//rad -28.64789 angle0 = 0.04654211;//rad 2.6666665; angle1 = 0.0;//rad 0.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class stick_pilot_bank_03 { type="rotationZ"; source="cyclicaside"; selection="stick_pilot"; axis="stick_pilot_joint";//*probably* // sourceAddress = clamp;// (default) minValue = -1.0;//rad -57.29578 maxValue = -0.85;//rad -48.701412 angle0 = 0.04654211;//rad 2.6666665; angle1 = 0.0;//rad 0.0; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class stick_pilot_bank_04 { type="rotationZ"; source="cyclicaside"; selection="stick_pilot"; axis="stick_pilot_joint";//*probably* // sourceAddress = clamp;// (default) minValue = 0.5;//rad 28.64789 maxValue = 0.849999;//rad 48.701355 angle0 = 0.0;//rad 0.0; angle1 = -0.04654211;//rad -2.6666665; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; class stick_pilot_bank_05 { type="rotationZ"; source="cyclicaside"; selection="stick_pilot"; axis="stick_pilot_joint";//*probably* // sourceAddress = clamp;// (default) minValue = 0.85;//rad 48.701412 maxValue = 1.0;//rad 57.29578 angle0 = 0.0;//rad 0.0; angle1 = -0.04654211;//rad -2.6666665; animPeriod = 0.0; initPhase = 0.0; // memory = true;//(default assumed) }; };//</Animations> };//</Modelclass> };//</CfgModels> RUDDER SOLVED: Thanks to joker006 for helping me with the rudder and the shadow issue too, great shoutout to him. Just changed the rudder source to "cyclicAside". 1 Share this post Link to post Share on other sites