quel grounderesponse credo sia l'ultimo rilasciato, riscarico e ti faccio sapere
scaricato, la versione è la 1.0.4.0 il mio la 1.3
hanno aggiunto il discorso compatibilità con la MR e più possibilità d'intervento sui vari aspetti relativi al sink. da quanto ho capito guardando velocemente ora si può intervenire anche su coltivatore seminatrice ecc. comunque al di la del dato di default per l'effetto delle ruote nel solco rimane sempre la stessa riga di comando:
-- map noise to an asbolute value or to a certain percentage of the wheel radius?
local maxSink = 0.20; (dato generico di massimo affondamento di tutto il veicolo)
-- scale sink by terrain type
if terrainValue == 1 then -- cultivator (terreno coltivato)
maxSink = 0.20;
elseif terrainValue == 2 then -- plough (terreno arato)
maxSink = 0.25;
elseif terrainValue == 3 then -- sowing (terreno seminato)
maxSink = 0.08;
elseif terrainValue == 4 then -- sowingWidth (terreno in semina)
maxSink = 0.15;
elseif terrainValue == 5 then -- grass (prato)
maxSink = 0.10;
end
-- ploughing effect
if terrainValue == 2 and wheel.oppositeWheelIndex ~= nil then
local oppositeWheel = self.wheels[wheel.oppositeWheelIndex];
if oppositeWheel.lastTerrainValue ~= nil and oppositeWheel.lastTerrainValue ~= 2 then
maxSink = maxSink * 1.3; (dato di affondamento delle ruote nel solco aratura)
end
end
--debugString = debugString .. "\n maxSink="..tostring(maxSink).." ("..tostring(0.3*wheel.radius)..")";
local sinkTarget = math.min(0.2*wheel.radiusOriginal, maxSink * noiseValue);
if wheel.sinkTarget < sinkTarget then
wheel.sinkTarget = math.min(sinkTarget, wheel.sinkTarget + (0.05 * math.min(30, math.max(0, self:getLastSpeed()-0.2)) * (dt/1000)));
elseif wheel.sinkTarget > sinkTarget then
wheel.sinkTarget = math.max(sinkTarget, wheel.sinkTarget - (0.05 * math.min(30, math.max(0, self:getLastSpeed()-0.2)) * (dt/1000)));
end
if math.abs(wheel.sink - wheel.sinkTarget) > 0.005 then
wheel.sink = wheel.sinkTarget;
wheel.radius = wheel.radiusOriginal - wheel.sink;
if self.isServer then
self:updateWheelBase(wheel);
end
end
--debugString = debugString .. "\n wheel.sink="..tostring(wheel.sink);
local sinkFactor = (wheel.sink/maxSink) * (1 + (0.4 * g_currentMission.environment.groundWetness));
local newSinkFrictionScaleFactor = (1.0 - (0.20 * sinkFactor));
-- Only update if more than 5% change
if math.abs(newSinkFrictionScaleFactor - wheel.sinkFrictionScaleFactor) > 0.05 then
wheel.sinkFrictionScaleFactor = newSinkFrictionScaleFactor;
wheel.sinkLongStiffnessFactor = (1.0 - (0.40 * sinkFactor));
wheel.sinkLatStiffnessFactor = (1.0 - (0.25 * sinkFactor));
if self.isServer then
self:updateWheelTireFriction(wheel);
end
end