获取物体的位置,最多精确到小数点后 3 位

2024-04-02

我通过单击鼠标来实例化一个对象。我需要将变换位置 x 和 y 保留到小数点后 3 位。这是我的代码。

void OnMouseDown()
    {
        ray=Camera.main.ScreenPointToRay(Input.mousePosition);

        if(Physics.Raycast(ray,out hit))
        {

            if(Input.GetKey(KeyCode.Mouse0))
            {
                GameObject obj=Instantiate(prefab,new Vector3(hit.point.x,hit.point.y,hit.point.z), Quaternion.identity) as GameObject;
                OrbsList.Add(new Vector3(obj.transform.position.x,obj.transform.position.y,0));
            }

        }
    }

现在,如果一个 obj 在位置 (4.53325, 3.03369, 0) 处实例化,它将被保存为 (4.5,3.0,0)。我想将其位置保存为 (4.53325, 3.03369, 0)。请帮忙谢谢。


作为记录,Debug.Log烦人的是只打印一位小数。

Do this

Vector3 pos = obj.transform.position;
Debug.Log("pos x is now " + pos.x.ToString("f3"));
Debug.Log("pos y is now " + pos.y.ToString("f3"));
Debug.Log("pos z is now " + pos.z.ToString("f3"));

但请注意!

有个好消息:Unity 明智地向 Vector3 添加了“ToString”。所以,你可以这样做:

Vector3 pos = obj.transform.position;
Debug.Log("pos is now " + pos.ToString("f3"));

幸运的是,事情就是这么简单。


对于任何读过这篇文章的新程序员来说,这是一个学习的好机会扩展. 快速扩展教程 https://stackoverflow.com/a/35629303/294884.

