calibration fix
This commit is contained in:
parent
6f1d1acbfb
commit
09747638d8
1 changed files with 12 additions and 3 deletions
|
@ -17,7 +17,8 @@ public class Input
|
|||
public Vector3 twistCursor;
|
||||
|
||||
Vector3 mainCalibDir;
|
||||
float calibDist;
|
||||
Quaternion mainCalibRot;
|
||||
float calibDist, calibZ;
|
||||
public void Frame()
|
||||
{
|
||||
oculusInject.Frame(this);
|
||||
|
@ -28,8 +29,13 @@ public class Input
|
|||
rig.position = -head.localPosition; // that zeros us out for an offset
|
||||
rig.position += head.localRotation * Vector3.back * 0.666f;
|
||||
|
||||
mainCalibDir = Vector3.zero - WorldPos(mainCon).normalized; // Vector3.zero == center?
|
||||
mainCalibDir = Vector3.zero - WorldPos(mainCon).normalized;
|
||||
mainCalibRot = mainCon.physical.Rot();
|
||||
calibDist = Vector3.Distance(Vector3.zero, WorldPos(mainCon));
|
||||
calibZ = Vector3.Angle(
|
||||
offCon.physical.Rot() * Vector3.up,
|
||||
WorldPos(mainCon) - WorldPos(offCon)
|
||||
) / 90f;
|
||||
}
|
||||
|
||||
float zValue = Vector3.Angle(
|
||||
|
@ -37,7 +43,10 @@ public class Input
|
|||
WorldPos(mainCon) - WorldPos(offCon)
|
||||
) / 90f; // 0in - 1neutral - 2out
|
||||
|
||||
twistCursor = WorldPos(mainCon) + mainCon.physical.Rot() * mainCalibDir * calibDist * zValue;
|
||||
zValue = 1 + zValue - calibZ;
|
||||
|
||||
Quaternion rot = mainCon.physical.Rot() * Quaternion.Inverse(mainCalibRot);
|
||||
twistCursor = WorldPos(mainCon) + rot * mainCalibDir * calibDist * zValue;
|
||||
}
|
||||
|
||||
public Vector3 WorldPos(Con con)
|
||||
|
|
Loading…
Add table
Reference in a new issue