各位Unity开发者,
你是否还停留在使用雷达和Kinect作为互动的传感器方案?
你是否还停留在给客人制作动画视频作为互动效果?
现在不必了,你尽管大胆展开想象!
Smart模块化控制器API For Unity 现已上线,轻松应对沉浸式互动需求!
全面兼容近70款传感器,可采集人的各种动作
轻松控制电机,灯光,喷烟机等设备,给客人更丰富的沉浸式体验!
现面向开发者免费开放,还可接入C#和Java哦!
Smart模块提供的API(MCtrl)为电脑端控制硬件提供了便利的接口,
1.API 的基本使用方法可参加帖子Smart模块开放平台(API接口),或者api.yxyc.top
2.本帖子指导大家解决API接口在U3D中无法使用的问题。
1.将附件中的SmartCtrl 【留言邮箱获取】解压后整个拖入Assets文件夹(拖入即自动拷贝,你也可以手动拷贝到此目录)
2.代码中传入端口号,由于平台特性,原有自动查找功能失效,需要在代码中传入。
即 RSBusCtrl RSBusCtrl = new RSBusCtrl(“COM9”);
这里的COM口,可以在设备管理中查看,当然前提是你的“总线转换器”已经插入才能找到。
(友情提示)为了项目的部署方便,你应该使用一个配置文件或者自动程序来查找这个串口号。
解决了上述两个问题,即可正常使用了。
下面贴出一个简单的示例脚本,已经经过测试:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Diagnostics;
using MCtrl;
public class NewBehaviourScript : MonoBehaviour
{
RSBusCtrl RSBusCtrl = new RSBusCtrl("COM9"); //重点,这里要传入参数。
// Start is called before the first frame update
void Start()
{
bool rs= RSBusCtrl.Start(1);
UnityEngine.Debug.Log("start:"+ rs.ToString());
RSBusCtrl.EventInput += RSBusCtrl_EventInput;
}
private void RSBusCtrl_EventInput(int id, int portNo, bool state)
{
UnityEngine.Debug.Log(string.Format("id:{0}portNo:{1},state:{2}",id,portNo,state));
}
public void TestClick() //测试按键,点击一次实现输出口翻转的效果。
{
RSBusCtrl.OutSet(1, 1, !RSBusCtrl.GetOutputState(1, 1));
}
// Update is called once per frame
void Update()
{
}
}
原贴:https://bbs.yxyc.top/thread-217-1-1.html