相机跟随人物移动

先介绍一个属性:

public static float deltaTime;

这是一个只读的属性,返回上一帧到这一帧的时间。如果你想要在每一帧增加或者减少数据,需要用数据乘以deltaTime这个数据,比如:

using UnityEngine;
using System.Collections;public class ExampleClass : MonoBehaviour {void Update() {// 沿着z轴方向,每一帧移动10米float translation = Time.deltaTime * 10;transform.Translate(0, 0, translation);}
}

游戏开发中,相机的移动处理非常重要,在这里给出通用的方法。

public class CameraFollow : MonoBehaviour {public Transform target;      // 相机跟踪的目标public float smoothing = 5f;  // 平滑移动的处理Vector3 offset;   // 保留目标和相机的初始化偏移位置private void Start() {// 计算偏移量offset = transform.position - target.position;}private void FixedUpdate() {// 每一次移动都要加上偏移位置Vector3 targetCamPos = target.position + offset;// 平滑处理,需要添加时间,注意是每一帧的transform.position = Vector3.Lerp(transform.position, targetCamPos, smoothing * Time.deltaTime);}
}

UnityEngine.AIModule部分的导航模块。

导航和寻找路径简介

导航系统可以让问我们创建能在世界中自主寻路的角色,它可以根据具体的场景进行创建。动态的障碍可以在运行时状态改变对象的移动路径

具体参考:https://docs.unity3d.com/Manual/Navigation.html
创建NavMesh的方法:https://docs.unity3d.com/Manual/nav-BuildingNavMesh.html

创建完Navigation组件后,需要单独进行处理。具体参考手册。

NavMesh模块

该模块是个类,用于寻找路径,并调整对象的路径和规避方式。可以用于二维平面或者空间。使用该类的前提是必须先把Scene进行bake处理。

详细的参考:https://docs.unity3d.com/ScriptReference/AI.NavMesh.html

NavMeshAgent模块

指定场景中的一个可以移动的对象,该对象可以进行导航有关的操作。

具体参考:https://docs.unity3d.com/ScriptReference/AI.NavMeshAgent.html

本例中的追踪方式

using UnityEngine;
using System.Collections;public class EnemyMovement : MonoBehaviour
{Transform player;UnityEngine.AI.NavMeshAgent nav;void Awake (){player = GameObject.FindGameObjectWithTag ("Player").transform;nav = GetComponent <UnityEngine.AI.NavMeshAgent> ();}void Update () {// 设定追踪的目标nav.SetDestination (player.position);}
}

Unity5 Survival Shooter开发笔记2相关推荐

  1. Unity5 Survival Shooter开发笔记(1)

    Animator 与Animator Controller Animator(动画)是游戏角色的基本属性,比如一个任务在屏幕上移动,是靠播放动画实现的.Animator Controller相当于一个 ...

  2. 【Visual C++】游戏开发笔记三十四 浅墨DirectX提高班之三 起承转合的艺术:Direct3D渲染五步曲...

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhmxy555/article/details/8223965 作者:毛星云(浅墨 ...

  3. Unity3D休闲射击类游戏《Survival Shooter》完整源码

    Unity3D休闲射击类游戏<Survival Shooter>完整源码分享给大家学习,这个对于那些想要制作u3d射击类游戏有很大帮助. 运行环境是:Unity5.3.1 下载地址: ht ...

  4. 【Visual C++】游戏开发笔记三十四 浅墨DirectX提高班之三 起承转合的艺术:Direct3D渲染五步曲

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhmxy555/article/details/8223965 作者:毛星云(浅墨 ...

  5. 运维开发笔记整理-前后端分离

    运维开发笔记整理-前后端分离 作者:尹正杰  版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.为什么要进行前后端分离 1>.pc, app, pad多端适应 2>.SPA开发式的流 ...

  6. iOS开发笔记-两种单例模式的写法

    iOS开发笔记-两种单例模式的写法 单例模式是开发中最常用的写法之一,iOS的单例模式有两种官方写法,如下: 不使用GCD #import "ServiceManager.h"st ...

  7. 【Visual C++】游戏开发笔记十三 游戏输入消息处理(二) 鼠标消息处理

    本系列文章由zhmxy555编写,转载请注明出处. http://blog.csdn.net/zhmxy555/article/details/7405479 作者:毛星云    邮箱: happyl ...

  8. 【Visual C++】游戏开发笔记二十七 Direct3D 11入门级知识介绍

    游戏开发笔记二十七 Direct3D 11入门级知识介绍 作者:毛星云    邮箱: happylifemxy@163.com    期待着与志同道合的朋友们相互交流 上一节里我们介绍了在迈入Dire ...

  9. Android移动APP开发笔记——最新版Cordova 5.3.1(PhoneGap)搭建开发环境

    引言 简单介绍一下Cordova的来历,Cordova的前身叫PhoneGap,自被Adobe收购后交由Apache管理,并将其核心功能开源改名为Cordova.它能让你使用HTML5轻松调用本地AP ...

最新文章

  1. 【CTF】实验吧 凯撒变异
  2. 高校教授称已推翻爱因斯坦相对论,项目还被推荐入选河北科学技术奖?!回应来了!...
  3. CORS 跨域-同源策略
  4. mysql数据库-mysql数据定义语言DDL (Data Definition Language)归类(六)
  5. 安卓逆向_1 --- 逆向环境配置、APK 文件结构、APK 打包流程
  6. 美团面经-java开发
  7. 一路风景之川藏线徒步笔记
  8. 《图解HTTP》— 安全的HTTPS
  9. python脚本报错:OSError: [WinError 193] %1 不是有效的 Win32 应用程序。
  10. 美团斗鱼百度笔试概录
  11. 运动坐标系的旋转角速度与旋转角(转换角)的关系
  12. 016画笔工具、铅笔工具、颜色替换工具和混合器画笔工具
  13. Spring @Value(#{})和@Value(${})
  14. 自学编程的30岁男人,能按应届生那样找工作吗?
  15. TGRS2021:Road Segmentation for Remote Sensing ImagesUsing Adversarial Spatial Pyrami对抗性空间金字塔网络的道路分割
  16. 面对互联网裁员潮,我们该怎么提升自己核心知识能力
  17. 高性能 MySQL实战
  18. php微信获取mediaid超出限制_微信永久素材上传视频并通过mediaid获取微信url调用视频...
  19. 《程序是怎样跑起来的》矢泽久雄[日] - 读书笔记
  20. android 仿QQ五毛特效之查看红包领取详情界面

热门文章

  1. hnu 暑期实训之魔咒词典
  2. ~~朴素筛法求素数(附模板题)
  3. Python性能分析的学习笔记
  4. 高精度地图的学习笔记
  5. Ubuntu系统上安装微信(legacy)
  6. Python——Youki觉得好用的Object父类的属性方法
  7. 【干货】微信小程序如何让view标签中内容居中
  8. Android——Fragment的使用(上)
  9. 【设计模式】设计模式六大原则
  10. Python:列表list对应项求和