Итак, прежде чем я объясню свою проблему. Сначала я расскажу, что я действительно делаю. Я работаю над щелчком мыши для перемещения/масштабирования сценария камеры. Перед моей главной камерой стоят 3 самолета. Теперь я делаю это, создавая сценарий, в котором говорится: «Камера будет увеличивать плоскость, на которую нажимают. Я сделал несколько попыток придумать рабочий скрипт, но это не сработало. Каждый раз, когда я сталкиваюсь с новыми ошибками , ошибки, а что нет.: | Я расстроился и удалил багги-скрипт. Теперь я хочу начать с нуля. Я делаю это в C#Unity C# камера зум-сценарий
Поскольку я не профессионал, может ли кто-нибудь объяснить мне подробно чтобы сделать это? Я смущен, как бороться с самолетами я поставил. Я хочу знать, что не хватает в моем сценарии. Вот скриншот того, как я поместил эти самолеты.
Редактировать. - Мне удалось поработать над этим. Теперь мне нужен совет, как настроить таргетинг на плоскости, которые я разместил перед камерой.
using UnityEngine;
using System.Collections;
public class CameraZoom : MonoBehaviour
{
public int zoomLevelSelected = 0;
public float[] ZoomLevels = new float[] { 60, 40, 20 };
void Update()
{
int zoomChange = 0;
if (Input.GetMouseButtonDown(0)) { zoomChange = +1; } // back
else if (Input.GetMouseButtonDown(1)) { zoomChange = -1; } // forward
if (zoomChange != 0)
{
zoomLevelSelected = Mathf.Clamp(zoomLevelSelected + zoomChange, 0, ZoomLevels.Length - 1);
camera.fieldOfView = ZoomLevels[zoomLevelSelected];
}
}
}
Пару вещей. Чтобы выбрать самолеты, используйте [Physics.Raycast] (http://docs.unity3d.com/Documentation/ScriptReference/Physics.Raycast.html) (Документы должны объяснить основы). Затем не изменяйте поле обзора для увеличения, это испортит ваше представление. Вместо этого переместите преобразование вашей камеры. – Jerdak