游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2392|回复: 1

DXUT中的CModelViewerCamera 类可以实现现在网游中的第三人称

[复制链接]

4

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2009-8-6 12:59:00 | 显示全部楼层 |阅读模式
DXUT中的CModelViewerCamera 类可以实现现在网游中的第三人称视角吗?
就是左键单击控制人的目标位置,右键拖动便围绕角色旋转,滑轮则缩放视角。
我看了一下里面的函数:
    void SetViewParams( D3DXVECTOR3* pvEyePt, D3DXVECTOR3* pvLookatPt );
    void SetButtonMasks( int nRotateModelButtonMask = MOUSE_LEFT_BUTTON, int nZoomButtonMask = MOUSE_WHEEL, int nRotateCameraButtonMask = MOUSE_RIGHT_BUTTON );   
    void SetAttachCameraToModel( bool bEnable = false ) ;
    void SetWindow( int nWidth, int nHeight, float fArcballRadius=0.9f );
    void SetRadius( float fDefaultRadius=5.0f, float fMinRadius=1.0f, float fMaxRadius=FLT_MAX  );
    void SetModelCenter( D3DXVECTOR3 vModelCenter );
    void SetLimitPitch( bool bLimitPitch );
    void SetViewQuat( D3DXQUATERNION q );
    void SetWorldQuat( D3DXQUATERNION q );

缩放效果用SetButtonMasks()可以达到,围绕角色旋转结果却把整个世界旋转了(SetLimitPitch 设为true也没什么变化)。把SetModelCenter()写到FrameMove里却没有实现跟随角色移动。。。不知哪位高手能来指导一下CModelViewerCamera 的用法以实现第三人称跟随视角: )

15

主题

62

帖子

64

积分

注册会员

Rank: 2

积分
64
发表于 2009-8-7 19:46:00 | 显示全部楼层

Re:DXUT中的CModelViewerCamera 类可以实现现在网游中的第三人

貌似dxut里有一个cfirstviewcamera吧。。。那个貌似可以实现你希望的效果
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-21 16:18

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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