星空 VR
介绍
想做一个,类似于造物主的游戏(所以英文叫demiurge)。玩家能够往这个地方扔星球。本来希望有好一点的交互碰撞效果结果后来懒了(……)所以最后做出来不太像游戏了233也是很惨的。
src="https://www.youtube.com/embed/hAy43tOQ6Us" allowfullscreen="" width="560" height="315">不能看的话B站视频连接https://www.bilibili.com/video/av31583253
代码链接
https://github.com/Birdy-C/Demiurge
实现
环境配置
一开始在选择配置的时候考虑的一个是Oculus提供的官方SDK,另一个就是基于SteamVR的OpenVR SDK。
适当权衡之后,选择了Oculus官方提供的SDK。因为看起来文档相对详细而且排版比较清楚,有比较具体的例程。
当然Oculus官网全程需要翻墙……这一点确实非常的不友好。客户端大概下载了五六个小时,后面用户登录又折腾了蛮久。确实对于国内开发者不太友好。
此外,Oculus有一系列的Unity的中文教程,但是基本上没有PC SDK的中文资料料。整个过程的主要参考是官网文档和官网提供的教程。
模型建立
球
我采用对球分段的方式,用四边形(三角面片)去逼近球。
生成球的函数,传入参数是球的中心、球的半径、theta方向上的分段数和phi方向上的分段数。theta和phi的值和坐标的对应关系为:
result=center+(cos(ϕ)cos(θ),sin(ϕ),cos(ϕ)sin(θ)