最近因为迷上了Superliminal这款游戏,所以想从unity中想做一个类似的雏形。
自由移动拖动物品
以上次的场景为基础,添加一些新的小功能。以自由拖动物品为基础后实现放大缩小功能。
首先创建四个空物体,命名为ModelController、Horizontal、Vertical、Model。层级关系如下
在ModelController物体上创建一个脚本命名为ModelController。
代码如下:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
public class ModelController : MonoBehaviour
{
#region 数据申明
/// <summary>水平旋转速度</summary>
private float rotateXSpeed = 100;
/// <summary>垂直旋转速度</summary>
private float rotateYSpeed = 100;
/// <summary>缩放最小值</summary>
private float zoomMini = 0.1f;
/// <summary>缩放最大值</summary>
private float zoomMax = 4f;
private float mouseX = 0;
private float mouseY = 0;
/// <summary>控制水平旋转</summary>
private Transform rotateHorizontal;
/// <summary>控制垂直旋转</summary>
private Transform rotateVertical;
private Touch oldTouch1;
private Touch oldTouch2;
private GameObject modelCamera;
#endregion
#region Unity函数
private void Awake()
{
rotateHorizontal = transform.Find("Horizontal");
rotateVertical = transform.Find("Horizontal/Vertical");
modelCamera = GameObject.Find("Main Camera").gameObject;
}
private void Update()
{
switch (Application.platform)
{
case RuntimePlatform.Android:
case RuntimePlatform.IPhonePlayer:
if (Input.touchCount > 0)
{