Unity控制摄像机(Camera)实现缩放和旋转(上下左右)。⿏标滑轮控制摄像机缩放与放⼤和旋转(上下左右)详细过程我在源码⾥有注释。
还是先来康康演⽰动画:
代码如下:在Main Camera下创建⼀个脚本FollowPlayer 。将下⾯的源码复制进去。
using System;
naturalbeautyusing System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FollowPlayer : MonoBehaviour
英孚价格{
//位置偏移(摄像机与⼈)价值观用英语怎么说
private Vector3 offtPosition;
public float distance = 0;
public float scrollspeed = 1;//拉近视野速度
public float rotateSpeed = 2;//摄像机旋转的速度。comfortline
void Update()
{
/
/处理视野的旋转
英语个人简历范文RotateView();
北京百知教育科技有限公司//处理视野的拉近和拉远的效果
ScrollView();
}
private void ScrollView()
{
print(Input.GetAxis("Mou ScrollWheel"));//向后返回负值(拉近视野),向前滑动返回正值(拉远视野)
distance = offtPosition.magnitude;//获得距离。
distance += Input.GetAxis("Mou ScrollWheel") * scrollspeed ;//拉近视野
offtPosition = alized * distance;//⽅向不变,将长度变为distance
}
void RotateView() {
//Input.GetAxis("Mou X");//⿏标在⽔平⽅向的滑动
//Input.GetAxis("Mou Y");//⿏标在垂直⽅向的滑动
if (Input.GetMouButtonUp(1))//1代表⿏标左键。
{
isRotating = fal;
}revi的名词
if (Input .GetMouButtonDown(1))
服装设计图片
{
isRotating = true;
}
if (isRotating )
{
//向右滑动时正值,向左滑动是负值。
transform.RotateAround(player.position, player.up,rotateSpeed * Input.GetAxis("Mou X"));
Vector3 originalPos = transform.position;
Quaternion originalRotation = ation ;
transform.RotateAround(player.position, transform .right, -rotateSpeed * Input.GetAxis("Mou Y"));//影响的属性有两个,position,rotation;
//限制摄像机垂直滑动的距离;
float x = transform.eulerAngles.x;
if (x < 10 || x > 80)//当超出范围之后,我们将属性归位原来的,就是让旋转⽆效;
分手了咋办
{
transform.position = originalPos;
}
}
//每次更新⼀下。
offtPosition = transform.position - player.position;
}
>who