开发者日志002 - 程序篇

2024/10/235 浏览综合
大家好,我们是酸橙子工作室!
距离上次更新已经有几天了,目前我们已经进入了开发最紧张的阶段。
在这篇日志中,我们会着重讲一讲程序方面的开发过程与进度。
我们的玩法涉及到光线的照射和混色,以及一系列光学器件(棱镜、挡板)的实现。我们目前主要攻克了光线的照射和混色、器件的移动和旋转部分。
在做光线的照射和混色时,我们选择对于每束光计算出它的照射的多边形面积,将这个多边形转换为mesh,再将mesh叠加起来得到最终的效果。
TapTap
光线多边形算法
在对光学元件进行操作时,我们选择如下方式:单击选中,之后如果在元件上再次点击则为拖动,否则为旋转。由于我们使用了RenderTexture将2D世界渲染到一张画布上,因此在计算哪个元件被选中时,需要先将鼠标坐标转换为画布坐标,再将画布坐标通过RTCamera转换为地图坐标。
最终的效果如下: (采用了Gris的截图作为测试素材)
TapTap
最终效果
任何关于技术的讨论都欢迎在评论区提出!