updated walk and controller input to joystick

This commit is contained in:
2022-12-04 23:11:05 +01:00
parent 40e71c5ce4
commit be04329d65
25 changed files with 677 additions and 941 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
+3 -5
View File
@@ -1,6 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Foot : Component
@@ -19,7 +17,9 @@ public class Foot : Component
// Inverse Kinemetics Region
double l3, s;
double l1=10, l2=15;
public double l1=10; // top leg length
public double l2=15; // bottom leg length
static float knie_offset = 5.5f; // distancce from horziontal servo to knee servo.
public double X, Y, Z;
public double rotationX=0, rotationY=0, rotationZ=0;
@@ -28,8 +28,6 @@ public class Foot : Component
public Vector3 transformation = new Vector3(0, 0, 0);
public Vector3 transformation2 = new Vector3(0, 0, 0);
static float knie_offset = 5.5f;
void RL3()
{
if ((X == 0) && (Z == 0))
+10
View File
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 5f676c461da1c254990d7719d77e6250
folderAsset: yes
timeCreated: 1641405303
licenseType: Free
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+72
View File
@@ -0,0 +1,72 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine;
namespace Assets.JoyStick
{
class HandleHoystick : MonoBehaviour
{
public RotationControl bot;
public Walk walk;
public void Update()
{
float a2 = Remap(Input.GetAxis("1"), 1, -127, -1, 127);
float a1 = Remap(Input.GetAxis("2"), 1, -127, -1, 127);
float a3 = Remap(Input.GetAxis("3"), -1, -127, 1, 127);
float b2 = Remap(Input.GetAxis("4"), -1, -127, 1, 127);
float b3 = Remap(Input.GetAxis("5"), -1, -127, 1, 127);
float b1 = Remap(Input.GetAxis("6"), -1, -127, 1, 127);
//Debug.Log(Input.GetAxis("4"));
//Debug.Log(Remap(Input.GetAxis("4"), -1, -127, 1, 127));
bot.rotation = new Quaternion(limit(a2, -20, 20), -1 * limit(a3, -20, 20), -1 * limit(a1, -20, 20),
1);
float speed = (float)(Math.Sqrt(b1 * b1 + b2 * b2) / 127) * 3;
walk.walkspeed = speed < 0.5f ? 0 : speed;
float rotation = -1 * limit(b3 / 4, -5, 5);
walk.centerRotation = rotation < 0.5f && rotation > -0.5f ? 0 : rotation;
walk.walkDirection = (-1 * ConvertRadiansToDegrees((float)Math.Atan2(b2, b1)));
float rotationabs = Math.Abs(walk.centerRotation);
float speed2 = ((6 / 3) * walk.walkspeed) + ((6 / 5) * rotationabs);
speed2 = speed2 < 6 ? speed2 : 6;
walk.speed2 = (int)(10 - speed2);
}
public float limit(float input, float min, float max)
{
input = input / 6;
return (input < max & input > min) ? input : input < min ? min : max;
}
public float ConvertRadiansToDegrees(float radians)
{
float degrees = (float)((180 / Math.PI) * radians);
return (degrees);
}
public float Remap(float from, float fromMin, float toMin, float fromMax, float toMax)
{
var fromAbs = from - fromMin;
var fromMaxAbs = fromMax - fromMin;
var normal = fromAbs / fromMaxAbs;
var toMaxAbs = toMax - toMin;
var toAbs = toMaxAbs * normal;
var to = toAbs + toMin;
return to;
}
}
}
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: a4266f2a53eea3a43972b07e077212bc
timeCreated: 1542307321
guid: c5ce8a2605d301e44a4a210aa345ed62
timeCreated: 1641405303
licenseType: Free
MonoImporter:
externalObjects: {}
+29 -19
View File
@@ -1,12 +1,11 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine;
public class Leg : MonoBehaviour {
public Transform Hip1;
public Transform Hip2;
public Transform Knie;
// rotation angles for different servos
public double a1 = 0;
public double a2 = 0;
public double a3 = 0;
@@ -14,11 +13,12 @@ public class Leg : MonoBehaviour {
public Vector3 point = new Vector3(10, 10, 0);
public Quaternion rotation = new Quaternion(0, 0, 0, 0);
public Vector3 transformation = new Vector3(0, 0, 0);
public Vector3 transformation2 = new Vector3(0, 0, 0);
public Vector3 transformationBeforeRotation = new Vector3(0, 0, 0);
public Vector3 transformationAfterRotation = new Vector3(0, 0, 0);
public bool invert = false;
public bool invertForLeftLeg = false;
// translation to change origin to middle of body
public double translateX = 0;
public double translateY = 0;
public double translateZ = 0;
@@ -51,16 +51,16 @@ public class Leg : MonoBehaviour {
foot.translateZ = translateZ;
// transform before rotation.
foot.transformation = transformation;
foot.transformation = transformationBeforeRotation;
// transform after rotation.
foot.transformation2 = transformation2;
foot.transformation2 = transformationAfterRotation;
foot.invert = invert;
foot.invert = invertForLeftLeg;
foot.setleg();
if (!invert)
if (!invertForLeftLeg)
{
a1 = foot.O1 - 90;
a2 = 90 - foot.O2;
@@ -73,23 +73,33 @@ public class Leg : MonoBehaviour {
a3 = foot.O3 - 90;
}
if (!invert && startServo != -1)
if (!invertForLeftLeg && startServo != -1)
{
// Serial.Instance.send(startServo,
// (int)Remap((float)a1, -90, 90, 2500, 500),
// (int)Remap((float)a2, -90, 90, 2500, 500), // 0 is middel
// (int)Remap((float)a3, 90, -90, 2500, 500)); // 0 is middel
if(false)
Serial.Instance.send(startServo,
(int)Remap((float)a1, -90, 90, 2500, 500),
(int)Remap((float)a2, -90, 90, 2500, 500), // 0 is middel
(int)Remap((float)a3, 90, -90, 2500, 500)); // 0 is middel
(int)Remap((float)a1, -90, 90, 0, 180),
(int)Remap((float)a2, 90, -90, 0, 180), // 0 is middel
(int)Remap((float)a3, -90, 90, 0, 180)); // 0 is middel
}
else if (invert && startServo != -1)
else if (invertForLeftLeg && startServo != -1)
{
double a1 = foot.O1 - 90;
double a2 = 90 - foot.O2;
double a3 = foot.O3 - 90;
Serial.Instance.send(startServo,
(int)Remap((float)a1, -90, 90, 500, 2500),
(int)Remap((float)a2, -90, 90, 500, 2500), // 0 is middel
(int)Remap((float)a3, 90, -90, 500, 2500)); // 0 is middel
// Serial.Instance.send(startServo,
// (int)Remap((float)a1, -90, 90, 500, 2500),
// (int)Remap((float)a2, -90, 90, 500, 2500), // 0 is middel
// (int)Remap((float)a3, 90, -90, 500, 2500)); // 0 is middel
if (false)
Serial.Instance.send(startServo,
(int)Remap((float)a1, 90, -90, 0, 180),
(int)Remap((float)a2, -90, 90, 0, 180), // 0 is middel
(int)Remap((float)a3, 90, -90, 0, 180)); // 0 is middel
}
Hip1.transform.localRotation = Quaternion.Euler(0, (float)a1, 0);
+75 -77
View File
@@ -10529,7 +10529,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!4 &73925799
Transform:
m_ObjectHideFlags: 0
@@ -10541,7 +10541,7 @@ Transform:
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 5
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &73925800
MonoBehaviour:
@@ -10549,7 +10549,7 @@ MonoBehaviour:
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 73925798}
m_Enabled: 1
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7fa025fa8dcb3a249b67fc0e2fe67b44, type: 3}
m_Name:
@@ -10563,6 +10563,7 @@ MonoBehaviour:
b2: 0
b3: 0
enabled: 0
enabled_send: 0
--- !u!1 &74230589
GameObject:
m_ObjectHideFlags: 0
@@ -14153,7 +14154,7 @@ Transform:
- {fileID: 379804153}
- {fileID: 1946365704}
m_Father: {fileID: 0}
m_RootOrder: 3
m_RootOrder: 5
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &95074500
GameObject:
@@ -34470,14 +34471,14 @@ MonoBehaviour:
a3: 0
point: {x: 5, y: -15, z: -13}
rotation: {x: 0, y: 0, z: 0, w: 0}
transformation: {x: 0, y: 0, z: 0}
transformation2: {x: 0, y: 0, z: 0}
invert: 1
transformationBeforeRotation: {x: 0, y: 0, z: 0}
transformationAfterRotation: {x: 0, y: 0, z: 0}
invertForLeftLeg: 1
translateX: 5
translateY: 0
translateZ: -5
pointShouldBe: {fileID: 32992308}
startServo: 22
startServo: 9
--- !u!1 &211071650
GameObject:
m_ObjectHideFlags: 0
@@ -48754,8 +48755,6 @@ GameObject:
m_Component:
- component: {fileID: 311513961}
- component: {fileID: 311513962}
- component: {fileID: 311513963}
- component: {fileID: 311513964}
- component: {fileID: 311513965}
m_Layer: 0
m_Name: RotationControl
@@ -48771,7 +48770,7 @@ Transform:
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 311513960}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalPosition: {x: 0, y: 27.58, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
@@ -48800,49 +48799,6 @@ MonoBehaviour:
- {fileID: 210611261}
body: {fileID: 2129559090}
body2: {fileID: 1971572977}
--- !u!114 &311513963
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 311513960}
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 62866dc69f17c5f40a7ec527e34e82f1, type: 3}
m_Name:
m_EditorClassIdentifier:
legs:
- {fileID: 636309705}
- {fileID: 596626244}
- {fileID: 1619174560}
- {fileID: 1453644144}
- {fileID: 1772413224}
- {fileID: 210611261}
st: 5
speed2: 1
rotation: 0
walkspeed: 1.5
--- !u!114 &311513964
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 311513960}
m_Enabled: 0
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 91e6f3895f276d94da1803128e6290e0, type: 3}
m_Name:
m_EditorClassIdentifier:
legs:
- {fileID: 636309705}
- {fileID: 596626244}
- {fileID: 1619174560}
- {fileID: 1453644144}
- {fileID: 1772413224}
- {fileID: 210611261}
st: 5
speed2: 1
rotation: 5
--- !u!114 &311513965
MonoBehaviour:
m_ObjectHideFlags: 0
@@ -48865,7 +48821,7 @@ MonoBehaviour:
speed2: 10
walkDirection: 0
centerRotation: 0
walkspeed: 3
walkspeed: 0
--- !u!1 &311874317
GameObject:
m_ObjectHideFlags: 0
@@ -92991,9 +92947,9 @@ MonoBehaviour:
a3: 0
point: {x: 0, y: -15, z: 13}
rotation: {x: 0, y: 0, z: 0, w: 0}
transformation: {x: 0, y: 0, z: 0}
transformation2: {x: 0, y: 0, z: 0}
invert: 0
transformationBeforeRotation: {x: 0, y: 0, z: 0}
transformationAfterRotation: {x: 0, y: 0, z: 0}
invertForLeftLeg: 0
translateX: 0
translateY: 0
translateZ: 6.5
@@ -99514,14 +99470,14 @@ MonoBehaviour:
a3: 0
point: {x: -5, y: -15, z: 13}
rotation: {x: 0, y: 0, z: 0, w: 0}
transformation: {x: 0, y: 0, z: 0}
transformation2: {x: 0, y: 0, z: 0}
invert: 0
transformationBeforeRotation: {x: 0, y: 0, z: 0}
transformationAfterRotation: {x: 0, y: 0, z: 0}
invertForLeftLeg: 0
translateX: -5
translateY: 0
translateZ: 5
pointShouldBe: {fileID: 2018746516}
startServo: 0
startServo: 6
--- !u!1 &636734778
GameObject:
m_ObjectHideFlags: 0
@@ -228420,7 +228376,7 @@ Transform:
m_LocalScale: {x: 100, y: 1, z: 100}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 4
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1414444048
GameObject:
@@ -234926,14 +234882,14 @@ MonoBehaviour:
a3: 0
point: {x: -5, y: -15, z: -13}
rotation: {x: 0, y: 0, z: 0, w: 0}
transformation: {x: 0, y: 0, z: 0}
transformation2: {x: 0, y: 0, z: 0}
invert: 1
transformationBeforeRotation: {x: 0, y: 0, z: 0}
transformationAfterRotation: {x: 0, y: 0, z: 0}
invertForLeftLeg: 1
translateX: -5
translateY: 0
translateZ: -5
pointShouldBe: {fileID: 591879371}
startServo: 16
startServo: 15
--- !u!1 &1454125721
GameObject:
m_ObjectHideFlags: 0
@@ -259448,14 +259404,14 @@ MonoBehaviour:
a3: 0
point: {x: 5, y: -15, z: 13}
rotation: {x: 0, y: 0, z: 0, w: 0}
transformation: {x: 0, y: 0, z: 0}
transformation2: {x: 0, y: 0, z: 0}
invert: 0
transformationBeforeRotation: {x: 0, y: 0, z: 0}
transformationAfterRotation: {x: 0, y: 0, z: 0}
invertForLeftLeg: 0
translateX: 5
translateY: 0
translateZ: 5
pointShouldBe: {fileID: 1943602706}
startServo: 6
startServo: 0
--- !u!1 &1619291355
GameObject:
m_ObjectHideFlags: 0
@@ -265153,6 +265109,48 @@ Transform:
m_Father: {fileID: 1921902568}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1645933597
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
m_Component:
- component: {fileID: 1645933599}
- component: {fileID: 1645933598}
m_Layer: 0
m_Name: Input
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &1645933598
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1645933597}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: c5ce8a2605d301e44a4a210aa345ed62, type: 3}
m_Name:
m_EditorClassIdentifier:
bot: {fileID: 311513962}
walk: {fileID: 311513965}
--- !u!4 &1645933599
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1645933597}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: -36.648933, y: -31.721676, z: -22.529099}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1646259228
GameObject:
m_ObjectHideFlags: 0
@@ -284148,14 +284146,14 @@ MonoBehaviour:
a3: 0
point: {x: 0, y: -15, z: -13}
rotation: {x: 0, y: 0, z: 0, w: 0}
transformation: {x: 0, y: 0, z: 0}
transformation2: {x: 0, y: 0, z: 0}
invert: 1
transformationBeforeRotation: {x: 0, y: 0, z: 0}
transformationAfterRotation: {x: 0, y: 0, z: 0}
invertForLeftLeg: 1
translateX: 0
translateY: 0
translateZ: -6.5
pointShouldBe: {fileID: 955360344}
startServo: 19
startServo: 12
--- !u!1 &1772635191
GameObject:
m_ObjectHideFlags: 0
@@ -299532,7 +299530,7 @@ Transform:
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1867357888}
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalPosition: {x: 45.12, y: 56.06, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
@@ -339239,7 +339237,7 @@ Transform:
- {fileID: 1640079164}
- {fileID: 1971572978}
m_Father: {fileID: 0}
m_RootOrder: 2
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &2130020849
GameObject:
+8 -8
View File
@@ -81,13 +81,13 @@ public class RotationControl : MonoBehaviour
//rotation.y = r2.update();
//rotation.z = r3.update();
//transformation.x = r4.update();
//transformation.y = r5.update();
//transformation.z = r6.update();
//transformationBeforeRotation.x = r4.update();
//transformationBeforeRotation.y = r5.update();
//transformationBeforeRotation.z = r6.update();
/*transformation2.x = r7.update();
transformation2.y = r8.update();
transformation2.z = r9.update();*/
/*transformationAfterRotation.x = r7.update();
transformationAfterRotation.y = r8.update();
transformationAfterRotation.z = r9.update();*/
body.transform.eulerAngles = new Vector3(rotation.x*-1, rotation.y*-1, rotation.z*-1);
body.transform.position = transformation;
@@ -96,8 +96,8 @@ public class RotationControl : MonoBehaviour
for (int index = 0; index < rotation2.Count; ++index)
{
rotation2[index].GetComponent<Leg>().rotation = rotation;
rotation2[index].GetComponent<Leg>().transformation = transformation;
rotation2[index].GetComponent<Leg>().transformation2 = transformation2;
rotation2[index].GetComponent<Leg>().transformationBeforeRotation = transformation;
rotation2[index].GetComponent<Leg>().transformationAfterRotation = transformation2;
rotation2[index].GetComponent<Leg>().FixedUpdate();
}
}
-67
View File
@@ -1,67 +0,0 @@
using UnityEngine;
using System.Collections;
using System.IO.Ports;
public class Serial {
private static Serial instance;
private Serial() { }
~Serial() {
serialPort.Close();
}
public static Serial Instance
{
get
{
if (instance == null)
{
instance = new Serial();
}
return instance;
}
}
public bool enabled = false;
SerialPort serialPort;
public void send(int start, int a, int b, int c)
{
if (serialPort == null)
{
serialPort = new SerialPort(@"\\.\" + "COM10", 115200);
try
{
serialPort.Open();
serialPort.DiscardOutBuffer();
serialPort.DiscardInBuffer();
enabled = true;
}
catch
{
enabled = false;
}
}
if (enabled)
{
if (serialPort is SerialPort)
{
string send = " #" + start.ToString() + " P" + a.ToString();
start++;
send = send + " #" + start.ToString() + " P" + b.ToString();
start++;
send = send + " #" + start.ToString() + " P" + c.ToString();
send = send + " \r";
serialPort.Write(send);
}
}
}
}
+10
View File
@@ -0,0 +1,10 @@
fileFormatVersion: 2
guid: 942facdab943ceb4ca29453f4ee4d1b3
folderAsset: yes
timeCreated: 1641404792
licenseType: Free
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
+119
View File
@@ -0,0 +1,119 @@
using System;
using UnityEngine;
using System.Collections;
using System.IO.Ports;
using Random = System.Random;
public class Serial
{
private static Serial instance;
private int rnd = 0;
private Serial()
{
}
~Serial()
{
serialPort.Close();
serialPort.Dispose();
}
public static Serial Instance
{
get
{
if (instance == null)
{
instance = new Serial();
}
return instance;
}
}
public bool enabled = false;
public SerialPort serialPort;
public int[] values = new int[18];
public static string ByteArrayToString(byte[] ba)
{
return BitConverter.ToString(ba).Replace("-", " ");
}
public void send(int start, int a, int b, int c)
{
if (serialPort == null)
{
serialPort = new SerialPort(@"\\.\" + "COM4", 250000);
try
{
serialPort.Parity = Parity.Even;
serialPort.StopBits = StopBits.One;
serialPort.DataBits = 8;
serialPort.Open();
serialPort.DiscardOutBuffer();
serialPort.DiscardInBuffer();
System.Threading.Thread.Sleep(1000);
enabled = true;
}
catch
{
enabled = false;
}
}
if (enabled)
{
values[start] = a;
values[++start] = b;
values[++start] = c;
if (serialPort is SerialPort && start == 17)
{
// string send = "s";
byte[] send = new byte[18+1+2];
send[18] = 0x00;
send[19] = 0xfe;
send[20] = 0xff;
// send[21] = 0xff;
// if (rnd == 0)
// {
//rnd = 1;
for (int i = 0; i < 18; i++)
{
//string crc = ((i) * (values[i])) + "";
//send = send + (i).ToString() + "_" + (values[i]).ToString() + "," + crc + "=";
byte[] intBytes = BitConverter.GetBytes(values[i]);
if (BitConverter.IsLittleEndian)
Array.Reverse(intBytes);
send[i] = intBytes[3];
send[18] += send[i];
}
// Debug.Log(ByteArrayToString(send));
serialPort.Write(send, 0, 18+1+2);
serialPort.BaseStream.Flush();
// }
// else
// {
// rnd = 0;
// for (int i = 10; i < 18; i++)
// {
// string crc = ((i + 3) * (values[i])) + "";
//
// send = send + (i + 2).ToString() + "_" + (values[i]).ToString() + "," + crc + "=";
// }
//
// Debug.Log(send);
// serialPort.Write(send);
// }
}
}
}
}
@@ -1,4 +1,4 @@
using System;
/*using System;
using UnityEngine;
using System.Collections;
using System.IO.Ports;
@@ -67,3 +67,4 @@ public class Serial2 : MonoBehaviour{
}
}
*/
+170
View File
@@ -0,0 +1,170 @@
//using System;
//using UnityEngine;
//using System.Collections;
//using System.IO.Ports;
//using System.Linq;
//using UnityEngine.UI;
//public class Serial3 : MonoBehaviour{
// public RotationControl bot;
// public Walk walk;
// public float a1, a2, a3, b1, b2, b3;
// // ~Serial3()
// // {
// // serialPort.Close();
// // serialPort.Dispose();
// // }
// public bool enabled = false;
// public bool enabled_send = false;
// SerialPort serialPort;
// public void Update()
// {
// if (serialPort == null)
// {
// serialPort = new SerialPort(@"\\.\" + "COM7", 230400);
// try
// {
// serialPort.NewLine = "\r\n";
//// serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
// serialPort.Open();
// serialPort.DiscardOutBuffer();
// serialPort.DiscardInBuffer();
// enabled = true;
// }
// catch
// {
// enabled = false;
// }
// }
// if (enabled)
// {
// serialPort = Serial.Instance.serialPort;
// Serial.Instance.enabled = enabled_send;
// if (serialPort is SerialPort)
// {
// string received = serialPort.ReadLine();
// string[] data = received.Split(',');
// foreach (string d in data)
// {
// string[] ch = d.Split('_');
// int channel = int.Parse(ch.First());
// float value = float.Parse(ch.Last());
// switch (channel)
// {
// case 0:
// a1 = value - 127;
// break;
// case 1:
// a2 = value - 127;
// break;
// case 2:
// a3 = value - 127;
// break;
// case 3:
// b1 = value - 127;
// break;
// case 4:
// b2 = value - 127;
// break;
// case 5:
// b3 = value - 127;
// break;
// }
// bot.rotation = new Quaternion(limit(a2, -20, 20), -1 * limit(a3, -20, 20), -1 * limit(a1, -20, 20),
// 1);
// float speed = (float) (Math.Sqrt(b1 * b1 + b2 * b2) / 127) * 3;
// walk.walkspeed = speed < 0.5f ? 0 : speed;
// float rotation = -1 * limit(b3/4, -5, 5);
// walk.centerRotation = rotation < 0.5f && rotation > -0.5f ? 0 : rotation;
// walk.walkDirection = (-1 * ConvertRadiansToDegrees((float) Math.Atan2(b2, b1)));
// float rotationabs = Math.Abs(walk.centerRotation);
// float speed2 = ((6 / 3) * walk.walkspeed) + ((6/5) * rotationabs);
// speed2 = speed2 < 6 ? speed2 : 6;
// walk.speed2 = (int)(10 - speed2);
// }
// }
// }
// }
// private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
// {
// SerialPort serialPort = (SerialPort)sender;
// if (enabled)
// {
// if (serialPort is SerialPort)
// {
// string received = serialPort.ReadLine();
// string[] data = received.Split(',');
// foreach (string d in data)
// {
// // if (data == "\r")
// // continue;
// string[] ch = d.Split('_');
// int channel = int.Parse(ch.First());
// float value = float.Parse(ch.Last());
// switch (channel)
// {
// case 0:
// a1 = value;
// break;
// case 1:
// a2 = value;
// break;
// case 2:
// a3 = value;
// break;
// case 3:
// b1 = value;
// break;
// case 4:
// b2 = value;
// break;
// case 5:
// b3 = value;
// break;
// }
// }
// // bot.rotation = new Quaternion(-1* limit(y, -30, 30), 0, -1* limit(x, -30, 30), 1);
// }
// }
// }
// public float limit(float input, float min, float max)
// {
// input = input / 6;
// return (input < max & input > min) ? input : input < min ? min : max;
// }
// public float ConvertRadiansToDegrees(float radians)
// {
// float degrees = (float)((180 / Math.PI) * radians);
// return (degrees);
// }
//}
-165
View File
@@ -1,165 +0,0 @@
using System;
using UnityEngine;
using System.Collections;
using System.IO.Ports;
using System.Linq;
using UnityEngine.UI;
public class Serial3 : MonoBehaviour{
public RotationControl bot;
public Walk3 walk;
public float a1, a2, a3, b1, b2, b3;
~Serial3() {
serialPort.Close();
}
public bool enabled = false;
SerialPort serialPort;
public void Update()
{
if (serialPort == null)
{
serialPort = new SerialPort(@"\\.\" + "COM7", 115200);
try
{
serialPort.NewLine = "\r\n";
// serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
serialPort.Open();
serialPort.DiscardOutBuffer();
serialPort.DiscardInBuffer();
enabled = true;
}
catch
{
enabled = false;
}
}
if (enabled)
{
if (serialPort is SerialPort)
{
string received = serialPort.ReadLine();
string[] data = received.Split(',');
foreach (string d in data)
{
string[] ch = d.Split('_');
int channel = int.Parse(ch.First());
float value = float.Parse(ch.Last());
switch (channel)
{
case 0:
a1 = value - 127;
break;
case 1:
a2 = value - 127;
break;
case 2:
a3 = value - 127;
break;
case 3:
b1 = value - 127;
break;
case 4:
b2 = value - 127;
break;
case 5:
b3 = value - 127;
break;
}
bot.rotation = new Quaternion(limit(a2, -20, 20), -1 * limit(a3, -20, 20), -1 * limit(a1, -20, 20),
1);
float speed = (float) (Math.Sqrt(b1 * b1 + b2 * b2) / 127) * 3;
walk.walkspeed = speed < 0.5f ? 0 : speed;
float rotation = -1 * limit(b3/4, -5, 5);
walk.centerRotation = rotation < 0.5f && rotation > -0.5f ? 0 : rotation;
walk.walkDirection = (-1 * ConvertRadiansToDegrees((float) Math.Atan2(b2, b1)));
float rotationabs = Math.Abs(walk.centerRotation);
float speed2 = ((6 / 3) * walk.walkspeed) + ((6/5) * rotationabs);
speed2 = speed2 < 6 ? speed2 : 6;
walk.speed2 = (int)(10 - speed2);
}
}
}
}
private void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
SerialPort serialPort = (SerialPort)sender;
if (enabled)
{
if (serialPort is SerialPort)
{
string received = serialPort.ReadLine();
string[] data = received.Split(',');
foreach (string d in data)
{
// if (data == "\r")
// continue;
string[] ch = d.Split('_');
int channel = int.Parse(ch.First());
float value = float.Parse(ch.Last());
switch (channel)
{
case 0:
a1 = value;
break;
case 1:
a2 = value;
break;
case 2:
a3 = value;
break;
case 3:
b1 = value;
break;
case 4:
b2 = value;
break;
case 5:
b3 = value;
break;
}
}
// bot.rotation = new Quaternion(-1* limit(y, -30, 30), 0, -1* limit(x, -30, 30), 1);
}
}
}
public float limit(float input, float min, float max)
{
input = input / 6;
return (input < max & input > min) ? input : input < min ? min : max;
}
public float ConvertRadiansToDegrees(float radians)
{
float degrees = (float)((180 / Math.PI) * radians);
return (degrees);
}
}
+144 -26
View File
@@ -13,19 +13,32 @@ public class Walk : MonoBehaviour
for (int index = 0; index < legs.Count; ++index)
{
legsInitial.Add(legs[index].GetComponent<Leg>().point);
step2.Add( new Vector3() );
step2.Add(0);
step6.Add(false);
//step3.Add(0);
//step4.Add(new Vector3(0, 0, 0));
step5.Add(new Vector3());
freeze.Add(false);
freeze_y.Add(false);
}
}
struct step
{
public Vector3 pos;
public float rotation;
public float height;
public bool inAir;
public bool inRest;
public step(Vector3 p, bool i)
public step(Vector3 p, float r, float h, bool i, bool ir)
{
pos = p;
rotation = r;
height = 0;
inAir = i;
inRest = ir;
}
}
@@ -37,63 +50,159 @@ public class Walk : MonoBehaviour
}
step[] s = {
new step(new Vector3(-1, 0, 0), false),
new step(new Vector3(-1, 0, 0), -1, 0, false, false),
new step(new Vector3(0, -2, 0), false),
new step(new Vector3(0, -2, 0), 0, 0, false, false),
new step(new Vector3(0, 0, 0), false), // rest
new step(new Vector3(0, 0, 0), 0, 0, false, false), // rest
new step(new Vector3(1, 0, 0), false),
new step(new Vector3(1, 0, 0), false),
new step(new Vector3(1, 0, 0), 1, 0, false, true), // down middle
new step(new Vector3(1, 0, 0), 1, 0, false, false),
new step(new Vector3(0, 0, 0), false), // rest
new step(new Vector3(0, 0, 0), 0, 0, false, false), // rest
new step(new Vector3(0, 2, 0), false),
new step(new Vector3(-1, 0, 0), true),
new step(new Vector3(0, 2, 0), 0, 0, false, false),
new step(new Vector3(-1, 0, 0), -1, 0, true, false),
};
public int st = 5;
public int speed2 = 30;
int speed = 10;
public float rotation = 0;
public float walkDirection = 0;
public float centerRotation = 0;
int size = 8;
public float walkspeed = 1;
private List<Vector3> step2 = new List<Vector3>();
private List<float> step2 = new List<float>();
//private List<float> step3 = new List<float>();
//private List<Vector3> step4 = new List<Vector3>();
private List<Vector3> step5 = new List<Vector3>();
private List<bool> step6 = new List<bool>();
private List<bool> freeze = new List<bool>();
private List<bool> freeze_y = new List<bool>();
// Update is called once per frame
void FixedUpdate()
{
if (speed <= 0)
{
if (st >= size-1)
if (st >= size - 1)
st = 0;
else
{
st++;
if (centerRotation == 0 && walkspeed == 0)
{
for (int index = 0; index < legs.Count; index++)
{
int t = st;
if (index == 1 || index == 3 || index == 5)
{
t = offset(st, 4, size);
}
if (s[t].inRest)
{
Vector3 lp = legs[index].GetComponent<Leg>().getLocalPos(); // + s[t].pos;
//lp.y -= 2;
if ((Mathf.Abs(lp.y - (legsInitial[index].y - 2)) < 0.0001f)
&& (Mathf.Abs(lp.z - legsInitial[index].z) < 0.0001f)
&& (Mathf.Abs(lp.x - legsInitial[index].x) < 1.0001f))
{
freeze[index] = true;
freeze_y[index] = true;
}
}
/*else
{
freeze[index] = false;
}*/
}
}
else
{
for (int index = 0; index < legs.Count; index++)
{
freeze[index] = false;
}
}
}
for (int index = 0; index < legs.Count; ++index)
{
int t = st;
if (index == 1 || index == 3 || index == 5)
{
t = offset(st, 4, size);
}
if (s[t].inAir == false)
if (true)
{
Vector3 t2 = s[t].pos;
t2.x *= walkspeed;
// rotate x,y around rotation.
step2[index] = (Quaternion.Euler(0, rotation, 0) * t2) / speed2;
// Hex walk
if (index == 1 || index == 3 || index == 5)
{
t = offset(st, 4, size);
}
}
else
{
Vector3 t2 = (legsInitial[index] + s[t].pos) - legs[index].GetComponent<Leg>().point;
step2[index] = t2 / speed2;
// One leg at a time walk
switch (index)
{
case 0:
t = offset(st, 0, size);
break;
case 1:
t = offset(st, 4, size);
break;
case 2:
t = offset(st, 2, size);
break;
case 3:
t = offset(st, 3, size);
break;
case 4:
t = offset(st, 1, size);
break;
case 5:
t = offset(st, 5, size);
break;
}
}
if (!freeze[index])
{
if (s[t].inAir == false)
{
step2[index] = (centerRotation * s[t].rotation) / speed2;
Vector3 t2 = s[t].pos;
t2.x *= walkspeed;
// rotate x,y around rotation.
if (freeze_y[index])
{
t2.y = 0;
}
step5[index] = (Quaternion.Euler(0, walkDirection, 0) * t2) / speed2;
step6[index] = true;
}
else
{
Vector3 t2 = (legsInitial[index] + s[t].pos) - legs[index].GetComponent<Leg>().point;
step5[index] = t2 / speed2;
step6[index] = false;
freeze_y[index] = false;
}
}
else
{
step5[index] = new Vector3(0, 0, 0);
step6[index] = false;
}
}
@@ -110,7 +219,16 @@ public class Walk : MonoBehaviour
{
for (int index = 0; index < legs.Count; ++index)
{
legs[index].GetComponent<Leg>().point += step2[index];
legs[index].GetComponent<Leg>().point += step5[index];
if (step6[index])
{
//legs[index].GetComponent<Leg>().point += step5[index];
// rotate x,y around rotation.
legs[index].GetComponent<Leg>().setWorldPos(
Quaternion.Euler(0, step2[index], 0) * legs[index].GetComponent<Leg>().getWorldPos()
);
}
}
}
}
+2 -2
View File
@@ -1,6 +1,6 @@
fileFormatVersion: 2
guid: 62866dc69f17c5f40a7ec527e34e82f1
timeCreated: 1542141752
guid: a4266f2a53eea3a43972b07e077212bc
timeCreated: 1542307321
licenseType: Free
MonoImporter:
externalObjects: {}
-131
View File
@@ -1,131 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Walk2 : MonoBehaviour
{
public List<GameObject> legs = new List<GameObject>();
private List<Vector3> legsInitial = new List<Vector3>();
// Use this for initialization
void Start()
{
for (int index = 0; index < legs.Count; ++index)
{
legsInitial.Add(legs[index].GetComponent<Leg>().point);
step2.Add(0);
step3.Add(0);
step4.Add(new Vector3(0, 0, 0));
}
}
struct step
{
public float rotation;
public float height;
public bool inAir;
public step(float r, float h, bool i)
{
rotation = r;
height = h;
inAir = i;
}
}
// 1, 3, 5 -= 3
int offset(int i, int offset, int max)
{
return i - offset < 0 ? (max - (offset - i)) : i - offset;
}
step[] s = {
new step(-1, 0, false),
new step(0, -2, false),
new step(0, 0, false), // rest
new step(1, 0, false),
new step(1, 0, false),
new step(0, 0, false), // rest
new step(0, 2, false),
new step(-1, 0, true),
};
public int st = 5;
public int speed2 = 30;
int speed = 10;
public float rotation = 0;
int size = 8;
//public float walkspeed = 1;
private List<float> step2 = new List<float>();
private List<float> step3 = new List<float>();
private List<Vector3> step4 = new List<Vector3>();
// Update is called once per frame
void FixedUpdate()
{
if (speed <= 0)
{
if (st >= size - 1)
st = 0;
else
st++;
for (int index = 0; index < legs.Count; ++index)
{
int t = st;
if (index == 1 || index == 3 || index == 5)
{
t = offset(st, 4, size);
}
if (s[t].inAir == false)
{
step2[index] = (rotation * s[t].rotation) / speed2;
step3[index] = s[t].height / speed2;
step4[index] = new Vector3(0, 0, 0);
}
else
{
Vector3 t2 = legsInitial[index] - legs[index].GetComponent<Leg>().point;
step4[index] = t2 / speed2;
}
}
speed = speed2;
}
else
{
speed--;
makestep();
}
}
void makestep()
{
for (int index = 0; index < legs.Count; ++index)
{
if (step4[index] == new Vector3(0, 0, 0))
{
Vector3 n = legs[index].GetComponent<Leg>().getWorldPos();
n = Quaternion.Euler(0, step2[index], 0) * n;
n.y += step3[index];
// rotate x,y around rotation.
legs[index].GetComponent<Leg>().setWorldPos(n);
}
else
{
// return to home
legs[index].GetComponent<Leg>().point += step4[index];
}
}
}
}
-13
View File
@@ -1,13 +0,0 @@
fileFormatVersion: 2
guid: 91e6f3895f276d94da1803128e6290e0
timeCreated: 1542229569
licenseType: Free
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
-202
View File
@@ -1,202 +0,0 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Walk3 : MonoBehaviour
{
public List<GameObject> legs = new List<GameObject>();
private List<Vector3> legsInitial = new List<Vector3>();
// Use this for initialization
void Start()
{
for (int index = 0; index < legs.Count; ++index)
{
legsInitial.Add(legs[index].GetComponent<Leg>().point);
step2.Add(0);
step6.Add(false);
//step3.Add(0);
//step4.Add(new Vector3(0, 0, 0));
step5.Add(new Vector3());
freeze.Add(false);
freeze_y.Add(false);
}
}
struct step
{
public Vector3 pos;
public float rotation;
public float height;
public bool inAir;
public bool inRest;
public step(Vector3 p, float r, float h, bool i, bool ir)
{
pos = p;
rotation = r;
height = 0;
inAir = i;
inRest = ir;
}
}
// 1, 3, 5 -= 3
int offset(int i, int offset, int max)
{
return i - offset < 0 ? (max - (offset - i)) : i - offset;
}
step[] s = {
new step(new Vector3(-1, 0, 0), -1, 0, false, false),
new step(new Vector3(0, -2, 0), 0, 0, false, false),
new step(new Vector3(0, 0, 0), 0, 0, false, false), // rest
new step(new Vector3(1, 0, 0), 1, 0, false, true), // down middle
new step(new Vector3(1, 0, 0), 1, 0, false, false),
new step(new Vector3(0, 0, 0), 0, 0, false, false), // rest
new step(new Vector3(0, 2, 0), 0, 0, false, false),
new step(new Vector3(-1, 0, 0), -1, 0, true, false),
};
public int st = 5;
public int speed2 = 30;
int speed = 10;
public float walkDirection = 0;
public float centerRotation = 0;
int size = 8;
public float walkspeed = 1;
private List<float> step2 = new List<float>();
//private List<float> step3 = new List<float>();
//private List<Vector3> step4 = new List<Vector3>();
private List<Vector3> step5 = new List<Vector3>();
private List<bool> step6 = new List<bool>();
private List<bool> freeze = new List<bool>();
private List<bool> freeze_y = new List<bool>();
// Update is called once per frame
void FixedUpdate()
{
if (speed <= 0)
{
if (st >= size-1)
st = 0;
else
{
st++;
if (centerRotation == 0 && walkspeed == 0)
{
for (int index = 0; index < legs.Count; index++)
{
int t = st;
if (index == 1 || index == 3 || index == 5)
{
t = offset(st, 4, size);
}
if (s[t].inRest)
{
Vector3 lp = legs[index].GetComponent<Leg>().getLocalPos();// + s[t].pos;
//lp.y -= 2;
if ((Mathf.Abs(lp.y - (legsInitial[index].y-2)) < 0.0001f)
&& (Mathf.Abs(lp.z - legsInitial[index].z) < 0.0001f)
&& (Mathf.Abs(lp.x - legsInitial[index].x) < 1.0001f))
{
freeze[index] = true;
freeze_y[index] = true;
}
}
/*else
{
freeze[index] = false;
}*/
}
}
else
{
for (int index = 0; index < legs.Count; index++)
{
freeze[index] = false;
}
}
}
for (int index = 0; index < legs.Count; ++index)
{
int t = st;
if (index == 1 || index == 3 || index == 5)
{
t = offset(st, 4, size);
}
if (!freeze[index])
{
if (s[t].inAir == false)
{
step2[index] = (centerRotation * s[t].rotation) / speed2;
Vector3 t2 = s[t].pos;
t2.x *= walkspeed;
// rotate x,y around rotation.
if (freeze_y[index])
{
t2.y = 0;
}
step5[index] = (Quaternion.Euler(0, walkDirection, 0) * t2) / speed2;
step6[index] = true;
}
else
{
Vector3 t2 = (legsInitial[index] + s[t].pos) - legs[index].GetComponent<Leg>().point;
step5[index] = t2 / speed2;
step6[index] = false;
freeze_y[index] = false;
}
}
else
{
step5[index] = new Vector3(0, 0, 0);
step6[index] = false;
}
}
speed = speed2;
}
else
{
speed--;
makestep();
}
}
void makestep()
{
for (int index = 0; index < legs.Count; ++index)
{
legs[index].GetComponent<Leg>().point += step5[index];
if (step6[index])
{
//legs[index].GetComponent<Leg>().point += step5[index];
// rotate x,y around rotation.
legs[index].GetComponent<Leg>().setWorldPos(
Quaternion.Euler(0, step2[index], 0) * legs[index].GetComponent<Leg>().getWorldPos()
);
}
}
}
}
+31 -223
View File
@@ -6,290 +6,98 @@ InputManager:
serializedVersion: 2
m_Axes:
- serializedVersion: 3
m_Name: Horizontal
m_Name: 1
descriptiveName:
descriptiveNegativeName:
negativeButton: left
positiveButton: right
altNegativeButton: a
altPositiveButton: d
gravity: 3
gravity: 1
dead: 0.001
sensitivity: 3
sensitivity: 1
snap: 1
invert: 0
type: 0
type: 2
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Vertical
m_Name: 2
descriptiveName:
descriptiveNegativeName:
negativeButton: down
positiveButton: up
altNegativeButton: s
altPositiveButton: w
gravity: 3
gravity: 1
dead: 0.001
sensitivity: 3
sensitivity: 1
snap: 1
invert: 0
type: 0
axis: 0
type: 2
axis: 1
joyNum: 0
- serializedVersion: 3
m_Name: Fire1
m_Name: 3
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: left ctrl
altNegativeButton:
altPositiveButton: mouse 0
gravity: 1000
gravity: 1
dead: 0.001
sensitivity: 1000
snap: 0
sensitivity: 1
snap: 1
invert: 0
type: 0
axis: 0
type: 2
axis: 2
joyNum: 0
- serializedVersion: 3
m_Name: Fire2
m_Name: 4
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: left alt
altNegativeButton:
altPositiveButton: mouse 1
gravity: 1000
gravity: 1
dead: 0.001
sensitivity: 1000
snap: 0
sensitivity: 1
snap: 1
invert: 0
type: 0
axis: 0
type: 2
axis: 3
joyNum: 0
- serializedVersion: 3
m_Name: Fire3
m_Name: 5
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: left shift
altNegativeButton:
altPositiveButton: mouse 2
gravity: 1000
gravity: 1
dead: 0.001
sensitivity: 1000
snap: 0
sensitivity: 1
snap: 1
invert: 0
type: 0
axis: 0
type: 2
axis: 4
joyNum: 0
- serializedVersion: 3
m_Name: Jump
m_Name: 6
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: space
altNegativeButton:
altPositiveButton:
gravity: 1000
gravity: 1
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Mouse X
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton:
altNegativeButton:
altPositiveButton:
gravity: 0
dead: 0
sensitivity: 0.1
snap: 0
invert: 0
type: 1
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Mouse Y
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton:
altNegativeButton:
altPositiveButton:
gravity: 0
dead: 0
sensitivity: 0.1
snap: 0
invert: 0
type: 1
axis: 1
joyNum: 0
- serializedVersion: 3
m_Name: Mouse ScrollWheel
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton:
altNegativeButton:
altPositiveButton:
gravity: 0
dead: 0
sensitivity: 0.1
snap: 0
invert: 0
type: 1
axis: 2
joyNum: 0
- serializedVersion: 3
m_Name: Horizontal
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton:
altNegativeButton:
altPositiveButton:
gravity: 0
dead: 0.19
sensitivity: 1
snap: 0
snap: 1
invert: 0
type: 2
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Vertical
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton:
altNegativeButton:
altPositiveButton:
gravity: 0
dead: 0.19
sensitivity: 1
snap: 0
invert: 1
type: 2
axis: 1
joyNum: 0
- serializedVersion: 3
m_Name: Fire1
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: joystick button 0
altNegativeButton:
altPositiveButton:
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Fire2
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: joystick button 1
altNegativeButton:
altPositiveButton:
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Fire3
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: joystick button 2
altNegativeButton:
altPositiveButton:
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Jump
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: joystick button 3
altNegativeButton:
altPositiveButton:
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Submit
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: return
altNegativeButton:
altPositiveButton: joystick button 0
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Submit
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: enter
altNegativeButton:
altPositiveButton: space
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
joyNum: 0
- serializedVersion: 3
m_Name: Cancel
descriptiveName:
descriptiveNegativeName:
negativeButton:
positiveButton: escape
altNegativeButton:
altPositiveButton: joystick button 1
gravity: 1000
dead: 0.001
sensitivity: 1000
snap: 0
invert: 0
type: 0
axis: 0
axis: 5
joyNum: 0