我有一个名为 Pointer 的球体,它可以使用 transform.Translate() 到处移动,但我希望这个球体只能在一个名为 LimitSphere 的半球内移动,我不知道该怎么做。
我已经尝试过使用 Mathf.Clamp 但正如你在这张图片上看到的那样

但是当我设置一个内接正方形时,我失去了太多空间(黄色)
,当我设置一个外接正方形时,圆圈外有太多空间(紫色/粉红色)
那么有什么解决方案可以限制球内的运动吗?
编辑:这是我的实际代码:
using UnityEngine;
using System.Collections;
public class TranslationClavier : MonoBehaviour {
public float vitesse_translation = 1.0f;
void Update () {
if (Input.GetKey(KeyCode.DownArrow))
{
transform.Translate(Vector3.up * vitesse_translation * Time.deltaTime);
}
if (Input.GetKey(KeyCode.UpArrow))
{
transform.Translate(Vector3.down * vitesse_translation * Time.deltaTime);
}
if (Input.GetKey(KeyCode.RightArrow))
{
transform.Translate(Vector3.right * vitesse_translation * Time.deltaTime);
}
if (Input.GetKey(KeyCode.LeftArrow))
{
transform.Translate(Vector3.left * vitesse_translation * Time.deltaTime);
}
if (Input.GetKey(KeyCode.I))
{
transform.Translate(Vector3.forward * vitesse_translation * Time.deltaTime);
}
if (Input.GetKey(KeyCode.K))
{
transform.Translate(-Vector3.forward * vitesse_translation * Time.deltaTime);
}
}
}
下面你可以看到我的小球体,我想把她夹在大球体对撞机里
