Я хочу получить позицию щелчка мыши из центра игрового объекта, скажем, сферу шкалы (1, 1, 1). Если я щелкнул по центру сферы, он должен вернуть х-компонент как ноль, щелкнув на крайнем левом краю сферы, он должен вернуться -0.5 в качестве x-составляющей вектора 3 и 0.5 при нажатии на крайний правый край сферы , Ниже код помогает мне достичь этого, когда в начале. Однако для этого есть одно ограничение. Сфера должна располагаться в (0, что угодно, что угодно) (поскольку меня интересует ось x). Любая помощь в том, как я могу достичь этого, независимо от позиции Sphere?Единство - Получите локальную позицию мыши из центра Gameobject, нажав на
bool isGameOver = false;
float pointX;
// Update is called once per frame
void Update() {
if(!isGameOver){
RaycastHit hit;
if(Input.GetMouseButtonDown(0)){
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if(Physics.Raycast(ray, out hit)){
if(hit.transform.tag =="Ball"){
pointX = transform.InverseTransformPoint(hit.point).x;
}
}
}
}
}
Мой код не подходит для разного положения сферы. Он работает только тогда, когда сфера находится в начале координат или если значение оси x равно 0. Однако она дает неправильные значения, когда положение оси x сферы отличное от 0. – gameOne