将指南针指向Unity中的特定位置

布拉姆奇异鸟

我正在尝试制作一个指向Unity程序中自定义位置的指南针。但是,它是完全不正确的,它通常指向错误的方向,我似乎还不太清楚我的逻辑出了什么问题。

我在这里使用弯曲的几何轴承方程:http : //www.yourhomenow.com/house/haversine.html

  1. 获取当前位置。
  2. 计算从当前位置到目标位置的方位。
  3. 相对于真实北方旋转屏幕指南针。

    // Calculate bearing between current location and target location
    // Get current GPS location
    float lat1 = Input.location.lastData.latitude;
    float lon1 = Input.location.lastData.longitude;
    float lat2 = TargetLatitude;
    float dLon = TargetLongitude - lon1;
    
    // Calculate bearing
    var y = Mathf.Sin(dLon) * Mathf.Cos(lat2);
    var x = Mathf.Cos(lat1) * Mathf.Sin(lat2) -
            Mathf.Sin(lat1) * Mathf.Cos(lat2) * Mathf.Cos(dLon);
    var brng = ((Mathf.Atan2(y, x)*(180.0f/Mathf.PI)) + 360.0f) % 360.0f;
    
    Dump.text = brng.ToString();
    
    // Rotate the to target location relative to north. Z axis pointing out of screen.
    transform.eulerAngles = new Vector3(0, 0, Mathf.MoveTowardsAngle(transform.localEulerAngles.z, Input.compass.trueHeading + brng, COMPASS_MAXDELTA));
    

如果我删除该代码中的方位角偏移,则该方位角指向足以用于数字罗盘的北方。

部分设计

确保所有角度都以弧度而不是度为单位。

Mathf.Deg2Rad在这样的情况下使用Mathf.Sin(dLon * Mathf.Deg2Rad)应产生正确的结果。Haversine公式仅适用于弧度角。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

指南针在MKMapView中的放置或定位?

来自分类Dev

Android指南针指向我的位置,而不是北

来自分类Dev

指南针USB

来自分类Dev

指南针将.css输出路径设置为与.scss相同的位置

来自分类Dev

Android中Google Map v2右上角的指南针位置

来自分类Dev

指南针角度/旋转角度,用于跟踪Javascript中X,Y位置的方向

来自分类Dev

指南针:如何获取自动生成的精灵的位置

来自分类Dev

指南针-从子画面位置获取个人编号

来自分类Dev

如何将sails.js与指南针集成?

来自分类Dev

指南针CSS框架-将Bootstrap与SASS结合使用

来自分类Dev

指南针变换混合

来自分类Dev

无法卸载指南针

来自分类Dev

确定指南针方向

来自分类Dev

DeviceOrientation指南针Android

来自分类Dev

MongoDB指南针超时

来自分类Dev

不能再用指南针了

来自分类Dev

指南针@for和迭代

来自分类Dev

指南针与WPF箭头

来自分类Dev

iOS指南针导航

来自分类Dev

指南针无法链接

来自分类Dev

Ruby中的指南针—找不到SassCompiler

来自分类Dev

Grunt需要在系统PATH中安装指南针

来自分类Dev

指南针/ SASS中缺少依赖项

来自分类Dev

从指南针的config.rb中重用钩子

来自分类Dev

在PHPStorm 7中使用指南针

来自分类Dev

在React-Native中制作指南针

来自分类Dev

在PHPStorm 7中使用指南针

来自分类Dev

指南针在Android中不起作用

来自分类Dev

Sass指南针导入不在编译的css中