首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unity中的虚拟加速度传感器

Unity中的虚拟加速度传感器
EN

Stack Overflow用户
提问于 2021-01-11 08:57:39
回答 1查看 132关注 0票数 1

我看过许多关于如何使用智能手机的加速度计作为输入来控制Unity中的对象的教程,但在Unity中可以模拟三轴加速度计吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-12 04:04:56

你可以通过除以一段时间内覆盖的距离得到物体的“加速度”(也就是速度)。在本例中,这意味着将Vector3分解为单独的xyz变量,然后计算每个变量的速度,并将它们放回Vector3中。

代码:

代码语言:javascript
复制
Vector3 lastPos;

void Start() {
  lastPos = transform.position;
}

void Update() {
  // define velocities as currentPos-lastPos(change) over time per frame, which gets velocity this frame... will be saved every frame
  float xVelocity = (transform.position.x-lastPos.x)/Time.deltaTime;
  float yVelocity = (transform.position.y-lastPos.y)/Time.deltaTime;
  float zVelocity = (transform.position.z-lastPos.z)/Time.deltaTime;
  
  // Do stuff with individual velocities(xyz)
  // ...
  // or store in Vector3
  Vector3 totalVelocity = new Vector3(xVelocity, yVelocity, zVelocity);
  // Do stuff with total velocity
  // ...

  // Set lastPos to transform.position (WARNING: Only do after you are done calculating velocity
  
  lastPos = transform.position;
}

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65660140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档