【三轴旋转】三维立方体,超高效率填充面
scratch吧
全部回复
仅看楼主
level 11
whdi😳 楼主
无漏洞完美填充,主要原理是将每个面计算平均深度,从前之后排序后,从后至前绘制。保证方块背面不会
基于上一帖的线框架正方体,如下。如果想研究定点计算原理,线框架的版本会比较易懂
https://tieba.baidu.com/p/5266648381?pid=110419774415&cid=0#110419774415
2018年12月25日 04点12分 1
level 11
whdi😳 楼主
上链接前,先介绍玩法。
【scale】-缩放,将方块整体放大缩小
【x_rotation】-方块围绕x轴旋转,x轴是屏幕从左到右
【y_rotation】-方块围绕y轴旋转,y轴是屏幕从下到上的
【z_rotation】-方块围绕z轴旋转, z轴是从屏幕由里向外
【fov】 游戏常用概念,自己模仿了一个,并不是真正的fov
fov > 0 时,远点会变小,近点变大
fov = 0 时,不变。
fov决定了方块立体感。fov = 0 也叫做正交投影,效果如下
相比封面,fov接近0时会失去立体感。
2018年12月25日 04点12分 2
前排提醒:坟贴勿回
2020年01月04日 09点01分
level 11
whdi😳 楼主
【深度排序】
保证靠前的面不会被靠后的面所覆盖,防止穿帮
【高效填充】
填充面后,因为最多只能看见三个面,所以只需要绘制前三面即可,相比总共方块六面,渲染速度提高两倍
【填充算法】
很简单的方法,每个面,落笔后让角色从两个定点左右移动慢慢推移至后两个点,
【相关帖】
https://tieba.baidu.com/p/5263294880
夏午是贴吧上第一个做出填充面的,我的方法应该和他的类似
那时他遇到的问题可以通过深度排序即可解决。
【图】
填充算法演示如下,背面三面已被剔除
2018年12月25日 05点12分 3
level 14
支持!已经加精
2018年12月25日 12点12分 7
oh yeah!
2018年12月25日 12点12分
level 2
楼上哪里违规了?度娘好神奇。。。
2019年02月14日 06点02分 8
level 2
颜色填充错误,红绿反了
2019年05月10日 06点05分 9
红绿反了?
2019年05月10日 07点05分
@whdi😳 按照魔方的颜色排列的话,就反了
2019年05月15日 02点05分
level 6
可以做出阴影效果吗?[太开心]
2020年01月04日 04点01分 10
吧务
level 15
精品贴60天成坟。
坟贴勿回
有问题请单独开贴询问。
2020年01月04日 09点01分 11
1