public static class Handy
   {
   public static float Say(this GameObject go)
      {
      Debug.Log(go.name + ", position is ... "
             + go.transform.position.ToString("f3");
      }

所以现在你可以这样做...

 obj.Say();

...您项目中的任何位置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取物体的位置,最多精确到小数点后 3 位 的相关文章

随机推荐

  • 当我尝试使用 Facebook 或 Google 登录时,GetExternalLoginInfoAsync 始终返回 null

    我有一个问题OWIN验证 我总是收到空值GetExternalLoginInfoAsync 当我尝试使用 Facebook 或 Google 登录时 但是有一些神秘的情况 当我打开 Fiddler 时 我使用这种方法得到了正确的数据 我不明
  • 在代码中设置静态资源

    我的作品里有几种风格App xaml file
  • 如何对 pandas 数据框中的一组行执行函数?

    我正在尝试实施一个算法 https github com sebleier RDP 假设该算法作为函数 xyz 执行 该函数专门设计用于对轨迹数据 即 x y 坐标 进行操作 该函数有两个参数 第一个参数是list of tuples x
  • Bootstrap 3.0 少于 12 列的网格

    我正在尝试使用只有 7 列的网格创建一个日历 我想让这 7 列均匀分布并适合整行 目前 7 列加起来不等于 12 我得到 12 列 其中 5 列为空 Bootstrap 3 有没有办法让所有 7 分布在一行中 您最好的选择可能是创建您自己的
  • 为什么基于 Glass/GDK 的 VoiceListener 在 XE16 中只能捕获一次 VoiceCommand?

    在寻找一种使用 Google GDK 实现上下文语音命令的方法时 我遇到了这个post https stackoverflow com questions 21168267 然而 示例代码似乎仅适用于 XE12 不适用于 XE16 我最近测
  • 使用一对多关系在 Django 中创建 2 种不同的用户类型

    我正在创建一个篮球统计应用程序 我希望有两种不同的用户类型 教练和球员 我希望教练能够登录并仅查看他的球员的统计数据 因此 一名教练将拥有多名球员 我希望能够为每个教练创建用户个人资料 并仅显示他们的球员 而不是数据库中的所有球员 到目前为
  • 谷歌地图数据层,点击多边形并更改不透明度(Chrome Bug)

    我有一个谷歌地图 我使用 addGeoJson 将几何数据 加载到数据层 一切正常 直到我尝试在多边形上绑定事件以更改 opactiy 设置 我从OSM检索城市边界来绘制多边形 我认为我的json对象格式很好 我以Google作为参考 ht
  • TypeScript 编译中缺少 in-memory-data.service.ts

    浏览 Angular 教程 了解如何在中使用 http 请求https angular io tutorial toh pt6 https angular io tutorial toh pt6 我到了这一点 使用以下命令生成类 src a
  • Sublime Doctype HTML 片段

    有没有办法可以将下面的 作为片段插入 我尝试使用 首选项 gt 键绑定 用户 但引号确实很重要 您可以通过创建一个新的代码片段Tools gt New Snippet
  • onSharedPreferenceChanged 不会一直触发

    我对这个方法有一个奇怪的问题 当我编辑 EditTextPreference 时 仅当我更改值时才调用它 而在 MultiSelectListPreference 上 仅当我第一次更改时才调用它 这是我的片段代码 public class
  • Excel 解算器具有非相邻单元格约束?

    我是 Excel 求解器的新手 只是在拿起一本数据科学书籍后才了解它 我想更熟悉这个工具 所以我一直在尝试解决不同的问题 但我被困在一个问题上 我什至不确定是否可以使用求解器 基本上 我需要检查的约束是两个单元格是否相邻 我的问题 我有一堆
  • 在 Excel 中计算唯一值

    我需要在 Excel 中计算范围 C2 C2080 中的唯一值 谷歌搜索公式 SUM IF FREQUENCY MATCH C2 C2080 C2 C2080 0 MATCH C2 C280 C2 C2080 0 gt 0 1 返回不正确的
  • 使用多层 - KineticJS

    我正在使用 KineticJS 4 0 5 目前正在尝试绘制几个图层的内容 但只绘制了添加到舞台的最后一个图层 如果我正确理解了文档 这应该是可能的 否则我们为什么需要一层 我有三个不同的层 仅包含 Kinetic Rect 对象的背景层
  • MPANDROIDCHART:如何使用 .setViewPortOffsets(0,0,0,0) 绘制 X 标签

    当我的图表已将 setViewPortOffsets 设置为 0 0 0 0 时 我在绘制 X 标签时遇到问题 我知道 setViewPortOffsets 的作用 但我不知道如何设置它以仅使左右边距消失边 有人能帮助我吗 PS 抱歉我的英
  • 逐行修改csv文件

    我有一个大文件 我想修改其中的每一行 我想使用 PHP 快速完成 我的文件是 CSV 文件 20010103 02 00 00 0 9496 20010103 03 00 00 0 9504 20010103 04 00 00 0 9499
  • 有没有办法观察 UIViewPropertyAnimator 中fractionComplete的变化

    我一直在看非常酷的新作品UIViewPropertyAnimatoriOS 10 中的类 它可以让你easily执行诸如暂停 恢复和反转飞行中 UIView 动画之类的操作 过去 您必须操作系统创建的底层 CAAnimations 才能对
  • Android BroadcastReceiver还是简单的回调方法?

    在我的项目中我正在使用BroadcastReceiver作为来自长时间运行的线程的回调 例如 通知活动下载已完成并从 Worker 发送一些响应数据Thread以便活动可以向用户显示适当的消息 使用BroadcastReceiver每次使用
  • :: C++ 中模板函数调用前面的范围解析运算符

    我被模板和范围解析运算符困住了 我在文件中找到了这些行 我无法弄清楚为什么我们在模板函数调用前面使用 据我所知 当引用全局变量时 我们只能在变量前面使用 任何想法都会有帮助 define CREATE AND DECODE TYPE Typ
  • 如何用绝对路径 URL 替换相对路径 URL

    我将 HTML 内容存储在数据库中 并且希望将所有相对资源引用转换为使用绝对路径 例如 我的所有图像标签看起来都是这样的 img src 我正在尝试前置 http example com to the system images 小路 我有
  • 获取物体的位置,最多精确到小数点后 3 位

    我通过单击鼠标来实例化一个对象 我需要将变换位置 x 和 y 保留到小数点后 3 位 这是我的代码 void OnMouseDown ray Camera main ScreenPointToRay Input mousePosition