gamemaker吧 关注:13,649贴子:95,194
  • 7回复贴,共1

d3d_set_projection里的xup,yup,zup

只看楼主收藏回复

rt,有啥用
把中文和英文的帮助文档都翻了几遍,两个都看不懂然后自己写了一下,还是搞不懂
望大佬路见不平拔刀相助
(话说d3d真方便)


IP属地:广东来自Android客户端1楼2025-03-17 13:00回复
    之前看到教程里的摞成一坨的cos,sin,pi...直接懵了,压根不懂是什么意思...果然知识储备还是很重要的,小屁孩不配做游戏


    IP属地:广东来自Android客户端2楼2025-03-17 13:08
    回复
      这是设置3d模式下视角用的,9个参数分别是相机位置position、相机方向direction和上方向。前两个容易理解,就是相机所在的位置,和朝着什么方向看。第三个,是表示相机方向确定后下,“朝正上方”的方向。
      一般3d游戏允许视角左右旋转,也允许上下俯仰,但常常没有改变上方向的功能,只有飞机飞行之类的场景会这样做。想象一下确定场景视角后,把画面旋转,天空横过来或者倒过来,就是上方向起作用了。up不用和方向保持垂直,只要不是平行就行,会采用垂直于direction的分量作为实际值。


      IP属地:江苏来自Android客户端3楼2025-03-17 13:48
      收起回复
        知足吧,至少有up朝向就够了,咱尝试自己搭3D(不使用D3D)的时候,因为知识储备问题,可是要把right朝向也一直保留计算的。就是前(鼻子朝向)上(头顶朝向)右(右耳朵朝向)都要一直记录且互相始终垂直。就是因为当时没找到只有其中两个向量时第三个的计算方法。
        D3D让填的UP朝向,没要求必须和前朝向垂直,对吧……嗯,如果一直偷懒填的是竖直向上(即在游戏框架里取消了左右歪头动作)的话,记得限定一下俯仰范围,以免这两个朝向平行的时候出一些无法处理的BUG。


        IP属地:北京4楼2025-03-19 09:25
        收起回复