OnlyActiveWhenLowered funktioniert nicht

Eure Foren für alle Diskussionen rund ums Thema Modding.
AndiModding
Posts: 78
Joined: Sun Mar 20, 2022 9:37 am

OnlyActiveWhenLowered funktioniert nicht

Post by AndiModding »

Ich habe folgendes Problem. Ich möchte meine workAreas nur aktiv haben wenn mein Gerät gesenkt ist. Dafür habe ich folgenden Befehl gefunden:
<onlyActiveWhenLowered value="true"/>
nur leider funktioniert der bei mir so wie ich ihn verbaut habe nicht. Mein Mähwerk mäht dann gar nicht mehr.
Hier die xml
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<vehicle type="handToolMower" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../shared/xml/schema/vehicle.xsd">
<annotation>Copyright (C) GIANTS Software GmbH, All Rights Reserved.</annotation>
<storeData>
<name>
<en>Scythe</en>
<de>Sense</de>
</name>

<specs>
<power>10</power>
<maxSpeed>5</maxSpeed>
<workingWidth>0.50</workingWidth>
</specs>
<functions>
<function>$l10n_function_mower</function>
</functions>
<image>store_Sense.dds</image>
<price>40</price>
<lifetime>600</lifetime>
<rotation>0</rotation>
<shopTranslationOffset>0 0.52 0</shopTranslationOffset>
<brand>LIZARD</brand>
<category>mowerVehicles</category>
</storeData>
<base>
<typeDesc>$l10n_typeDesc_mower</typeDesc>
<filename>Sense.i3d</filename>
<size width="1" length="2" lengthOffset="0"/>
<components>
<component centerOfMass="0 -0.2 0.05" solverIterationCount="10" mass="5"/>
</components>
<schemaOverlay attacherJointPosition="0 0" name="VEHICLE"/>
<mapHotspot type="TOOL"/>
<supportsRadio>false</supportsRadio>
<supportsPickUp>true</supportsPickUp>
</base>
<wheels>
<wheelConfigurations>
<wheelConfiguration>
<wheels autoRotateBackSpeed="10.0" speedDependentRotateBack="false">
<wheel hasParticles="false" hasTireTracks="false">
<physics tipOcclusionAreaGroupId="1" rotSpeed="1" restLoad="0.6" mass="0.01" repr="wheelFront" showSteeringAngle="false" radius="0.23" width="0.05" forcePointRatio="0.5" initialCompression="25" suspTravel="0.09" spring="2" damper="3" frictionScale="2.5"/>
<tire tireTrackAtlasIndex="4"/>
</wheel>
<wheel hasParticles="false" hasTireTracks="false">
<physics tipOcclusionAreaGroupId="1" rotSpeed="1" restLoad="0.6" mass="0.01" repr="Wheelfronts" showSteeringAngle="false" radius="0.23" width="0.05" forcePointRatio="0.5" initialCompression="25" suspTravel="0.09" spring="2" damper="3" frictionScale="2.5"/>
<tire tireTrackAtlasIndex="4"/>
</wheel>
<wheel hasParticles="false" hasTireTracks="false">
<physics tipOcclusionAreaGroupId="1" rotSpeed="1" restLoad="0.6" mass="0.01" repr="wheelBackLeft" showSteeringAngle="false" radius="0.23" width="0.05" forcePointRatio="0.5" initialCompression="25" suspTravel="0.09" spring="2" damper="3" frictionScale="2.5"/>
<tire tireTrackAtlasIndex="4"/>
</wheel>
<wheel hasParticles="false" hasTireTracks="false">
<physics tipOcclusionAreaGroupId="1" rotSpeed="1" restLoad="0.6" mass="0.01" repr="wheelBackRight" showSteeringAngle="false" radius="0.23" width="0.05" forcePointRatio="0.5" initialCompression="25" suspTravel="0.09" spring="2" damper="3" frictionScale="2.5"/>
<tire tireTrackAtlasIndex="4"/>
</wheel>
</wheels>
</wheelConfiguration>
</wheelConfigurations>
<ackermannSteeringConfigurations>
<ackermannSteering rotSpeed="70" rotMax="60" rotCenter="0 0"/>
</ackermannSteeringConfigurations>
</wheels>
<enterable isTabbable="true">
<enterReferenceNode node="2"/>
<exitPoint node="exitPoint"/>
<cameras>
<camera node="outdoorCamera1" rotatable="true" rotateNode="outdoorCameraTarget" limit="true" useWorldXZRotation="true" rotMinX="-1.4" rotMaxX="1" transMin="3" transMax="40" translation="0 0 3.5" rotation="-20 180 0">
<raycastNode node="cameraRaycastNode1"/>
<raycastNode node="cameraRaycastNode2"/>
<raycastNode node="cameraRaycastNode3"/>
</camera>
<camera node="indoorCamera1" rotatable="true" limit="true" rotMinX="-1.1" rotMaxX="0.4" transMin="0" transMax="0" useMirror="true" isInside="false"/>
</cameras>
<characterNode node="skeleton" cameraMinDistance="1.5" spineRotation="-90 30 90" useAnimation="true"/>
<enterAnimation name="enterAnimation"/>
</enterable>
<pushHandTool>
<raycast node1="raycast01" node2="raycast02" playerNode="playerNode"/>
<wheels front="1 2" back="3 4"/>
<ikChains>
<target ikChain="rightArm" targetNode="rightHand" poseId="wideFingers"/>
<target ikChain="leftArm" targetNode="leftHand" poseId="wideFingers"/>
</ikChains>
<customChainLimits>
<customChainLimit chainId="leftArm" nodeIndex="1" minRx="-40" maxRx="40" minRy="-130" maxRy="40" minRz="-70" maxRz="-30" localLimits="true"/>
<customChainLimit chainId="leftArm" nodeIndex="2" minRx="-25" maxRx="25" minRy="-144" maxRy="3" minRz="0" maxRz="0" localLimits="true"/>
<customChainLimit chainId="rightArm" nodeIndex="1" minRx="-40" maxRx="40" minRy="-130" maxRy="40" minRz="-70" maxRz="-30" localLimits="true"/>
<customChainLimit chainId="rightArm" nodeIndex="2" minRx="-25" maxRx="25" minRy="-144" maxRy="3" minRz="0" maxRz="0" localLimits="true"/>
</customChainLimits>
<playerConditionalAnimation>
<item id="idle" entryTransitionDuration="0.25" exitTransitionDuration="0.25">
<clips>
<clip clipName="idleSource"/>
</clips>
<conditions>
<conditionGroup>
<condition parameter="absSmoothedForwardVelocity" lower="0.2"/>
</conditionGroup>
</conditions>
</item>
<item id="walk" entryTransitionDuration="0.25" exitTransitionDuration="0.25">
<clips speedScaleType="distance" speedScaleParameter="2">
<clip clipName="walkFwdLoopSource"/>
</clips>
<conditions>
<conditionGroup>
<condition parameter="smoothedForwardVelocity" between="0.2, 4"/>
</conditionGroup>
</conditions>
</item>
<item id="walkBack" entryTransitionDuration="0.5" exitTransitionDuration="0.25">
<clips speedScaleType="distance" speedScaleParameter="2">
<clip clipName="walkBwdLoopSource"/>
</clips>
<conditions>
<conditionGroup>
<condition parameter="smoothedForwardVelocity" between="-3, -0.2"/>
</conditionGroup>
</conditions>
</item>
</playerConditionalAnimation>
</pushHandTool>


