This commit is contained in:
CortexCore
2024-03-29 00:58:24 +08:00
parent 967ad8eacf
commit 05315ef4a8
232 changed files with 53368 additions and 8539 deletions

View File

@@ -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);
}
}
}

View File

@@ -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;
}
}
}