直接上代码,首先在场景里创建一个可以移动的人物,然后将该脚本挂载在摄像机上即可实现人物跟随功能。

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摄像机跟随人物移动脚本相关推荐

  1. Unity3D摄像机跟随人物

    本篇文章和大家介绍的是摄像机跟随人物,这里的视角主要是从人物的背后跟随的. 首先新建一个C#脚本,命名为MyFollow,然后把以下代码粘贴进去,保存: AخA 1 using UnityEngine ...

  2. 关于UNITY3d摄像机跟随人物转动的脚本

    首先,我也是一名初学者,最近刚刚开始下手实战,今天分享一下关于人物视角跟随摄像机视角转动的脚本. 以下为简单的摄像机跟随脚本: using UnityEngine; using System.Coll ...

  3. unity3d 摄像机跟随角色时被物体遮挡解决方案

    unity3d 摄像机跟随角色时被物体遮挡解决方案 未被遮挡时 为了解决这个问题,在这里我们需要用到 Physics.RaycastAll:使用方法详见圣典 首先 ,我们引入命名空间 System.C ...

  4. unity 3D场景摄像机跟随人物

    3D场景摄像机跟随人物 2d场景和3d场景跟随不一样,但是有些还是相同的,就因为3d场景中人物旋转方向导致摄像机不能始终和人物方向一致很麻烦.所以下面提供一种挺不错的方法来帮助你. 效果如下: 效果就 ...

  5. Unity3D摄像机跟随物体移动的代码控制

    摄像机跟随物体方法一是把摄像机设置为物体Player的子物体,给Player添加移动脚步就可以摄像机跟随Player移动.移动的简单脚步 using UnityEngine; using System ...

  6. Unity中控制摄像机跟随人物主角的移动

    首先进入场景中,把摄像机挂载到人物主角的下方,先作为主角的一个子物体存在,然后新建一个脚本CameraFllow,用于控制摄像机跟随,然后把这个脚本挂载摄像机上面,打开脚本,并复制以下的代码: usi ...

  7. unity3D摄像机跟随

    为摄像机添加一个脚本. 先定义一个跟随的目标,以及一个三维向量. 在初始时刻,先让该三维向量等于摄像机初始位置与目标(角色)位置的差向量. 接下来定义一个根据物理帧刷新频率的函数,让摄像机位置向量每一 ...

  8. 【C#】【Unity】第三人称摄像机跟随人物移动时碰撞到墙壁等,摄像机不穿越墙壁

    目前大部分第三人称游戏的摄像机在遇到墙壁等狭隘空间的时候,都选择让摄像机不穿越到墙壁里面,而是让摄像机保持在墙壁表面. 分析情况:(红色方框为摄像机 黑色方框为墙壁) 当前情形摄像机还没达到墙壁摄像机 ...

  9. unity3d摄像机跟随物体移动的简单方法

    using UnityEngine; using System.Collections; public class TankCamera : MonoBehaviour { public Transf ...

最新文章

  1. python小游戏源码-python21点小游戏源码免费下载
  2. 老弟,Redis 6.0 除了多线程,别忘了这个牛逼特性!
  3. php cli和fastcgi,php的几种运行模式CLI、CGI、FastCGI、mod_php
  4. Codeforces Round #198 (Div. 2)A,B题解
  5. C语言将字符串转json
  6. 对象的比较与排序(二):实现IComparable和IComparer接口 和 Comparer类(转)
  7. c语言如何删除链表相同元素,【图片】想问一道链表题,如何删除重复元素【c语言吧】_百度贴吧...
  8. vs2017如何编写python_vs2017添加python的方法
  9. 《程序员修炼之道》解读
  10. 用于交通数据预测的深度时空3维卷积神经网络
  11. mysql 创建表字段Double类型长度
  12. python append 字典_Python3中使用append添加字典元素出现问题
  13. HH的项链(树状数组)区间内不同的数量
  14. js和jsp的区别和联系
  15. freemarker ftl模板语法和指令
  16. 谷歌中阻止冒泡在火狐中失效_如何在Google表格中乘数字
  17. 计算机知识利用率,电脑CPU使用率怎么看 查看CPU使用率的快速方法图解
  18. MySQL中定时任务的使用
  19. 计算机组成原理(哈工大)学习笔记
  20. 2022 ACM杰出会员揭榜:清华黄隆波、刘世霞,北大郝丹、刘譞哲等23位华人学者入选!...

热门文章

  1. datetime用法
  2. 需求工程:软件建模与分析 读书笔记三
  3. COCI2014/2015 Contest#1 PIRAMIDA 优化空间
  4. 1千用户与1千万用户的网站系统架构区别?
  5. Python 身体质量指数BMI
  6. CRMEB 微信商城系统 源码下载
  7. Keystone详解
  8. 这100道练习,带你玩转Numpy
  9. [BZOJ 2844]albus就是要第一个出场
  10. LeetCode 2296. 设计一个文本编辑器(双栈)