<motorized>

<motorConfigurations>
<motorConfiguration hp="10" price="0">
<motor torqueScale="0.258" minRpm="850" maxRpm="2200" maxForwardSpeed="5" maxBackwardSpeed="4" brakeForce="0.1" lowBrakeForceScale="0.1">
<torque normRpm="0.45" torque="0.9"/>
<torque normRpm="0.5" torque="0.97"/>
<torque normRpm="0.59" torque="1"/>
<torque normRpm="0.72" torque="1"/>
<torque normRpm="0.86" torque="0.88"/>
<torque normRpm="1" torque="0.72"/>
</motor>
<transmission minForwardGearRatio="45.3" maxForwardGearRatio="250" minBackwardGearRatio="55" maxBackwardGearRatio="250"/>
</motorConfiguration>
</motorConfigurations>
<motorStartDuration>2500</motorStartDuration>


<!--<dashboards>
<dashboard displayType="MULTI_STATE" valueType="ignitionState" node="0>1|0" doInterpolation="true" groups="MOTOR_ACTIVE">
<state value="0" rotation="0 0 0"/>
<state value="1" rotation="0 30 0"/>
<state value="2" rotation="0 0 0"/>
<state value="3" rotation="0 30 0"/>
</dashboard>
</dashboards>-->

<sounds>

