Paul Brunt 凭借其令人难以置信的强大(甚至有点上瘾)的 3D 树木设计器 WebGL Dev Derby 中的 SnappyTree 赢得了比赛。SnappyTree 提供了我们今天可以使用网络做些什么的绝佳示例 - 它甚至提供了一个导出功能,可以将您的树木用于原生应用程序(超越 Blender),如果像这样的进步持续下去,我们就不需要原生 3D 应用程序了。
最近,我有机会更多地了解 Paul 和他的工作。在我们的访谈中,Paul 分享了他对网页开发过去、现在和未来的想法,并为各个层次的开发人员提供了相关建议。
访谈
你是什么时候开始对网页开发感兴趣的?
我第一次接触互联网是在 90 年代末,那时我第一次对网页开发产生了兴趣。在网上浏览了一段时间后,我想自己尝试做一个网站。凭借 ISP 提供的免费空间,以及 Frontpage 的一些帮助,我设法构建了一些东西,你可以称之为网站。不幸的是,我的第一个网站寿命很短,因为我意外地删除了它。但是,种子已经播下,所以我又构建了一个,然后又构建了一个,然后不知不觉就做成了职业。
跟我们谈谈开发 SnappyTree 的经历。有什么特别令人兴奋、具有挑战性或有成就感的地方吗?
我花了几天时间编码才开始在屏幕上绘制任何东西。所以,最令人兴奋的部分是第一次看到类似于树的东西出现在浏览器中;虽然它看起来并不怎么样,而且显然存在一些问题。
让皮肤正常工作非常具有挑战性;在努力使它正常工作时,出现了许多可怕的树枝扭曲迭代,但我对最终结果非常满意。
你能告诉我们一些关于 SnappyTree 如何工作的信息吗?
Snappy Tree 通过采用一个初始分支(树干)来工作,该分支然后分成两个新分支。这些新分支的方向由几个用户可配置的因素决定,例如对称性、下垂度等。重复此过程 N 次以生成基本的树结构。
在构建基本树木后,会在分支周围生成一个皮肤,然后在分支的末端添加平面,这些平面用于叶子和树枝。然后将最终的网格数据导入 Webgl 进行渲染,并用于生成用于导出的 collada 或 wavefront 文件。
是什么让网络成为一个让你兴奋的平台?
越来越明显的是,与任何原生平台相比,为网络开发的速度更快、更容易,所以我认为目前的进展速度是最令人兴奋的部分。随着如此多的新技术出现,看看开发人员如何使用它们总是很有趣,而且常常令人敬畏。
你对哪些新兴的网络技术最感兴趣?
我认为现在最令人兴奋的事情是 WebRTC。我真的很期待看到开发人员能想出哪些用途。我认为它在显而易见的功能之外还有很多潜力,发现它有趣的使用方式将非常有趣。
如果你可以改变网络的一件事,那会是什么?
有很多小细节我希望在 CSS 和 HTML 中进行调整;但是,如果只能改变一件事,我认为我会改变“www.”约定。它很难发音,说起来太长,听起来也很难听。
你对有抱负的网页开发人员有什么建议?
跳进深水区,要有雄心壮志。学习一项新技术的最佳方法是围绕该技术启动一个项目。即使你一开始不知道自己在做什么,到最后你肯定会知道。