猫史档案馆


【教程】如何入门3D?

用户:imgainary_numberimgainary_number查看:15 回复:6 评论:15 创建时间:2024-04-06T21:04:08


免责声明:

该帖只讲入门3D最合适用哪种算法

而不讲算法的实现方法

好了,正片开始

 

 

如果你真的在3D方面一窍不通而还要入门3D

那我建议你使用Raycasting,该算法是基于2D的地图渲染

具体原理是:从player位置发射若干条射线对地图采样,获取每条射线的长度,算出高度,最后渲染

当然Raycasting不只有基于2D地图的,还有2维列表的,甚至3维列表的

 

 

 

 

如果你不喜欢Raycasting的渲染效果,或者说Raycasting太费性能(其实只要把渲染部分分离即可)

那你只需要记住以下公式:

x'=x*f/z

y'=y*f/z

你就可以在有限的性能内渲染稍微复杂的几何体

 

 

有什么遗漏在评论区补充


回复

上一页1 页 / 共 1下一页
无限边疆无限边疆

那。。。该咋做呢?

点赞0


评论


一个Phi_Five一个Phi_Five

我跟着graffit(是这名罢)大佬B站上炒鸡详细的教程做都只能做到P4(恼),反三角函数太长脑子了,烧儿编程

点赞0


评论


星星喵STARMEOW星星喵STARMEOW

一起嘛?也是3D项目:https://kitten4.codemao.cn/?invite_code=71TDGJ喵:71TDGJ我在编程猫发起了一个协作项目,点击链接即可加入一起创作! (目前只是画图3D转编程猫3维世界的一个引擎)

点赞0


评论


imgainary_numberimgainary_number

ddd

点赞0


评论


root㉿ikunliroot㉿ikunli

…………别装了哥,我要被你压死了

点赞0


评论


百年匠魂百年匠魂

x'=tfx/(z+f)  y'=tfy/(z+f)

点赞0


评论