</sounds>
<differentialConfigurations>
<differentialConfiguration>
<differentials>
<differential torqueRatio="0.5" maxSpeedRatio="3.6" wheelIndex1="2" wheelIndex2="3"/>
</differentials>
</differentialConfiguration>
</differentialConfigurations>
</motorized>
<drivable>
<idleTurning allowed="true" direction="1" maxSpeed="10" steeringFactor="100"/>
<sounds>
<waterSplash template="WATER_SPLASH_01" linkNode="0>"/>
</sounds>
</drivable>

<dashboard>
<groups>
<group name="MOTOR_ACTIVE" isMotorStarting="true" isMotorRunning="true"/>
</groups>
</dashboard>

<foldable>
<foldingConfigurations>
<foldingConfiguration>
<foldingParts startMoveDirection="0" posDirectionText="$l10n_action_lowerOBJECT" negDirectionText="$l10n_action_liftOBJECT" foldInputButton="LOWER_IMPLEMENT">
<foldingPart animationName="liftAnimation" speedScale="0.5" />
</foldingParts>
</foldingConfiguration>
</foldingConfigurations>
</foldable>



<animations>
<animation name="enterAnimation">
<part node="1" startTime="0" endTime="0.8" startRot="-30 0 0" endRot="0 8 0" />
<part node="0>1" startTime="0" endTime="0.8" startTrans="0 -0.502 0" endTrans="0 0 0"/>
</animation>
<animation name="workAnimation" looping="true">

<part node="trimmer_rot" startTime="0" endTime="0.4" startRot="0 0 0" endRot="0 -30 0"/>
<part node="trimmer_rot" startTime="0" endTime="0.3" startTrans="0 0 0" endTrans="-0.193 0 -0.224"/> <!--ausholbewegung-->
<part node="trimmer_rot" startTime="0.4" endTime="0.5" startTrans="-0.193 0 -0.224" endTrans="-0.179 0 -0.169"/> <!--bewegung nach vorne-->
<part node="trimmer_rot" startTime="0.5" endTime="0.7" startRot="0 -30 0" endRot="0 -3.426 0"/> <!--schlagRot-->
<part node="trimmer_rot" startTime="0.5" endTime="0.7" startTrans="-0.179 0 -0.169" endTrans="-0.044 0 -0.082"/> <!--schlagTrans-->
<part node="trimmer_rot" startTime="0.7" endTime="0.8" startRot="0 -3.426 0" endRot="0 17.422 0"/> <!--schlagRotFertig-->
<part node="trimmer_rot" startTime="0.7" endTime="0.8" startTrans="-0.044 0 -0.082" endTrans="0.203 0 -0.034"/> <!--schlagTransFertig-->
<part node="trimmer_rot" startTime="0.8" endTime="1" startRot="0 17.422 0" endRot="0 0 0"/> <!--Startposition-->
<part node="trimmer_rot" startTime="0.8" endTime="1" startTrans="0.203 0 -0.034" endTrans="0 0 0"/> <!--Startposition-->

<part node="skeleton" startTime="0" endTime="0.4" startRot="0 0 0" endRot="0 -20 0"/>
<part node="skeleton" startTime="0.4" endTime="0.7" startRot="0 -20 0" endRot="0 15 0"/>
<part node="skeleton" startTime="0.7" endTime="1" startRot="0 15 0" endRot="0 0 0"/>


</animation>
<animation name="liftAnimation">
<part node="wood" startTime="0.5" endTime="0.7" startRot="0 0 0" endRot="-30 30 -20"/>
<part node="wood" startTime="0.5" endTime="0.7" startTrans="0 0 0" endTrans="0.4 0.28 0.2"/>

