用户:
imgainary_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
你就可以在有限的性能内渲染稍微复杂的几何体
有什么遗漏在评论区补充
星星喵STARMEOW一起嘛?也是3D项目:https://kitten4.codemao.cn/?invite_code=71TDGJ喵:71TDGJ我在编程猫发起了一个协作项目,点击链接即可加入一起创作! (目前只是画图3D转编程猫3维世界的一个引擎)
点赞0
评论