首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ARKit -如何放置一个物体而不把它附加到表面上?

ARKit -如何放置一个物体而不把它附加到表面上?
EN

Stack Overflow用户
提问于 2017-12-26 23:38:29
回答 1查看 419关注 0票数 0

使用ARKit,我可以通过点击屏幕在表面放置一个对象。是否有可能把一个物体放在“空中”呢?

例如,我想在我面前打开一个门户。因此,当我点击屏幕,我希望门户出现在这个位置,但我不希望它被连接到任何表面。

也许我必须使用手指点击的坐标和设备的轴,但是对于z轴(我和门户之间的距离),我想使用一些预定义的值,比如1米。

如何用C# (统一中的ARKit )制作它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-27 00:57:43

ScreenToWorldPoint()会做你想做的事。这个简单的例子将一个立方体放置在相机前1米。只需替换GameObject.CreatePrimitive()部分并实例化“门户”预置文件:

代码语言:javascript
复制
public class PlaceObject : MonoBehaviour {

  float objDist = 1.0f;

  void Update() {
    if (Input.touchCount == 1 && Input.GetTouch(0).phase == TouchPhase.Began ) {
      Vector3 touchPos = Input.GetTouch (0).position;
      touchPos.z = objDist;
      Vector3 objPos = Camera.main.ScreenToWorldPoint (touchPos);

      GameObject myObj = GameObject.CreatePrimitive(PrimitiveType.Cube);
      myObj.transform.position = objPos;
      myObj.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f);
    }
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47984795

复制
相关文章

相似问题

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