<part node="knife" startTime="0.5" endTime="0.7" startRot="0 0 0" endRot="-30 30 -20"/>
<part node="knife" startTime="0.5" endTime="0.7" startTrans="0 0 0" endTrans="0.4 0.28 0.2"/>


<!--<part node="trimmer_rot" startTime="0" endTime="0.2" startTrans="0 0 0" endTrans="0 0 -0.3"/>-->

<!--<part node="leftHand" startTime="0" endTime="0.8" startRot="62.56 -13.543 -90.091" endRot="-179.962 -33.458 -7.332"/>
<part node="leftHand" startTime="0" endTime="0.8" startTrans="0.396 0.94 -0.535" endTrans="0.371 1.446 -0.389"/>-->

<part node="leftHand" startTime="0.2" endTime="0.4" startRot="62.56 -13.543 -90.091" endRot="30 -13.543 -90.091"/>
<part node="leftHand" startTime="0.2" endTime="0.4" startTrans="0.396 0.94 -0.535" endTrans="0.149 0.731 -0.207"/>
<part node="leftHand" startTime="0.5" endTime="0.7" startTrans="0.149 0.731 -0.207" endTrans="0.438 0.816 -0.4"/>

<part node="rightHand" startTime="0.6" endTime="0.9" startRot="117.936 8.682 89.162" endRot="3.098 0.984 86.332"/><!--endRot="-121.937 -21.407 68.041"-->
<part node="rightHand" startTime="0.6" endTime="0.9" startTrans="0.088 0.924 -0.34" endTrans="-0.111 0.721 -0.684"/>
</animation>
</animations>
<foliageBending>
<bendingNode minX="-0.172" maxX="0.201" minZ="0.497" maxZ="0.895" yOffset="0.123"/>
</foliageBending>

<groundReferenceNodes>
<groundReferenceNode node="GroundReferenceNode" threshold="0.2" onlyActiveWhenLowered="false"/>
</groundReferenceNodes>

<workAreas>
<workArea type="mower" functionName="processMowerArea" disableBackwards="false">
<area startNode="workAreaStart" widthNode="workAreaWidth" heightNode="workAreaHeight"/>
<groundReferenceNode index="1"/>
<mower dropWindrow="true" dropAreaIndex="2"/>
<onlyActiveWhenLowered value="true"/>
</workArea>

<workArea type="auxiliary">
<area startNode="dropAreaStart" widthNode="dropAreaWidth" heightNode="dropAreaHeight"/>
</workArea>
</workAreas>

<honk>
<sound file="sounds/horn.ogg"/>
</honk>
<mower fruitTypeConverter="MOWER">
</mower>
<turnOnVehicle turnOffIfNotAllowed="true">
<sounds>
<work file="sounds/sense.ogg" innerRadius="25">
<pitch outdoor="1"/>
</work>
</sounds>
<turnedOnAnimation name="workAnimation" turnOnFadeTime="1" turnOffFadeTime="1" speedScale="0.40"/>
<!--<dashboards>
<dashboard displayType="ROT" valueType="accelerationAxis" node="0>1|1" minRot="0 0 0" maxRot="0 30 0" doInterpolation="true" groups="MOTOR_ACTIVE"/>
<dashboard displayType="ROT" valueType="accelerationAxis" node="0>1|0" minRot="0 0 0" maxRot="0 30 0" doInterpolation="true" groups="MOTOR_ACTIVE"/>
</dashboards>-->
</turnOnVehicle>


<washable dirtDuration="90" washDuration="10" workMultiplier="2"/>
<wearable wearDuration="240" workMultiplier="5" fieldMultiplier="2"/>
<ai supportsAIJobs="false"/>


