向量夹角计算

向量夹角

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 基于点积计算,
// a.b = ||a|| * ||b|| * sin(θ)
// => θ = arccos(a·b / (||a|| * ||b||))
// => θ = arccos(a·b) //当a和b按照单位向量算时
float angle = Mathf.Acos(Vector3.Dot(a.normalized, b.normalized)) * Mathf.Rad2Deg;

// 基于叉积计算,
// ||a × b|| = ||a|| ||b|| sinθ
// => θ = arcsin(||a × b|| / (||a|| * ||b||))
// => θ = arcsin(||a × b||) //当a和b按照单位向量算时
// 下面公式中有个Distance的计算是因为||a × b||是有长度的
angle = Mathf.Asin(Vector3.Distance(Vector3.zero, Vector3.Cross(a.normalized, b.normalized))) * Mathf.Rad2Deg;

// 最简单计算方式
Vector3.Angle(a, b)

Deepoon的相关设置以及如何玩steam游戏

基本

  • 保证Deepoon助手、显卡驱动是最新的。
  • 安装Deepoon platform sdk。在platform sdk的安装过程中需要阅读其自带的文档,sdk path中不要带中文。

DpnnGetLastError的处理

  • 目前发现在安装了steamVR的情况下会出现DpnuGetLastError错误,在启动状态下出现错误后,退出steamVR。然后重启游戏。
  • 在setting→play中关闭VR support,这个东西在启动后会被steamVR开启(如果你的程序中用到了steamVR)。
  • 按照上述两部则应该不会出现DpnnGetLastError错误,并且只能通过头盔来看游戏内容。

玩steam

  • 在steam的安装目录下放置xxx\Steam\steamapps\common\SteamVR\drivers\deepoon。如果没有放置这个驱动可能导致steam下无法设置VR房间。设置完成后应该是
    image

  • 经过上面的设置就可以用大朋眼镜玩steam游戏了。

开发相关

  • 目前发现如果用大朋眼镜可以玩steam,则在unity中是不需要使用DpnCameraRig的,而且也不需要开启大朋助手。
  • 从这些表现来看大朋应该用的是Oculus的底层。

LOD初探

概念

  • LOD全称是Level of Detail,也就是细节层级。
  • 为什么会产生这个技术?根据官方教程的解释是因为在一个很大的场景中,需要进一步考虑性能问题。LOD就是一个很好的解决性能问题的方案,它根据物体与摄像机的距离来展示这个物体不同的mesh,从而使得物体较远是使用面数比较少的mesh,而距离近的时候使用面数多的mesh。

VR开发环境搭建

  • unity3d的安装

  • 目前使用的Deepoon
    1.安装大朋助手。
    2.如果提示require DpnPlatform_x64.dll,则在大朋官网下载platform的sdk,并找到对应的平台的文件夹安装,有个bat文件可以安装。

  • 安装steam和steamVR。对于steamVR来说正常安装完会显示能识别头盔,但是可能提示未准备好,需要进行房间设置。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×