MAINT-8479 Acount for possibility of agent's position above ground being below agent's pelvis
parent
83de982be9
commit
c1a44d462e
|
|
@ -1580,6 +1580,8 @@ void LLAgent::setAutoPilotTargetGlobal(const LLVector3d &target_global)
|
|||
LLViewerObject *obj;
|
||||
|
||||
LLWorld::getInstance()->resolveStepHeightGlobal(NULL, target_global, traceEndPt, targetOnGround, groundNorm, &obj);
|
||||
// Note: this might malfunction for sitting agent, since pelvis stays same, but agent's position becomes lower
|
||||
// But for autopilot to work we assume that agent is standing and ready to go.
|
||||
F64 target_height = llmax((F64)gAgentAvatarp->getPelvisToFoot(), target_global.mdV[VZ] - targetOnGround.mdV[VZ]);
|
||||
|
||||
// clamp z value of target to minimum height above ground
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@ LLObjectSelectionHandle LLToolSelect::handleObjectSelection(const LLPickInfo& pi
|
|||
{
|
||||
LLQuaternion target_rot;
|
||||
target_rot.shortestArc(LLVector3::x_axis, selection_dir);
|
||||
gAgent.startAutoPilotGlobal(gAgent.getPositionGlobal(), "", &target_rot, NULL, NULL, 1.f, SELECTION_ROTATION_TRESHOLD);
|
||||
gAgent.startAutoPilotGlobal(gAgent.getPositionGlobal(), "", &target_rot, NULL, NULL, llmax(1.f, gAgentAvatarp->getPelvisToFoot()), SELECTION_ROTATION_TRESHOLD);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue