mirror of
https://github.com/xiaopeng12138/MaiDXR.git
synced 2024-11-24 03:50:10 +01:00
Add Serial2 (only for startup) and add local motion
This commit is contained in:
parent
5dda598b68
commit
bed585bd2f
@ -216,6 +216,49 @@ Transform:
|
||||
m_Father: {fileID: 747929426}
|
||||
m_RootOrder: 3
|
||||
m_LocalEulerAnglesHint: {x: 90, y: 0, z: 0}
|
||||
--- !u!1 &27972387
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 27972389}
|
||||
- component: {fileID: 27972388}
|
||||
m_Layer: 0
|
||||
m_Name: Serial2
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!114 &27972388
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 27972387}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: cf2aeed8b8c7c854d8c634497ae5d6bc, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!4 &27972389
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 27972387}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 8
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &141732345
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -1245,27 +1288,27 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1018638153358675470, guid: ea6463ca199d52046962b69f2ab654ef, type: 3}
|
||||
propertyPath: m_LocalScale.x
|
||||
value: 31
|
||||
value: 32
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1018638153358675470, guid: ea6463ca199d52046962b69f2ab654ef, type: 3}
|
||||
propertyPath: m_LocalScale.y
|
||||
value: 31
|
||||
value: 32
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1018638153358675470, guid: ea6463ca199d52046962b69f2ab654ef, type: 3}
|
||||
propertyPath: m_LocalScale.z
|
||||
value: 30.5
|
||||
value: 32
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1018638153358675470, guid: ea6463ca199d52046962b69f2ab654ef, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: -0
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1018638153358675470, guid: ea6463ca199d52046962b69f2ab654ef, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 1.163
|
||||
value: 1.1709
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1018638153358675470, guid: ea6463ca199d52046962b69f2ab654ef, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 0.019
|
||||
value: 0.0167
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 1121748732791834861, guid: ea6463ca199d52046962b69f2ab654ef, type: 3}
|
||||
propertyPath: m_Enabled
|
||||
@ -3300,6 +3343,10 @@ GameObject:
|
||||
m_Component:
|
||||
- component: {fileID: 1647048264}
|
||||
- component: {fileID: 1647048263}
|
||||
- component: {fileID: 1647048267}
|
||||
- component: {fileID: 1647048266}
|
||||
- component: {fileID: 1647048265}
|
||||
- component: {fileID: 1647048268}
|
||||
m_Layer: 0
|
||||
m_Name: XR Origin
|
||||
m_TagString: Untagged
|
||||
@ -3322,7 +3369,7 @@ MonoBehaviour:
|
||||
m_Camera: {fileID: 371544751}
|
||||
m_OriginBaseGameObject: {fileID: 1647048262}
|
||||
m_CameraFloorOffsetObject: {fileID: 281366679}
|
||||
m_RequestedTrackingOriginMode: 0
|
||||
m_RequestedTrackingOriginMode: 2
|
||||
m_CameraYOffset: 1.7
|
||||
--- !u!4 &1647048264
|
||||
Transform:
|
||||
@ -3332,15 +3379,83 @@ Transform:
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1647048262}
|
||||
m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068}
|
||||
m_LocalPosition: {x: -0.58, y: 0, z: -0}
|
||||
m_LocalPosition: {x: -0.5, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 281366680}
|
||||
- {fileID: 141732346}
|
||||
- {fileID: 367081678}
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 0
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0}
|
||||
--- !u!114 &1647048265
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1647048262}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 1ac6916bc3db4214dbe74106e4ad724b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_System: {fileID: 1647048267}
|
||||
m_TurnSpeed: 30
|
||||
m_InputBinding: 0
|
||||
m_Controllers:
|
||||
- {fileID: 141732347}
|
||||
m_DeadzoneMin: 0.125
|
||||
m_DeadzoneMax: 0.925
|
||||
--- !u!114 &1647048266
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1647048262}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 5aca1fc346609b54dbb0adba4664854b, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_System: {fileID: 1647048267}
|
||||
m_MoveSpeed: 0.5
|
||||
m_EnableStrafe: 1
|
||||
m_UseGravity: 1
|
||||
m_GravityApplicationMode: 0
|
||||
m_ForwardSource: {fileID: 0}
|
||||
m_InputBinding: 0
|
||||
m_Controllers:
|
||||
- {fileID: 367081679}
|
||||
m_DeadzoneMin: 0.125
|
||||
m_DeadzoneMax: 0.925
|
||||
--- !u!114 &1647048267
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1647048262}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 03a5df2202a8b96488c744be3bd0c33e, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Timeout: 10
|
||||
m_XROrigin: {fileID: 1647048263}
|
||||
--- !u!114 &1647048268
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1647048262}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: ba164c8c2f2472547a03f77a0ad5aeed, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
--- !u!1 &1900118868
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -3382,7 +3497,7 @@ Transform:
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_RootOrder: 1
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &2000481166 stripped
|
||||
GameObject:
|
||||
|
@ -9,8 +9,6 @@ public class Serial : MonoBehaviour
|
||||
byte[] incomPacket = new byte[6];
|
||||
byte[] settingPacket = new byte[6];
|
||||
static byte[] touchPacket = new byte[9];
|
||||
static byte[] touchPacketReset = new byte[9];
|
||||
|
||||
static bool startUp = true; //use ture for default start up state to prevent restart game
|
||||
float timer = 0;
|
||||
bool failed = false;
|
||||
@ -18,31 +16,25 @@ public class Serial : MonoBehaviour
|
||||
|
||||
void Start()
|
||||
{
|
||||
SerialStartUp();
|
||||
settingPacket[0] = 40;
|
||||
settingPacket[5] = 41;
|
||||
touchPacket[0] = 40;
|
||||
touchPacket[8] = 41;
|
||||
p1Serial.Open();
|
||||
Debug.Log("Serial Started");
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
ReadPack();
|
||||
if (!failed)
|
||||
TouchSetUp();
|
||||
//SendTouch();
|
||||
TouchSetUp();
|
||||
}
|
||||
|
||||
void FixedUpdate()
|
||||
{
|
||||
SendTouch();
|
||||
}
|
||||
private void SerialStartUp()
|
||||
{
|
||||
settingPacket[0] = 40;
|
||||
settingPacket[5] = 41;
|
||||
touchPacket[0] = 40;
|
||||
touchPacket[8] = 41;
|
||||
touchPacketReset[0] = 40;
|
||||
touchPacketReset[8] = 41;
|
||||
p1Serial.Open();
|
||||
Debug.Log("Serial Started");
|
||||
}
|
||||
|
||||
private void TouchSetUp()
|
||||
{
|
||||
|
89
Assets/Scripts/Serial2.cs
Normal file
89
Assets/Scripts/Serial2.cs
Normal file
@ -0,0 +1,89 @@
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
using System.IO.Ports;
|
||||
using System;
|
||||
public class Serial2 : MonoBehaviour
|
||||
{
|
||||
static SerialPort p1Serial = new SerialPort ("COM6", 9600);
|
||||
int packleng = 0;
|
||||
byte[] incomPacket = new byte[6];
|
||||
byte[] settingPacket = new byte[6];
|
||||
static byte[] touchPacket = new byte[9];
|
||||
static bool startUp = true; //use ture for default start up state to prevent restart game
|
||||
float timer = 0;
|
||||
bool failed = false;
|
||||
byte recivData;
|
||||
void Start()
|
||||
{
|
||||
settingPacket[0] = 40;
|
||||
settingPacket[5] = 41;
|
||||
touchPacket[0] = 40;
|
||||
touchPacket[8] = 41;
|
||||
p1Serial.Open();
|
||||
Debug.Log("Serial2 Started");
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
ReadPack();
|
||||
if (!failed)
|
||||
TouchSetUp();
|
||||
}
|
||||
void FixedUpdate()
|
||||
{
|
||||
//SendTouch(); //Not send touch to p2 port
|
||||
}
|
||||
|
||||
private void TouchSetUp()
|
||||
{
|
||||
switch (incomPacket[3])
|
||||
{
|
||||
case 76:
|
||||
case 69:
|
||||
startUp = false;
|
||||
break;
|
||||
case 114:
|
||||
case 107:
|
||||
for (int i=1; i<5; i++)
|
||||
settingPacket[i] = incomPacket[i];
|
||||
p1Serial.Write(settingPacket, 0, settingPacket.Length);
|
||||
Array.Clear(incomPacket, 0, incomPacket.Length);
|
||||
break;
|
||||
case 65:
|
||||
startUp = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void ReadPack()
|
||||
{
|
||||
timer = 0f;
|
||||
if (p1Serial.BytesToRead == 6)
|
||||
{
|
||||
packleng = 0;
|
||||
while (packleng < 6)
|
||||
{
|
||||
recivData = Convert.ToByte(p1Serial.ReadByte());
|
||||
if (recivData == 123)
|
||||
{
|
||||
packleng = 0;
|
||||
}
|
||||
incomPacket[packleng++] = recivData;
|
||||
if(timer > 20f){ failed = true; break; }
|
||||
timer += Time.deltaTime;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void SendTouch()
|
||||
{
|
||||
if (startUp)
|
||||
p1Serial.Write(touchPacket, 0, 9);
|
||||
}
|
||||
|
||||
static void ChangeTouch(int Area, bool State)
|
||||
{
|
||||
if (startUp)
|
||||
ByteArrayExt.SetBit(touchPacket, Area+8, State);
|
||||
}
|
||||
}
|
24
Assets/Scripts/ToggleMove.cs
Normal file
24
Assets/Scripts/ToggleMove.cs
Normal file
@ -0,0 +1,24 @@
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using UnityEngine;
|
||||
using UnityEngine.XR.Interaction.Toolkit;
|
||||
|
||||
public class ToggleMove : MonoBehaviour
|
||||
{
|
||||
void Update()
|
||||
{
|
||||
if (Input.GetKeyDown(KeyCode.M))
|
||||
{
|
||||
if (GetComponent<ContinuousMoveProviderBase>().enabled)
|
||||
{
|
||||
GetComponent<ContinuousMoveProviderBase>().enabled = false;
|
||||
GetComponent<ContinuousTurnProviderBase>().enabled = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
GetComponent<ContinuousMoveProviderBase>().enabled = true;
|
||||
GetComponent<ContinuousTurnProviderBase>().enabled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user