⚠️ この記事はカスです。何も解決していません。ごめんなさい。
以下のようなコードを書いてゲームオブジェクトに追加する。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class RotateObject : MonoBehaviour
{
public float rotationSpeed = 100f; // 回転速度
private Vector3 lastMousePosition; // 前回のマウス位置
void Update()
{
if (Input.GetMouseButtonDown(0)) // マウス左クリック開始時
{
lastMousePosition = Input.mousePosition;
}
else if (Input.GetMouseButton(0)) // マウスをドラッグ中
{
Vector3 delta = Input.mousePosition - lastMousePosition; // マウス移動量
float deltaX = delta.x * rotationSpeed * Time.deltaTime; // X方向の回転量
float deltaY = delta.y * rotationSpeed * Time.deltaTime; // Y方向の回転量
// オブジェクトを回転
transform.Rotate(Vector3.up, -deltaX, Space.World); // 水平方向の回転
transform.Rotate(Vector3.right, deltaY, Space.World); // 垂直方向の回転
lastMousePosition = Input.mousePosition; // マウス位置を更新
}
}
}
上記の動画のように回転の中心位置がずれいて、使いづらい😭
原因と解決策
この靴のモデルはBlnderで自分で作ったものでした。
回転の原点がずれているのかをまず確認しました。
確認するにはUnityのシーンビューの上部の Pivot/Center 切り替えボタンをクリックして Pivot に切り替える。
どうやら大丈夫そうです。シーンビューでは心地よくオブジェクトを回転させることができました。
嘘です!!!
まだ欠陥があります!!!
後で直そうと思うので、とりあえず記事を公開しました。
ごめん!!!!
コメントを残す