Unity3D摄像机跟随人物移动脚本
直接上代码,首先在场景里创建一个可以移动的人物,然后将该脚本挂载在摄像机上即可实现人物跟随功能。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class FollowPlayer : MonoBehaviour
{private Transform player;private Vector3 offsetPosition; // 位置偏移private bool isRotating = false;public float distance = 0;public float scrollSpeed = 10;public float rotateSpeed = 2;// Start is called before the first frame updatevoid Start(){player = GameObject.FindGameObjectWithTag(Tags.player).transform;transform.LookAt(player.position);offsetPosition = transform.position - player.position;}// Update is called once per framevoid Update(){transform.position = offsetPosition + player.position;RotateView();ScrollView();}void ScrollView(){distance = offsetPosition.magnitude;distance += Input.GetAxis("Mouse ScrollWheel") * scrollSpeed;distance = Mathf.Clamp(distance, 2, 18);offsetPosition = offsetPosition.normalized * distance;}void RotateView(){if (Input.GetMouseButtonDown(1)){isRotating = true;}if (Input.GetMouseButtonUp(1)){isRotating = false;}if (isRotating){transform.RotateAround(player.position, player.up, rotateSpeed * Input.GetAxis("Mouse X"));Vector3 originalPos = transform.position;Quaternion originalRotation = transform.rotation;transform.RotateAround(player.position, transform.right, -rotateSpeed * Input.GetAxis("Mouse Y"));float x = transform.eulerAngles.x;// 当超出范围之后,将属性归位原来的,就是让旋转无效if (x < 10 || x > 80){transform.position = originalPos;transform.rotation = originalRotation;}}offsetPosition = transform.position - player.position;}
}
Unity3D摄像机跟随人物移动脚本相关推荐
- Unity3D摄像机跟随人物
本篇文章和大家介绍的是摄像机跟随人物,这里的视角主要是从人物的背后跟随的. 首先新建一个C#脚本,命名为MyFollow,然后把以下代码粘贴进去,保存: AخA 1 using UnityEngine ...
- 关于UNITY3d摄像机跟随人物转动的脚本
首先,我也是一名初学者,最近刚刚开始下手实战,今天分享一下关于人物视角跟随摄像机视角转动的脚本. 以下为简单的摄像机跟随脚本: using UnityEngine; using System.Coll ...
- unity3d 摄像机跟随角色时被物体遮挡解决方案
unity3d 摄像机跟随角色时被物体遮挡解决方案 未被遮挡时 为了解决这个问题,在这里我们需要用到 Physics.RaycastAll:使用方法详见圣典 首先 ,我们引入命名空间 System.C ...
- unity 3D场景摄像机跟随人物
3D场景摄像机跟随人物 2d场景和3d场景跟随不一样,但是有些还是相同的,就因为3d场景中人物旋转方向导致摄像机不能始终和人物方向一致很麻烦.所以下面提供一种挺不错的方法来帮助你. 效果如下: 效果就 ...
- Unity3D摄像机跟随物体移动的代码控制
摄像机跟随物体方法一是把摄像机设置为物体Player的子物体,给Player添加移动脚步就可以摄像机跟随Player移动.移动的简单脚步 using UnityEngine; using System ...
- Unity中控制摄像机跟随人物主角的移动
首先进入场景中,把摄像机挂载到人物主角的下方,先作为主角的一个子物体存在,然后新建一个脚本CameraFllow,用于控制摄像机跟随,然后把这个脚本挂载摄像机上面,打开脚本,并复制以下的代码: usi ...
- unity3D摄像机跟随
为摄像机添加一个脚本. 先定义一个跟随的目标,以及一个三维向量. 在初始时刻,先让该三维向量等于摄像机初始位置与目标(角色)位置的差向量. 接下来定义一个根据物理帧刷新频率的函数,让摄像机位置向量每一 ...
- 【C#】【Unity】第三人称摄像机跟随人物移动时碰撞到墙壁等,摄像机不穿越墙壁
目前大部分第三人称游戏的摄像机在遇到墙壁等狭隘空间的时候,都选择让摄像机不穿越到墙壁里面,而是让摄像机保持在墙壁表面. 分析情况:(红色方框为摄像机 黑色方框为墙壁) 当前情形摄像机还没达到墙壁摄像机 ...
- unity3d摄像机跟随物体移动的简单方法
using UnityEngine; using System.Collections; public class TankCamera : MonoBehaviour { public Transf ...
最新文章
- python小游戏源码-python21点小游戏源码免费下载
- 老弟,Redis 6.0 除了多线程,别忘了这个牛逼特性!
- php cli和fastcgi,php的几种运行模式CLI、CGI、FastCGI、mod_php
- Codeforces Round #198 (Div. 2)A,B题解
- C语言将字符串转json
- 对象的比较与排序(二):实现IComparable和IComparer接口 和 Comparer类(转)
- c语言如何删除链表相同元素,【图片】想问一道链表题,如何删除重复元素【c语言吧】_百度贴吧...
- vs2017如何编写python_vs2017添加python的方法
- 《程序员修炼之道》解读
- 用于交通数据预测的深度时空3维卷积神经网络
- mysql 创建表字段Double类型长度
- python append 字典_Python3中使用append添加字典元素出现问题
- HH的项链(树状数组)区间内不同的数量
- js和jsp的区别和联系
- freemarker ftl模板语法和指令
- 谷歌中阻止冒泡在火狐中失效_如何在Google表格中乘数字
- 计算机知识利用率,电脑CPU使用率怎么看 查看CPU使用率的快速方法图解
- MySQL中定时任务的使用
- 计算机组成原理(哈工大)学习笔记
- 2022 ACM杰出会员揭榜:清华黄隆波、刘世霞,北大郝丹、刘譞哲等23位华人学者入选!...