3d游戏中剧情开启扭转镜头的实现
来源:互联网 发布:大数据产品市场份额 编辑:程序博客网 时间:2024/04/29 17:31
很多3d游戏中在玩家与npc发生对话时候会有一个扭转镜头的动画,其实实现起来并不是很难,只是略微涉及向量的点积和叉积,先上代码吧,这是在unity中运行的
using UnityEngine;using System.Collections;public class CameraAction : MonoBehaviour {public GameObject m_npc;//npcpublic GameObject m_player;//玩家private Camera m_mainCam;//照相机private Vector3 m_camTagPos;// Use this for initializationvoid Start () {m_mainCam = Camera.main;UpdateCameraRotation();}// Update is called once per framevoid Update () {UpdateCameraTagPosition();UpdateCameraPosition();UpdateCameraRotation();}//更新照相机朝向,实时对准玩家void UpdateCameraRotation(){//玩家世界坐标转为照相机坐标系坐标,得到向量,unity的Quaternion有个LookRotation方法很方便,可以通过一个朝向向量得到角度Vector3 p2c = (m_player.transform.position - m_mainCam.transform.position).normalized;m_mainCam.transform.rotation = Quaternion.LookRotation(p2c);}//实时更新照相机的位置,使得趋向目标点void UpdateCameraTagPosition(){//叉积的方式求得垂直//得到npc与玩家两点间向量Vector3 p2n = (m_player.transform.position - m_npc.transform.position).normalized;//由于最终的照相机位于玩家同一平面,可将p2n与向量(0, 1, 0)叉积Vector3 p2c = Vector3.Cross(p2n, Vector3.down);m_camTagPos = m_player.transform.position + p2c*5;}//缓动到目标点void UpdateCameraPosition(){m_mainCam.transform.position = Vector3.Lerp(m_mainCam.transform.position, m_camTagPos, 0.1f);}}
利用点积的方式比较麻烦,所以本id使用了叉积的方式来实现
0 0
- 3d游戏中剧情开启扭转镜头的实现
- 3D游戏中“刀光剑影”特效的实现算法
- 利用Directsound 3D实现游戏中3D音效
- 利用Directsound 3D实现游戏中3D音效
- 网络游戏剧情副本的一种实现方式(中)
- 【Unity 3D】学习笔记三十五:游戏实例——摄像机切换镜头
- Vision引擎 游戏对象中镜头介绍
- Vision引擎 游戏对象中镜头介绍
- 尼康镜头D 和G的区别
- 了解RPG游戏中剧情播放器的制作原理及流程
- Javascript实现3D游戏
- android 3D 游戏实现
- 谷歌开启3D网页游戏时代
- GFX::3d::engine 镜头设置
- unity3d,制作自己的第一个射击游戏demo,实现镜头跟随和键盘控制移动
- 亚马逊推首款手机Fire:4颗镜头实现3D效果
- 镜头的由远到近的镜头拉近效果实现
- Java中2.5D游戏的设计与实现(3)—八方走法实现原理及相关代码
- 明明的随机数
- Arduino通过HTTP上传Json数据,树莓派再GET回数据
- 33.单例对象
- C语言模块化程序设计概念理解
- 如何将一个浮点型转化为字符串型
- 3d游戏中剧情开启扭转镜头的实现
- 053-16 Which statement most accurately describes the implementation of a SQL Access Advisor recommen
- SuperMap iClient 7C for Flash 开发之线编辑
- 可视化zookeeper的事务日志
- 关于Raphael开发过程中的一些总结
- 递归创建并输出链表
- 1018. 锤子剪刀布 (20)
- eclipse生成可执行jar包
- 前端css规范