使用3d坐标系 在游戏中添加2d用及3d用的摄像机

简述:

用于计算3维平面上的交互,如:求射线与球面的交点,转化为2d坐标;
使用一个正射投影摄像机,控制旋转的角度(俯视则绕x轴旋转),调整到所需的视角。此时可设置物体z坐标,控制物体位置。

摄像机设定

3角函数

sin:对边/斜边
cos:直角边/斜边
tan:对边/直角边

相关代码

---- cocos2dx一开始会创建一个默认摄像机default,默认摄像机用于绘制ui,它是最后被绘制的;
---- 所有摄像机的绘制顺序都是先绘制2d物体和不透明3d物体,然后绘制透明3d物体。
---- 共3个相机 一个是default的默认相机,相机Flag为0;map类定义了相机Flag为2;3d物体类定义相机Flag为4

--需要显示z轴的相机(3d),Flag为4 Flag越大 越后绘制
self.camera_z = cc.Camera:createOrthographic(860, 860, -500, 500)   --初始化一个正射投影摄像机 宽高为860 远平面500 近平面-500;无透视效果
self.camera_z:setCameraFlag(cc.CameraFlag.USER2)                    -- cc.CameraFlag.USER2 对应 mask 4
self.camera_z:setRotation3D(cc.vec3(30, 0, 0))                      --设置角度 绕x轴旋转30
self.camera_z:setPosition3D(cc
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值