社区
游戏开发
帖子详情
求:3D第三人称游戏视线追踪讨论
xiao0mai
2006-03-20 06:18:08
本人最近在做一个飞机程序,如何控制摄像机追踪飞机移动,成为了一个非常头痛的问题!
问题:
1.当飞机移动时,为了保持飞机的大小不改变,要让飞机跟摄像机保持一定距离.
2.当飞机在空中做动作时,比如旋转和向各个不同方向飞时,又是一个很困难的问题.
3.如何去绑定摄像机?
...全文
191
7
打赏
收藏
求:3D第三人称游戏视线追踪讨论
本人最近在做一个飞机程序,如何控制摄像机追踪飞机移动,成为了一个非常头痛的问题! 问题: 1.当飞机移动时,为了保持飞机的大小不改变,要让飞机跟摄像机保持一定距离. 2.当飞机在空中做动作时,比如旋转和向各个不同方向飞时,又是一个很困难的问题. 3.如何去绑定摄像机?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
triace_zhang
2006-03-25
打赏
举报
回复
个人认为视点问题主要是调整视锥位置和方向的问题。如在openGL中使用glLookAt函数,只要给定正确的位置,指向和向上矢量,就可以达到视点追踪的效果。
具体如采用飞行员视点(第一人称视点),默认openGl视点位于(0,0,0),指向z轴负向,如 (0,0,-1),向上矢量为y轴正向(0,1,0).可用欧拉角(heading,pitch,bank)描述飞机方位,如已知飞机位置Position(x,y,z)和欧拉角EulerAngles(){heading,pitch,bank}.
先将欧拉角EulerAngles中的heading,pitch,bank转为3×3旋转矩阵R,且此矩阵为惯性坐标系->物体坐标系的旋转矩阵。
那么视锥中新视点的在惯性坐标系中的初始位置为P_org(x+△,y+△,z+△),△为飞行员视点和飞机重心偏差。此时进行旋转P_new = P_org * R(旋转矩阵),视锥必须指向矢量为v(0,-1,0)*R(旋转矩阵),同理新的向上矢量为vup(0,1,0)*R(旋转矩阵).再调用glLookAt函数重新设置视锥就可以了。
wd_6532
2006-03-23
打赏
举报
回复
想象一下一个圆周,你跟飞机的前进方向差180度就够了
如果想比飞机高一点,那么在飞机倾侧平面上,飞机为圆心,以摄像机到飞机的线段为半径,旋转一个角度.
以上两个矩阵相乘. 我没有说错吧?
wd_6532
2006-03-23
打赏
举报
回复
我觉得不管视点在飞机内部还是外部,都应该是一样的.
假如摄像机在飞机内部,那么视线方向跟飞行员是一样的.
如果摄像机在飞机外部,我想也应该那样.
当然,也可以让用户设置选项.,来改变视角的方式. 是否与飞机偏行角相同.
xiao0mai
2006-03-23
打赏
举报
回复
真的谢谢各位了!你们真的给了我很大的帮助
寻开心
2006-03-23
打赏
举报
回复
1 视点是应该在那个圆上,但是位置和方向是说法的
如果你始终在和飞机相对位置固定的点上看飞机,那么飞机的行动你是看不出来的
你看到的飞机的样子是始终不变的
2 视点跟随没有统一的规定比如如何如何,如果认同上面的结果,那么也是一种方法
但是一般人是不希望这样的
他们希望跟随在飞机的后面一起运动,但是同时能够看到飞机的旋转和起降等姿态的变化
Bobby136
2006-03-21
打赏
举报
回复
让摄像机和飞机的相对坐标保持不变不就行了。
这其实和第一人称的摄像机差不多
寻开心
2006-03-21
打赏
举报
回复
飞机和相机坐标保持不变是不行的,比如飞机掉头飞,你看到的是飞机的头向你的,那不对
这个技术叫做视点跟随,没有标准的答案,很大程度上要根据自己的要求来想
当年我做的一个飞行模拟当中用了两种方法分别实现的
1 固定飞机和相机之间的距离,和初始位置关系
然后给相机和飞机各自不同的运动方向和转动能力的控制
飞机直线飞,当然没有问题,相对距离固定的,方向没有变化
当飞机转动的时候,飞机转动10度,相机转动5度,类似这样
那么效果上看,飞机在旋转,你也跟随在旋转,不过飞机转的快,你转的慢
2 是记录飞机的飞行路径,相机的位置比它延后一段时间
相机始终在飞机之前一段时间的位置上,以及姿态上,加一个固定的偏移
具体的参数,要根据飞行的控制方式来取经验值
转:
3D
游戏
引擎技术剖析
3D
游戏
引擎技术剖析 分类:Unity
3D
2013-10-13 16:3666人阅读评论(0)收藏举报 自Doom
游戏
时代以来我们已经走了很远。 DOOM不只是一款伟大的
游戏
,它同时也开创了一种新的
游戏
编程模式:
游戏
"引擎"。 这种模...
Unity*
3D
中由英特尔® 实感™ 技术驱动的第一人称控制器
在本文中,我将使用英特尔® 实感™ 软件开发套件 (SDK) 中的手部
追踪
算法来控制 Unity*
3D
第一人称控制器 (FPC) 的位置和 LookAt。 场景主摄像头依然是含有默认 FPC 的场景的标准配置。 然后在屏幕的左下角和右下...
基于opengl的
3d
漫游
游戏
- 古堡危机之丧尸围城
作品名称: 《古堡危机》 小组团队名称: 拾荒三人组 日期:2018年12月 目录 第一章 简介 3 ...前言 3 ...项目的创意设想、
游戏
类型、实现的功能、...第三章 第一人称场景漫游 15 基础理论 15 角色位置及视角控制 1
3D
游戏
引擎剖析
第1部分:
游戏
引擎介绍, 渲染和构造
3D
世界 介绍 自Doom
游戏
时代以来我们已经走了很远。 DOOM不只是一款伟大的
游戏
,它同时也开创了一种新的
游戏
编程模式:
游戏
"引擎"。 这种模块化,可伸缩和扩展的设计...
AI:从
游戏
引擎--到AI
第3部份:内存使用,特效和API ;第4部份:模型与动画,细节级别;第5部分:物理,运动,效果 ;第6部分:声音系统,音频APIs ;第7部份:网络和连线
游戏
环境 ;第8部份:脚本系统 ;第9部分:现成产品与定做的
游戏
引擎设计...
游戏开发
8,304
社区成员
23,682
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章