AR --C# 物体旋转

1.

(1)对某个模型改变其中心点,可以通过父子关系进行更改,创建一个空物体,将该物体放入空物体中,同时将中心点更改到边缘。

(2)确定中心位置

(3)使用键盘按键实现旋转:  将改脚本添加到被旋转物体上

private Transform m_Transform;      //定义变量
// Start is called before the first frame update
void Start()
{
    m_Transform = gameObject.GetComponent<Transform>();      //实例化
}

// Update is called once per frame
void Update()
{
    if (Input.GetKeyDown(KeyCode.Z))      //旋转按键,按下旋转90度
    {
        openDoor();
    }

    if (Input.GetKeyUp(KeyCode.Z))         //旋转按键,松开旋转90度
    {
        closeDoor();
    }
    
}

public void openDoor()                     //定义函数,开门
{
    m_Transform.Rotate(Vector3.up,90);        //沿y轴方向,旋转90度
}

public void closeDoor()                   //定义函数,关门
{
    m_Transform.Rotate(Vector3.up,-90);         //沿y轴方向,向反方向旋转90度
}

2.触发器触发开关     通过GameObject.Find("door") 指定存在door脚本的物体,进行查找和关联

   (1)对物体创建box collider,同时选中 “Is Trigger”   建立触发器

   (2)调整触发器中的边距,检测是否触发

   (3)将脚本添加到该触发器物体上

private Door m_door;    //定义Door脚本的变量
// Start is called before the first frame update
void Start()
{
    m_door = GameObject.Find("door").GetComponent<Door>();    //通过名称查找到door脚本存在的物体
}

// Update is called once per frame
void Update()
{
    
}

void OnTriggerEnter(Collider other)              //触发体,若接触到触发体,执行该函数
{
    if (other.gameObject.name == "Student")       //判断接触触发体物体的名称,若为student,执行door脚本中的openDoor()
    {
        m_door.openDoor();
    }
}

void OnTriggerExit(Collider other)            //触发体,若接触到触发体,执行该函数
{
    if (other.gameObject.name == "Student")      //判断接触触发体物体的名称,若为student,执行door脚本中的closeDoor()
    {
        Debug.Log("b");
        m_door.closeDoor();
    }
}

       

 

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: aframe-ar-nft.js是一个基于WebAR技术的开源JavaScript库,它可以使开发者快速构建AR应用程序。该库主要针对基于NFT(Natrual Feature Tracking)技术的AR应用开发,NFT是一种AR技术,可以通过识别真实世界中的物体并与虚拟信息相结合来增强增强现实体验。该库与Three.js进行了整合,开发者可以使用Three.js中已有的功能和API完成AR应用程序的开发。同时,该库还支持在模型和纹理之间进行切换,可以根据需要在AR场景中加入图像、视频、3D模型等虚拟元素。 使用aframe-ar-nft.js开发AR应用程序非常方便,只需要在HTML文件中引入需要加载的模型和纹理文件,然后实例化NFTMarker类,即可开始AR应用的开发。开发者可以根据需要配置AR场景中的元素,例如相机、灯光、模型等,使用该库还可以实现手势控制和声音效果。 总的来说,aframe-ar-nft.js可以让开发者轻松地创建基于NFT技术的AR应用程序,通过与Three.js的整合,可以很容易地进行二次开发和定制。这为AR应用程序的开发提供了更加便利和高效的解决方案。 ### 回答2: aframe-ar-nft.js是一个能够让用户在webAR中使用NFT(可识别图像)来构建虚拟现实场景的javascript库。该库的主要优势是,与传统的AR技术不同,它基于NFT技术,不需要使用额外的标记或器具来触发虚拟现实效果,简单易用。aframe-ar-nft.js提供了完整的API文档,使得开发人员可以快速轻松地在自己的网站或应用中使用AR技术。它具有高的灵活性,可以应用于各种网站和应用场景,例如:游戏、虚拟演示、教育、医疗等等。该库的使用方法也非常简单,只需几行代码即可实现AR效果。总之,aframe-ar-nft.js是一款易用、灵活、高性能的javascript库,为开发人员提供了一种强大的AR开发工具。 ### 回答3: aframe-ar-nft.js是一款基于WebAR技术的扩展库,它提供了简单易用的NFT(Natural Feature Tracking,自然特征跟踪)功能,可以实现在现实场景中识别NFT图像,从而在图像上展示虚拟3D模型。 通过在A-Frame中使用aframe-ar-nft.js,用户可以很方便地创建AR体验,比如将虚拟模型置于某个位置,或者通过手势交互与用户互动,展示出身临其境的AR效果。 此外,aframe-ar-nft.js还提供了丰富的配置选项,可以针对不同的NFT图像进行自定义设置,例如调整图像的大小、定义图像的旋转方向等等,从而获得更出色的AR效果。 总的来说,aframe-ar-nft.js是一款非常实用的WebAR库,它通过简洁易用的接口和多样化的配置选项,为WebAR开发者提供了便捷、高效、灵活的开发体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

锋年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值