游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2143|回复: 5

3D跟随摄像机如何实现,请各位高手赐教!

[复制链接]

40

主题

48

帖子

48

积分

注册会员

Rank: 2

积分
48
发表于 2009-1-11 18:23:00 | 显示全部楼层 |阅读模式
给小弟点启发吧,就是想游戏中的那样摄像机跟随人物移动,旋转。希望给个例子或段代码,谢谢了

19

主题

638

帖子

638

积分

高级会员

Rank: 4

积分
638
发表于 2009-1-11 22:32:00 | 显示全部楼层

Re:3D跟随摄像机如何实现,请各位高手赐教!

function 更新相机位置()
  让相机LookAt目标
  if 相机到目标的距离 > 跟随距离 then
    相机向目标移动到距离等于跟随距离
  end if
end function

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2009-1-11 22:40:00 | 显示全部楼层

Re:3D跟随摄像机如何实现,请各位高手赐教!

把摄影机榜定到人物的节点上即可

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2009-1-11 22:42:00 | 显示全部楼层

Re:3D跟随摄像机如何实现,请各位高手赐教!

如果引擎不支持把 摄影机榜定到人物的节点 ,那么,

还有一种方法是,请参考这里:

http://bbs.gameres.com/showthread.asp?threadid=117721

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2009-1-12 17:01:00 | 显示全部楼层

Re: Re:3D跟随摄像机如何实现,请各位高手赐教!

qrli: Re:3D跟随摄像机如何实现,请各位高手赐教!

function 更新相机位置()
  让相机LookAt目标
  if 相机到目标的距离 > 跟随距离 then
    相机向目标...

function 更新相机位置()
{
  if (相机到目标的距离 > 跟随距离){相机向目标移动到距离等于跟随距离}
  if (相机到目标的距离 < 最近距离) {相机向目标移动到距离等于最近距离}
  让相机LookAt目标
}
[em3]

20

主题

136

帖子

172

积分

注册会员

Rank: 2

积分
172
发表于 2009-1-13 03:07:00 | 显示全部楼层

Re:3D跟随摄像机如何实现,请各位高手赐教!

D3DXMATRIXLookAtLH

zaxis = normal(Eye - At)
xaxis = normal(cross(Up, zaxis))
yaxis = cross(zaxis, xaxis)
   
xaxis.x           yaxis.x           zaxis.x          0
xaxis.y           yaxis.y           zaxis.y          0
xaxis.z           yaxis.z           zaxis.z          0
-dot(xaxis, eye)  -dot(yaxis, eye)  -dot(zaxis, eye)  l
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-20 12:42

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表