1
This commit is contained in:
@@ -9,6 +9,13 @@ namespace MagicaCloth2
|
||||
{
|
||||
public Vector3 eulers = new Vector3(0, 90, 0);
|
||||
public Space space = Space.World;
|
||||
public enum UpdateMode
|
||||
{
|
||||
Update,
|
||||
FixedUpdate,
|
||||
}
|
||||
[SerializeField]
|
||||
private UpdateMode updateMode = UpdateMode.Update;
|
||||
|
||||
[SerializeField]
|
||||
[Range(0.1f, 5.0f)]
|
||||
@@ -19,11 +26,23 @@ namespace MagicaCloth2
|
||||
|
||||
private float time = 0;
|
||||
|
||||
private void FixedUpdate()
|
||||
{
|
||||
if (updateMode == UpdateMode.FixedUpdate)
|
||||
UpdatePosition(Time.fixedDeltaTime);
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
if (updateMode == UpdateMode.Update)
|
||||
UpdatePosition(Time.deltaTime);
|
||||
}
|
||||
|
||||
void UpdatePosition(float dtime)
|
||||
{
|
||||
if (useSin)
|
||||
{
|
||||
time += Time.deltaTime;
|
||||
time += dtime;
|
||||
float ang = (time % interval) / interval * Mathf.PI * 2.0f;
|
||||
var t = Mathf.Sin(ang);
|
||||
if (space == Space.World)
|
||||
@@ -33,7 +52,7 @@ namespace MagicaCloth2
|
||||
}
|
||||
else
|
||||
{
|
||||
transform.Rotate(eulers * Time.deltaTime, space);
|
||||
transform.Rotate(eulers * dtime, space);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -124,10 +124,7 @@ namespace MagicaCloth2
|
||||
return;
|
||||
|
||||
// カメラターゲットポジション
|
||||
if (cameraTarget)
|
||||
{
|
||||
cameraTargetPos = cameraTarget.position;
|
||||
}
|
||||
cameraTargetPos = cameraTarget ? cameraTarget.position : transform.position;
|
||||
|
||||
// 補間
|
||||
cameraDist = Mathf.SmoothDamp(cameraDist, setCameraDist, ref cameraDistVelocity, cameraDistHokanTime);
|
||||
@@ -147,13 +144,13 @@ namespace MagicaCloth2
|
||||
Vector3 pos = q * v;
|
||||
|
||||
// ターゲットポジション
|
||||
Vector3 tarpos = cameraTargetPos + cameraTargetOffset;
|
||||
Vector3 tarpos = cameraTargetPos + transform.TransformVector(cameraTargetOffset);
|
||||
Vector3 fixpos = tarpos + pos;
|
||||
cameraTransform.localPosition = fixpos;
|
||||
cameraTransform.position = fixpos;
|
||||
|
||||
// 回転確定
|
||||
Vector3 relativePos = tarpos - cameraTransform.position;
|
||||
Quaternion rot = Quaternion.LookRotation(relativePos);
|
||||
Quaternion rot = Quaternion.LookRotation(relativePos, transform.up);
|
||||
cameraTransform.rotation = rot;
|
||||
}
|
||||
|
||||
@@ -182,8 +179,8 @@ namespace MagicaCloth2
|
||||
}
|
||||
else if (moveMode == MoveMode.Free)
|
||||
{
|
||||
Vector3 offset = cameraTransform.up * -speed.y * moveSpeed;
|
||||
offset += cameraTransform.right * -speed.x * moveSpeed;
|
||||
Vector3 offset = transform.InverseTransformDirection(cameraTransform.up) * -speed.y * moveSpeed;
|
||||
offset += transform.InverseTransformDirection(cameraTransform.right) * -speed.x * moveSpeed;
|
||||
|
||||
cameraTargetOffset += offset;
|
||||
}
|
||||
@@ -207,7 +204,7 @@ namespace MagicaCloth2
|
||||
/// <param name="screenVelocity"></param>
|
||||
private void OnTouchMove(int fid, Vector2 screenPos, Vector2 screenVelocity, Vector2 cmVelocity)
|
||||
{
|
||||
screenVelocity *= Time.deltaTime * 60.0f;
|
||||
screenVelocity *= SpeedAdjustment();
|
||||
|
||||
if (fid == 2)
|
||||
{
|
||||
@@ -225,6 +222,8 @@ namespace MagicaCloth2
|
||||
|
||||
private void OnDoubleTouchMove(int fid, Vector2 screenPos, Vector2 screenVelocity, Vector2 cmVelocity)
|
||||
{
|
||||
screenVelocity *= SpeedAdjustment();
|
||||
|
||||
if (SimpleInputManager.Instance.GetTouchCount() >= 3)
|
||||
updateOffset(screenVelocity);
|
||||
}
|
||||
@@ -236,9 +235,15 @@ namespace MagicaCloth2
|
||||
/// <param name="speedcm"></param>
|
||||
private void OnTouchPinch(float speedscr, float speedcm)
|
||||
{
|
||||
//if (Mathf.Abs(speedcm) > 1.0f)
|
||||
speedcm *= SpeedAdjustment();
|
||||
|
||||
if (SimpleInputManager.Instance.GetTouchCount() < 3)
|
||||
updateZoom(speedcm);
|
||||
}
|
||||
|
||||
private float SpeedAdjustment()
|
||||
{
|
||||
return Time.deltaTime * 60.0f;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user