Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
版本:V1.1.1
2024.1.29
目录
一、 硬件部分
1. 硬件选型
1.1 前期准备
1.2 控制板选型
2. 硬件功能定义
3. 硬件部署清单
4. 硬件拓扑图
二、 插件部分
1. 插件下载
2. 插件导入
3. 插件初始化
4. 插件连接
5. 产品功能介绍
5.1 乘骑霸王龙
5.2 行走戟龙
5.3 仿真马
5.4 仿真小马、大象、鲨鱼、海豚、小霸王龙
三、 主动控制
1. Unity插件调用方式
1.1 挂载两个脚本
1.2 VRAnimalDemo脚本中初始化
1.3 方法调用
2. UE4 插件调用方式
四、 被动体验
1. 动作文件编辑
2. 内容播放
动作 | 备注 | 控制端口 | 控制函数 |
---|---|---|---|
张嘴 | 高电平有效 | A1 | pinMode(A1, OUTPUT);digitalWrite(A1, 1); |
眨眼 | 高电平有效 | A2 | pinMode(A2, OUTPUT);digitalWrite(A2, 1); |
头左右 | 高电平有效 | A3 | pinMode(A3, OUTPUT);digitalWrite(A3, 1); |
颈上下 | 高电平有效 | A4 | pinMode(A4, OUTPUT);digitalWrite(A4, 1); |
前肢 | 高电平有效 | A5 | pinMode(A5, OUTPUT);digitalWrite(A5, 1); |
身左右 | 高电平有效 | A6 | pinMode(A6, OUTPUT);digitalWrite(A6, 1); |
尾摆 | 高电平有效 | A7 | pinMode(A7, OUTPUT);digitalWrite(A7, 1); |
身体上下 | 0-5V模拟信号,调速 | D9 | pinMode(D9, OUTPUT);analogWrite(D9, 0~255); |
动作 | 备注 | 控制端口 | 控制函数 |
---|---|---|---|
张嘴 | 高电平有效 | A1 | pinMode(A1, OUTPUT);digitalWrite(A1, 1); |
眨眼 | 高电平有效 | A2 | pinMode(A2, OUTPUT);digitalWrite(A2, 1); |
头左右 | 高电平有效 | A3 | pinMode(A3, OUTPUT);digitalWrite(A3, 1); |
颈上下 | 高电平有效 | A4 | pinMode(A4, OUTPUT);digitalWrite(A4, 1); |
向左 | 高电平有效 | A5 | pinMode(A5, OUTPUT);digitalWrite(A5, 1); |
向右 | 高电平有效 | A7 | pinMode(A7, OUTPUT);digitalWrite(A7, 1); |
尾摆 | 高电平有效 | A8 | pinMode(A8, OUTPUT);digitalWrite(A8, 1); |
前进 | 0-5V模拟信号,调速 | D9 | pinMode(D9, OUTPUT);analogWrite(D9, 0~255); |
动作 | 备注 | 控制端口 | 控制函数 |
---|---|---|---|
张嘴 | 高电平有效 | A1 | pinMode(A1, OUTPUT);digitalWrite(A1, 1); |
眨眼 | 高电平有效 | A2 | pinMode(A2, OUTPUT);digitalWrite(A2, 1); |
颈上下 | 高电平有效 | A4 | pinMode(A4, OUTPUT);digitalWrite(A4, 1); |
腿 | 高电平有效 | A5 | pinMode(A5, OUTPUT);digitalWrite(A5, 1); |
尾摆 | 高电平有效 | A7 | pinMode(A7, OUTPUT);digitalWrite(A7, 1); |
底座摇摆 | 0-5V模拟信号,调速 | D9 | pinMode(D9, OUTPUT);analogWrite(D9, 0~255); |
动作 | 备注 | 控制端口 | 控制函数 |
---|---|---|---|
底座摇摆 | 0-5V模拟信号,调速 | D5/D9 | pinMode(D5, OUTPUT);analogWrite(D5, 0~255); |
动作 | 备注 | 控制端口 | 控制函数 |
---|---|---|---|
张嘴 | 高电平有效 | A0 | pinMode(A0,OUTPUT);digitalWrite(A0,1); |
眨眼 | 高电平有效 | A1 | pinMode(A1,OUTPUT);digitalWrite(A1,1); |
头左右 | 高电平有效 | A2 | pinMode(A2,OUTPUT);digitalWrite(A2,1); |
尾摆 | 高电平有效 | A3 | pinMode(A3,OUTPUT);digitalWrite(A3,1); |
底座摇摆 | 0-5V模拟信号,调速 | D9 | pinMode(9, OUTPUT);analogWrite(9, 0~255); |
动作 | 备注 | 控制端口 | 控制函数 |
---|---|---|---|
张嘴 | 高电平有效 | A0 | pinMode(A0,OUTPUT);digitalWrite(A0,1); |
眨眼 | 高电平有效 | A1 | pinMode(A1,OUTPUT);digitalWrite(A1,1); |
头左右 | 高电平有效 | A2 | pinMode(A2,OUTPUT);digitalWrite(A2,1); |
颈上下 | 高电平有效 | A3 | pinMode(A3,OUTPUT);digitalWrite(A3,1); |
身左右 | 高电平有效 | A5 | pinMode(A4,OUTPUT);digitalWrite(A4,1); |
鼻子 | 高电平有效 | D2 | pinMode(D2,OUTPUT);digitalWrite(D2,1); |
身上下 | 0-5V模拟信号,调速 | D9 | pinMode(D9, OUTPUT);analogWrite(D9, 0~255); |
控制器,对应外设,路由器,移动终端
电源调速器接线方式:
电源调速器0-5V ———— 主控板输出引脚
电源调速器右端0V ———— 主控板GND
电源调速器“电枢”位置 ———— 电机
电源调速器“电源”位置 ———— 外接电源
下载并导入 WFramework
2.1 在 WFramework 中下载插件,插件名称为:VRAnimalControl
(当前版本为V1.1.1)
2.2 插件导入后
1、设置External Tools
2、将VRAnimalControl文件夹中的Plugins,移动到Assert文件夹中
3、配置unity设置
android.useAndroidX=true
android.enableJetifier=true
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.google.android.material:material:1.5.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
void Init(string IP);
void Connect();
用户可乘坐于霸王龙模型上,体验霸王龙摇头、摇尾巴、晃动身体以及模拟加速减速行走等功能。
用户可乘坐于戟龙模型上前进,根据用户的不同指令,还能控制戟龙前进速度和戟龙点头、摇头等动作。
void Init(string IP);
设置相应的高低电平 (ELevel.HIGH、ELevel.LOW) 或设置速度值 (0 - 1)
(在设置速度时应缓慢增长,不要首次直接设置过高)
/// <summary>
/// 声音
/// </summary>
/// <param name="level">0为低电平,1为高电平</param>
void Voice(ELevel value);
/// <summary>
/// 张嘴
/// </summary>
/// <param name="level">0为低电平,1为高电平</param>
void Mouse(ELevel value);
/// <summary>
/// 眨眼
/// </summary>
/// <param name="level">0为低电平,1为高电平</param>
void Blink(ELevel value);
/// <summary>
/// 头左右
/// </summary>
/// <param name="level">0为低电平,1为高电平</param>
void Head(ELevel value);
/// <summary>
/// 颈上下
/// </summary>
/// <param name="level">0为低电平,1为高电平</param>
void Neck(ELevel value);
/// <summary>
/// 前肢
/// </summary>
/// <param name="level">0为低电平,1为高电平</param>
void Arm(ELevel value);
/// <summary>
/// 腿
/// </summary>
/// <param name="level">0为低电平,1为高电平</param>
void Leg(ELevel value);
/// <summary>
/// 身左右
/// </summary>
/// <param name="level">0为低电平,1为高电平</param>
void Body(ELevel value);
/// <summary>
/// 尾摆
/// </summary>
/// <param name="level">0为低电平,1为高电平</param>
void Tail(ELevel value);
/// <summary>
/// 弃用:正反切(霸王龙)
/// </summary>
/// <param name="level">0正转,1反转</param>
void Inverse(ELevel value);
/// <summary>
/// 左转
/// </summary>
/// <param name="level">0为低电平,1为高电平</param>
void TurnLeft(ELevel value);
/// <summary>
/// 右转
/// </summary>
/// <param name="level">0为低电平,1为高电平</param>
void TurnRight(ELevel value);
/// <summary>
/// 自控/模拟信号调速的变化值
/// </summary>
/// <param name="value">0 - 1</param>
void SetGovernor(float value);
/// <summary>
/// 全部停止
/// </summary>
void StopAll();
/// <summary>
/// 允许发送,设为false暂停向控制器发送OSC,控制器几秒未接收到数据会停止驱动动物
/// </summary>
void AllowSend(bool allow);
/// <summary>
/// 返回当前连接状态
/// </summary>
EConnectionState ConnectionState { get; }
/// <summary>
/// 连接蓝牙
/// </summary>
void Connect();
/// <summary>
/// 连接状态改变时调用
/// </summary>
event Action<EConnectionState> _StateChange;
public enum EAction : int
{
/// <summary>
/// 声音:保留位,当前无对应动作
/// </summary>
Voice = 0,
/// <summary>
/// 张嘴
/// </summary>
Mouse,
/// <summary>
/// 眨眼
/// </summary>
Blink,
/// <summary>
/// 头左右
/// </summary>
Head,
/// <summary>
/// 颈上下
/// </summary>
Neck,
/// <summary>
/// 前肢
/// </summary>
Arm = 5,
/// <summary>
/// 左转
/// </summary>
TurnLeft = 5,
/// <summary>
/// 腿
/// </summary>
Leg = 5,
/// <summary>
/// 身左右
/// </summary>
Body = 6,
/// <summary>
/// 右转
/// </summary>
TurnRight = 6,
/// <summary>
/// 尾摆
/// </summary>
Tail,
/// <summary>
/// 底座摇摆,自控
/// </summary>
BaseSwing = 8,
/// <summary>
/// 调速:保留位,当前无对应动作
/// </summary>
Governor,
}