<i3dMappings>
<i3dMapping id="wheelFront" node="0>0|0"/>
<i3dMapping id="wheelBackLeft" node="0>0|1"/>
<i3dMapping id="wheelBackRight" node="0>0|2"/>
<i3dMapping id="Wheelfronts" node="0>0|3"/>
<i3dMapping id="trimmer_rot" node="0>1"/>
<i3dMapping id="wheels" node="0>0"/>
<i3dMapping id="wood" node="0>1|0"/>
<i3dMapping id="knife" node="0>1|1"/>
<i3dMapping id="exitPoint" node="0>2"/>
<i3dMapping id="outdoorCameraTarget" node="0>3|0"/>
<i3dMapping id="outdoorCamera1" node="0>3|0|0"/>
<i3dMapping id="indoorCamera1" node="0>3|1|0"/>
<i3dMapping id="cameraRaycastNode1" node="0>3|2"/>
<i3dMapping id="cameraRaycastNode2" node="0>3|3"/>
<i3dMapping id="cameraRaycastNode3" node="0>3|4"/>
<i3dMapping id="GroundReferenceNode" node="0>4"/>
<i3dMapping id="workAreaStart" node="0>5|0"/>
<i3dMapping id="workAreaWidth" node="0>5|1"/>
<i3dMapping id="workAreaHeight" node="0>5|2"/>
<i3dMapping id="dropAreaStart" node="0>5|3"/>
<i3dMapping id="dropAreaWidth" node="0>5|4"/>
<i3dMapping id="dropAreaHeight" node="0>5|5"/>
<i3dMapping id="playerNode" node="0>7|0"/>
<i3dMapping id="skeleton" node="0>7|0|0"/>
<i3dMapping id="leftHand" node="0>1|3"/><!--0>7|3-->
<i3dMapping id="rightHand" node="0>1|4"/><!--0>7|4-->
<i3dMapping id="raycast01" node="0>7|1"/>
<i3dMapping id="raycast02" node="0>7|2"/>
</i3dMappings>
</vehicle>
Vielleicht kann mir jemand helfen. Die Log zeigt mir auch keine Fehler an.
Gruß Andi
monteur1
Posts: 1186
Joined: Mon Feb 05, 2018 10:44 pm

Re: OnlyActiveWhenLowered funktioniert nicht

Post by monteur1 »

Du hast das an der falschen Stelle eingebaut.

Du musst dass bei der groundrefnode auf true stellen.

Bei dir:
<groundReferenceNodes>
<groundReferenceNode node="GroundReferenceNode" threshold="0.2" onlyActiveWhenLowered="false"/>
</groundReferenceNodes>

Sollte so funktionieren:
<groundReferenceNodes>
<groundReferenceNode node="GroundReferenceNode" threshold="0.2" onlyActiveWhenLowered="true"/>
</groundReferenceNodes>

MFG
User avatar
LS-Lara
Posts: 400
Joined: Sun Aug 04, 2019 4:57 pm

Re: OnlyActiveWhenLowered funktioniert nicht

Post by LS-Lara »

Soweit ich das erkenne, wird das "Mähwerk" im spieltechnischen Sinn gar nicht wirklich "gesenkt". Durch das "Entfalten" wird es nur optisch nach unten verschoben - ist aber damit nicht "lowered".

Versuch mal:

Code: Select all

<foldingParts startMoveDirection="1" foldMiddleAnimTime="1.0" middleNegDirectionText="Sense senken" middlePosDirectionText="Sense heben">
Mit Deiner I3D aus dem ModHub und Hand-Nodes an den Griff verschoben sieht es schon mal ganz brauchbar aus. Bleibt "nur" noch das andere Problem mit dem Einschalten ...
Der Sinn des Lebens ist:
29.61%

Mein Traktor:
Base:
HP Pavilion 690-03xx
Core i7-8700 @ 3.2GHz
NVIDIA GeForce GTX 1060 6GB
2x Benq GL2450H
Windows 10 Home 64bit
Custom:
2 x 16GB Corsair Vengeance LPX DDR4 C16 XMP 2.0
Samsung NVMe M.2 970 EVO Plus 500GB
Samsung SSD 860 EVO 1TB
Logitech G203 Prodigy
Logitech Wireless F710
AndiModding
Posts: 78
Joined: Sun Mar 20, 2022 9:37 am

Re: OnlyActiveWhenLowered funktioniert nicht

Post by AndiModding »

Vielen Dank schon mal
Post Reply