猫史档案馆


【教程】如何入门3D?

用户:imgainary_numberimgainary_number查看:245 回复: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


评论

这只是一个让你知道作为对3D一窍不通新萌入门3D最合适哪种算法,这些算法我会在后续逐一发出来的

如果你的电脑性能差的话,我建议你入门透视投影


一个Phi_Five一个Phi_Five

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

点赞0


评论

az,我当时做到了实体那集


星星喵STARMEOW星星喵STARMEOW

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

点赞0


评论

我用的是电视

况且我还有一个未完成3D项目

但是话说你这个3D项目是开发3D引擎么?


imgainary_numberimgainary_number

ddd

点赞0


评论


root㉿ikunliroot㉿ikunli

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

点赞0


评论

az

这能算装吗?

这些算法都是3D的入门级别的算法

………………

https://dao3.fun/edit/db1e6c112122db1f236f?p=922d97bf13dc46cd972e48292380ba83


百年匠魂百年匠魂

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

点赞0


评论

x'=x*(f/z) y'=y*(f/z) =》f/z = x'*x=y'*y

这样投影似乎更自然,https://shequ.codemao.cn/work/211402715

能投影就行了

欸,我想到怎样投影更加自然了