Diff Drive works without prefab
This commit is contained in:
parent
fba72b37f2
commit
e7bef66b8e
@ -36,14 +36,14 @@ namespace RoboidControl.Unity {
|
|||||||
|
|
||||||
rb = gameObj.AddComponent<Rigidbody>();
|
rb = gameObj.AddComponent<Rigidbody>();
|
||||||
rb.isKinematic = false;
|
rb.isKinematic = false;
|
||||||
rb.mass = 0.5f;
|
rb.mass = 0.1f;
|
||||||
}
|
}
|
||||||
return component;
|
return component;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Rigidbody rb = null;
|
private Rigidbody rb = null;
|
||||||
|
|
||||||
protected virtual void Awake() {
|
protected virtual void Start() {
|
||||||
rb = GetComponent<Rigidbody>();
|
rb = GetComponent<Rigidbody>();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,63 +52,47 @@ namespace RoboidControl.Unity {
|
|||||||
if (coreDrive.wheelRadius <= 0 || coreDrive.wheelSeparation <= 0)
|
if (coreDrive.wheelRadius <= 0 || coreDrive.wheelSeparation <= 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// if (leftWheel == null) {
|
if (leftWheel == null)
|
||||||
// motors = GetComponentsInChildren<Wheel>();
|
leftWheel = Wheel.Create(this.transform, coreDrive.leftWheel.id);
|
||||||
// foreach (var motor in motors) {
|
|
||||||
// if (motor.core.id == coreDrive.leftWheel.id)
|
|
||||||
// leftWheel = motor;
|
|
||||||
// }
|
|
||||||
// if (leftWheel == null)
|
|
||||||
// // Create placeholder wheel
|
|
||||||
// leftWheel = Wheel.Create(this.GetComponent<Rigidbody>(), coreDrive.leftWheel.id);
|
|
||||||
// }
|
|
||||||
if (leftWheel != null) {
|
|
||||||
leftWheel.core ??= coreDrive.leftWheel;
|
|
||||||
SphereCollider leftWheelCollider = leftWheel.GetComponent<SphereCollider>();
|
|
||||||
leftWheelCollider.radius = coreDrive.wheelRadius;
|
|
||||||
// leftWheelCollider.center = new Vector3(-coreDrive.wheelSeparation / 2, 0, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
// if (rightWheel == null) {
|
leftWheel.core ??= coreDrive.leftWheel;
|
||||||
// if (motors == null)
|
SphereCollider leftWheelCollider = leftWheel.GetComponent<SphereCollider>();
|
||||||
// motors = GetComponentsInChildren<Wheel>();
|
leftWheelCollider.radius = coreDrive.wheelRadius;
|
||||||
// foreach (var motor in motors) {
|
// leftWheelCollider.center = new Vector3(-coreDrive.wheelSeparation / 2, 0, 0);
|
||||||
// if (motor.core.id == coreDrive.rightWheel.id)
|
|
||||||
// rightWheel = motor;
|
if (rightWheel == null)
|
||||||
// }
|
rightWheel = Wheel.Create(this.transform, coreDrive.rightWheel.id);
|
||||||
// if (rightWheel == null)
|
|
||||||
// rightWheel = Wheel.Create(this.GetComponent<Rigidbody>(), coreDrive.rightWheel.id);
|
rightWheel.core ??= coreDrive.rightWheel;
|
||||||
// }
|
SphereCollider rightWheelCollider = rightWheel.GetComponent<SphereCollider>();
|
||||||
if (rightWheel != null) {
|
rightWheelCollider.radius = coreDrive.wheelRadius;
|
||||||
rightWheel.core ??= coreDrive.rightWheel;
|
// rightWheelCollider.center = new Vector3(coreDrive.wheelSeparation / 2, 0, 0);
|
||||||
SphereCollider rightWheelCollider = rightWheel.GetComponent<SphereCollider>();
|
|
||||||
rightWheelCollider.radius = coreDrive.wheelRadius;
|
|
||||||
// rightWheelCollider.center = new Vector3(coreDrive.wheelSeparation / 2, 0, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (casterWheel == null) {
|
if (casterWheel == null) {
|
||||||
// Create it
|
GameObject gameObj = new("Caster wheel");
|
||||||
}
|
gameObj.transform.parent = this.transform;
|
||||||
if (casterWheel != null) {
|
casterWheel = gameObj.AddComponent<SphereCollider>();
|
||||||
casterWheel.radius = coreDrive.wheelRadius;
|
casterWheel.material = Wheel.slidingWheel;
|
||||||
// Put it in the middle of the back
|
|
||||||
casterWheel.center = new Vector3(0, 0, -coreDrive.wheelSeparation);
|
|
||||||
}
|
}
|
||||||
|
casterWheel.radius = coreDrive.wheelRadius;
|
||||||
|
// Put it in the middle of the back
|
||||||
|
casterWheel.center = new Vector3(0, 0, -coreDrive.wheelSeparation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected override void FixedUpdate() {
|
protected override void FixedUpdate() {
|
||||||
base.FixedUpdate();
|
base.FixedUpdate();
|
||||||
|
|
||||||
float leftWheelVelocity = leftWheel.rotationSpeed * (2 * Mathf.PI) * coreDrive.wheelRadius;
|
if (rb != null && leftWheel != null && rightWheel != null) {
|
||||||
float rightWheelVelocity = rightWheel.rotationSpeed * (2 * Mathf.PI) * coreDrive.wheelRadius;
|
float leftWheelVelocity = leftWheel.rotationSpeed * (2 * Mathf.PI) * coreDrive.wheelRadius;
|
||||||
|
float rightWheelVelocity = rightWheel.rotationSpeed * (2 * Mathf.PI) * coreDrive.wheelRadius;
|
||||||
|
|
||||||
float forwardSpeed = (leftWheelVelocity + rightWheelVelocity) / 2f;
|
float forwardSpeed = (leftWheelVelocity + rightWheelVelocity) / 2f;
|
||||||
float turningSpeed = (leftWheelVelocity - rightWheelVelocity) / coreDrive.wheelSeparation;
|
float turningSpeed = (leftWheelVelocity - rightWheelVelocity) / coreDrive.wheelSeparation;
|
||||||
|
|
||||||
// Use smoothing to emulate motor inertia
|
// Use smoothing to emulate motor inertia
|
||||||
rb.velocity = 0.9f * rb.velocity + 0.1f * forwardSpeed * transform.forward;
|
rb.velocity = 0.9f * rb.velocity + 0.1f * forwardSpeed * transform.forward;
|
||||||
rb.angularVelocity = 0.9f * rb.angularVelocity + 0.1f * turningSpeed * Vector3.up;
|
rb.angularVelocity = 0.9f * rb.angularVelocity + 0.1f * turningSpeed * Vector3.up;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,744 +0,0 @@
|
|||||||
%YAML 1.1
|
|
||||||
%TAG !u! tag:unity3d.com,2011:
|
|
||||||
--- !u!1 &135949056663158942
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 693610334404048217}
|
|
||||||
- component: {fileID: 874278397287993211}
|
|
||||||
- component: {fileID: 8149674613691108646}
|
|
||||||
- component: {fileID: 7453252590388621785}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: Body
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &693610334404048217
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 135949056663158942}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0.01, z: -0.01}
|
|
||||||
m_LocalScale: {x: 0.15, y: 0.05, z: 0.2}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 6798369561388671537}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!33 &874278397287993211
|
|
||||||
MeshFilter:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 135949056663158942}
|
|
||||||
m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0}
|
|
||||||
--- !u!23 &8149674613691108646
|
|
||||||
MeshRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 135949056663158942}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_CastShadows: 1
|
|
||||||
m_ReceiveShadows: 1
|
|
||||||
m_DynamicOccludee: 1
|
|
||||||
m_StaticShadowCaster: 0
|
|
||||||
m_MotionVectors: 1
|
|
||||||
m_LightProbeUsage: 1
|
|
||||||
m_ReflectionProbeUsage: 1
|
|
||||||
m_RayTracingMode: 2
|
|
||||||
m_RayTraceProcedural: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_StaticBatchInfo:
|
|
||||||
firstSubMesh: 0
|
|
||||||
subMeshCount: 0
|
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
|
||||||
m_ProbeAnchor: {fileID: 0}
|
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
|
||||||
m_ScaleInLightmap: 1
|
|
||||||
m_ReceiveGI: 1
|
|
||||||
m_PreserveUVs: 0
|
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
|
||||||
m_ImportantGI: 0
|
|
||||||
m_StitchLightmapSeams: 1
|
|
||||||
m_SelectedEditorRenderState: 3
|
|
||||||
m_MinimumChartSize: 4
|
|
||||||
m_AutoUVMaxDistance: 0.5
|
|
||||||
m_AutoUVMaxAngle: 89
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
|
||||||
--- !u!65 &7453252590388621785
|
|
||||||
BoxCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 135949056663158942}
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_ProvidesContacts: 0
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_Size: {x: 1, y: 1, z: 1}
|
|
||||||
m_Center: {x: -3.4930155e-36, y: 0, z: 0}
|
|
||||||
--- !u!1 &461568911372928883
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 6614469428499581915}
|
|
||||||
- component: {fileID: 5740668195873595670}
|
|
||||||
- component: {fileID: 981938778352350881}
|
|
||||||
- component: {fileID: 5978480396129778279}
|
|
||||||
- component: {fileID: 2485026999856066728}
|
|
||||||
- component: {fileID: 1286794448967865589}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: Sphere
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 0
|
|
||||||
--- !u!4 &6614469428499581915
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 461568911372928883}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_LocalPosition: {x: -0, y: -0.0337, z: -0.0684}
|
|
||||||
m_LocalScale: {x: 0.02, y: 0.02, z: 0.02}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 213193100111257669}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!33 &5740668195873595670
|
|
||||||
MeshFilter:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 461568911372928883}
|
|
||||||
m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0}
|
|
||||||
--- !u!23 &981938778352350881
|
|
||||||
MeshRenderer:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 461568911372928883}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_CastShadows: 1
|
|
||||||
m_ReceiveShadows: 1
|
|
||||||
m_DynamicOccludee: 1
|
|
||||||
m_StaticShadowCaster: 0
|
|
||||||
m_MotionVectors: 1
|
|
||||||
m_LightProbeUsage: 1
|
|
||||||
m_ReflectionProbeUsage: 1
|
|
||||||
m_RayTracingMode: 2
|
|
||||||
m_RayTraceProcedural: 0
|
|
||||||
m_RenderingLayerMask: 1
|
|
||||||
m_RendererPriority: 0
|
|
||||||
m_Materials:
|
|
||||||
- {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0}
|
|
||||||
m_StaticBatchInfo:
|
|
||||||
firstSubMesh: 0
|
|
||||||
subMeshCount: 0
|
|
||||||
m_StaticBatchRoot: {fileID: 0}
|
|
||||||
m_ProbeAnchor: {fileID: 0}
|
|
||||||
m_LightProbeVolumeOverride: {fileID: 0}
|
|
||||||
m_ScaleInLightmap: 1
|
|
||||||
m_ReceiveGI: 1
|
|
||||||
m_PreserveUVs: 0
|
|
||||||
m_IgnoreNormalsForChartDetection: 0
|
|
||||||
m_ImportantGI: 0
|
|
||||||
m_StitchLightmapSeams: 1
|
|
||||||
m_SelectedEditorRenderState: 3
|
|
||||||
m_MinimumChartSize: 4
|
|
||||||
m_AutoUVMaxDistance: 0.5
|
|
||||||
m_AutoUVMaxAngle: 89
|
|
||||||
m_LightmapParameters: {fileID: 0}
|
|
||||||
m_SortingLayerID: 0
|
|
||||||
m_SortingLayer: 0
|
|
||||||
m_SortingOrder: 0
|
|
||||||
m_AdditionalVertexStreams: {fileID: 0}
|
|
||||||
--- !u!135 &5978480396129778279
|
|
||||||
SphereCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 461568911372928883}
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_ProvidesContacts: 0
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_Radius: 0.5
|
|
||||||
m_Center: {x: 2.2e-44, y: 0, z: 0}
|
|
||||||
--- !u!54 &2485026999856066728
|
|
||||||
Rigidbody:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 461568911372928883}
|
|
||||||
serializedVersion: 4
|
|
||||||
m_Mass: 0.01
|
|
||||||
m_Drag: 0
|
|
||||||
m_AngularDrag: 0
|
|
||||||
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
|
||||||
m_InertiaTensor: {x: 1, y: 1, z: 1}
|
|
||||||
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ImplicitCom: 1
|
|
||||||
m_ImplicitTensor: 1
|
|
||||||
m_UseGravity: 1
|
|
||||||
m_IsKinematic: 0
|
|
||||||
m_Interpolate: 0
|
|
||||||
m_Constraints: 0
|
|
||||||
m_CollisionDetection: 0
|
|
||||||
--- !u!59 &1286794448967865589
|
|
||||||
HingeJoint:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 461568911372928883}
|
|
||||||
m_ConnectedBody: {fileID: 4118868690347991998}
|
|
||||||
m_ConnectedArticulationBody: {fileID: 0}
|
|
||||||
m_Anchor: {x: 0, y: 0.5, z: 0}
|
|
||||||
m_Axis: {x: 1, y: 0, z: 0}
|
|
||||||
m_AutoConfigureConnectedAnchor: 1
|
|
||||||
m_ConnectedAnchor: {x: 0, y: -0.019776002, z: -0.0684}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_UseSpring: 0
|
|
||||||
m_Spring:
|
|
||||||
spring: 0
|
|
||||||
damper: 0
|
|
||||||
targetPosition: 0
|
|
||||||
m_UseMotor: 0
|
|
||||||
m_Motor:
|
|
||||||
targetVelocity: 0
|
|
||||||
force: 0
|
|
||||||
freeSpin: 0
|
|
||||||
m_UseLimits: 0
|
|
||||||
m_ExtendedLimits: 0
|
|
||||||
m_UseAcceleration: 0
|
|
||||||
m_Limits:
|
|
||||||
min: 0
|
|
||||||
max: 0
|
|
||||||
bounciness: 0
|
|
||||||
bounceMinVelocity: 0.2
|
|
||||||
contactDistance: 0
|
|
||||||
m_BreakForce: Infinity
|
|
||||||
m_BreakTorque: Infinity
|
|
||||||
m_EnableCollision: 0
|
|
||||||
m_EnablePreprocessing: 1
|
|
||||||
m_MassScale: 1
|
|
||||||
m_ConnectedMassScale: 1
|
|
||||||
--- !u!1 &3154420579555598162
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 213193100111257669}
|
|
||||||
- component: {fileID: 7200410571604616845}
|
|
||||||
- component: {fileID: 894333789048616995}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: Caster wheel
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &213193100111257669
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3154420579555598162}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: -0, z: 7e-45, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0.0039239973, z: 0}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children:
|
|
||||||
- {fileID: 6614469428499581915}
|
|
||||||
m_Father: {fileID: 6798369561388671537}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!146 &7200410571604616845
|
|
||||||
WheelCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3154420579555598162}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Center: {x: 0, y: 0, z: -0.1}
|
|
||||||
m_Radius: 0.1
|
|
||||||
m_SuspensionSpring:
|
|
||||||
spring: 0
|
|
||||||
damper: 0
|
|
||||||
targetPosition: 0.5
|
|
||||||
m_SuspensionDistance: 0.01
|
|
||||||
m_ForceAppPointDistance: 0
|
|
||||||
m_Mass: 0.1
|
|
||||||
m_WheelDampingRate: 0.25
|
|
||||||
m_ForwardFriction:
|
|
||||||
m_ExtremumSlip: 0.01
|
|
||||||
m_ExtremumValue: 0.01
|
|
||||||
m_AsymptoteSlip: 1
|
|
||||||
m_AsymptoteValue: 0.01
|
|
||||||
m_Stiffness: 0.01
|
|
||||||
m_SidewaysFriction:
|
|
||||||
m_ExtremumSlip: 0.01
|
|
||||||
m_ExtremumValue: 0.01
|
|
||||||
m_AsymptoteSlip: 1
|
|
||||||
m_AsymptoteValue: 0.01
|
|
||||||
m_Stiffness: 0.01
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_Enabled: 0
|
|
||||||
m_ProvidesContacts: 0
|
|
||||||
--- !u!135 &894333789048616995
|
|
||||||
SphereCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3154420579555598162}
|
|
||||||
m_Material: {fileID: 0}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_ProvidesContacts: 0
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_Radius: 0.1
|
|
||||||
m_Center: {x: 0, y: 0, z: -0.1}
|
|
||||||
--- !u!1 &3377575892836316963
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 7997617267105515189}
|
|
||||||
- component: {fileID: 3291281099104606017}
|
|
||||||
- component: {fileID: 6773972788910618332}
|
|
||||||
- component: {fileID: 3720747953092717687}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: Left wheel
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &7997617267105515189
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3377575892836316963}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0.003924, z: 0}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 6798369561388671537}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!146 &3291281099104606017
|
|
||||||
WheelCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3377575892836316963}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Center: {x: -0.1, y: 0, z: 0}
|
|
||||||
m_Radius: 0.1
|
|
||||||
m_SuspensionSpring:
|
|
||||||
spring: 0
|
|
||||||
damper: 0
|
|
||||||
targetPosition: 0.5
|
|
||||||
m_SuspensionDistance: 0.01
|
|
||||||
m_ForceAppPointDistance: 0
|
|
||||||
m_Mass: 0.1
|
|
||||||
m_WheelDampingRate: 0.25
|
|
||||||
m_ForwardFriction:
|
|
||||||
m_ExtremumSlip: 0.4
|
|
||||||
m_ExtremumValue: 1
|
|
||||||
m_AsymptoteSlip: 0.8
|
|
||||||
m_AsymptoteValue: 0.5
|
|
||||||
m_Stiffness: 1
|
|
||||||
m_SidewaysFriction:
|
|
||||||
m_ExtremumSlip: 0.2
|
|
||||||
m_ExtremumValue: 1
|
|
||||||
m_AsymptoteSlip: 0.5
|
|
||||||
m_AsymptoteValue: 0.75
|
|
||||||
m_Stiffness: 1
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_Enabled: 0
|
|
||||||
m_ProvidesContacts: 0
|
|
||||||
--- !u!114 &6773972788910618332
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3377575892836316963}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: ddd5065d5e866894cbcb569c3a898ccb, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
participant: {fileID: 0}
|
|
||||||
rotationSpeed: 0
|
|
||||||
wheelCollider: {fileID: 3291281099104606017}
|
|
||||||
--- !u!135 &3720747953092717687
|
|
||||||
SphereCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 3377575892836316963}
|
|
||||||
m_Material: {fileID: 13400000, guid: 6311a2373d42743449d6eb1130ee618a, type: 2}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_ProvidesContacts: 0
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_Radius: 0.1
|
|
||||||
m_Center: {x: -0.1, y: 0, z: 0}
|
|
||||||
--- !u!1 &4326386140118987503
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 6798369561388671537}
|
|
||||||
- component: {fileID: 2975045340952151157}
|
|
||||||
- component: {fileID: 4118868690347991998}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: DifferentialDrive 1
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &6798369561388671537
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 4326386140118987503}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: 1.276433e-21, y: -1.082074e-19, z: -2.3980766e-36, w: 1}
|
|
||||||
m_LocalPosition: {x: 2.1932227e-37, y: -0.06941543, z: -1.3084181e-19}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children:
|
|
||||||
- {fileID: 7997617267105515189}
|
|
||||||
- {fileID: 2660791421672615984}
|
|
||||||
- {fileID: 693610334404048217}
|
|
||||||
- {fileID: 213193100111257669}
|
|
||||||
- {fileID: 4266196581235677096}
|
|
||||||
m_Father: {fileID: 0}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!114 &2975045340952151157
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 4326386140118987503}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: 5c80bc2fd1d8aa14facb1ad4b6ccf7b3, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
participant: {fileID: 0}
|
|
||||||
leftWheel: {fileID: 6773972788910618332}
|
|
||||||
rightWheel: {fileID: 7425139233737877139}
|
|
||||||
casterWheel: {fileID: 894333789048616995}
|
|
||||||
--- !u!54 &4118868690347991998
|
|
||||||
Rigidbody:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 4326386140118987503}
|
|
||||||
serializedVersion: 4
|
|
||||||
m_Mass: 0.1
|
|
||||||
m_Drag: 0
|
|
||||||
m_AngularDrag: 0.05
|
|
||||||
m_CenterOfMass: {x: 0, y: 0, z: 0}
|
|
||||||
m_InertiaTensor: {x: 1, y: 1, z: 1}
|
|
||||||
m_InertiaRotation: {x: 0, y: 0, z: 0, w: 1}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ImplicitCom: 1
|
|
||||||
m_ImplicitTensor: 1
|
|
||||||
m_UseGravity: 1
|
|
||||||
m_IsKinematic: 0
|
|
||||||
m_Interpolate: 0
|
|
||||||
m_Constraints: 0
|
|
||||||
m_CollisionDetection: 0
|
|
||||||
--- !u!1 &5122915782100933114
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 2660791421672615984}
|
|
||||||
- component: {fileID: 5992237647142430322}
|
|
||||||
- component: {fileID: 7425139233737877139}
|
|
||||||
- component: {fileID: 8150853676422519226}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: Right wheel
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 1
|
|
||||||
--- !u!4 &2660791421672615984
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 5122915782100933114}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0.003924, z: 0}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 6798369561388671537}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!146 &5992237647142430322
|
|
||||||
WheelCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 5122915782100933114}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Center: {x: 0.1, y: 0, z: 0}
|
|
||||||
m_Radius: 0.1
|
|
||||||
m_SuspensionSpring:
|
|
||||||
spring: 0
|
|
||||||
damper: 0
|
|
||||||
targetPosition: 0.5
|
|
||||||
m_SuspensionDistance: 0.01
|
|
||||||
m_ForceAppPointDistance: 0
|
|
||||||
m_Mass: 0.1
|
|
||||||
m_WheelDampingRate: 0.25
|
|
||||||
m_ForwardFriction:
|
|
||||||
m_ExtremumSlip: 0.4
|
|
||||||
m_ExtremumValue: 1
|
|
||||||
m_AsymptoteSlip: 0.8
|
|
||||||
m_AsymptoteValue: 0.5
|
|
||||||
m_Stiffness: 1
|
|
||||||
m_SidewaysFriction:
|
|
||||||
m_ExtremumSlip: 0.2
|
|
||||||
m_ExtremumValue: 1
|
|
||||||
m_AsymptoteSlip: 0.5
|
|
||||||
m_AsymptoteValue: 0.75
|
|
||||||
m_Stiffness: 1
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_Enabled: 0
|
|
||||||
m_ProvidesContacts: 0
|
|
||||||
--- !u!114 &7425139233737877139
|
|
||||||
MonoBehaviour:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 5122915782100933114}
|
|
||||||
m_Enabled: 1
|
|
||||||
m_EditorHideFlags: 0
|
|
||||||
m_Script: {fileID: 11500000, guid: ddd5065d5e866894cbcb569c3a898ccb, type: 3}
|
|
||||||
m_Name:
|
|
||||||
m_EditorClassIdentifier:
|
|
||||||
participant: {fileID: 0}
|
|
||||||
rotationSpeed: 0
|
|
||||||
wheelCollider: {fileID: 5992237647142430322}
|
|
||||||
--- !u!135 &8150853676422519226
|
|
||||||
SphereCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 5122915782100933114}
|
|
||||||
m_Material: {fileID: 13400000, guid: 6311a2373d42743449d6eb1130ee618a, type: 2}
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_IsTrigger: 0
|
|
||||||
m_ProvidesContacts: 0
|
|
||||||
m_Enabled: 1
|
|
||||||
serializedVersion: 3
|
|
||||||
m_Radius: 0.1
|
|
||||||
m_Center: {x: 0.1, y: 0, z: 0}
|
|
||||||
--- !u!1 &9198376257167485667
|
|
||||||
GameObject:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
serializedVersion: 6
|
|
||||||
m_Component:
|
|
||||||
- component: {fileID: 4266196581235677096}
|
|
||||||
- component: {fileID: 3529432273103841021}
|
|
||||||
m_Layer: 0
|
|
||||||
m_Name: Front Caster wheel
|
|
||||||
m_TagString: Untagged
|
|
||||||
m_Icon: {fileID: 0}
|
|
||||||
m_NavMeshLayer: 0
|
|
||||||
m_StaticEditorFlags: 0
|
|
||||||
m_IsActive: 0
|
|
||||||
--- !u!4 &4266196581235677096
|
|
||||||
Transform:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 9198376257167485667}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_LocalRotation: {x: -0, y: -0, z: 7e-45, w: 1}
|
|
||||||
m_LocalPosition: {x: 0, y: 0.0039239973, z: 0}
|
|
||||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
|
||||||
m_ConstrainProportionsScale: 0
|
|
||||||
m_Children: []
|
|
||||||
m_Father: {fileID: 6798369561388671537}
|
|
||||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
|
||||||
--- !u!146 &3529432273103841021
|
|
||||||
WheelCollider:
|
|
||||||
m_ObjectHideFlags: 0
|
|
||||||
m_CorrespondingSourceObject: {fileID: 0}
|
|
||||||
m_PrefabInstance: {fileID: 0}
|
|
||||||
m_PrefabAsset: {fileID: 0}
|
|
||||||
m_GameObject: {fileID: 9198376257167485667}
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Center: {x: 0, y: 0, z: 0.1}
|
|
||||||
m_Radius: 0.1
|
|
||||||
m_SuspensionSpring:
|
|
||||||
spring: 100
|
|
||||||
damper: 10
|
|
||||||
targetPosition: 0.5
|
|
||||||
m_SuspensionDistance: 0.01
|
|
||||||
m_ForceAppPointDistance: 0
|
|
||||||
m_Mass: 0.1
|
|
||||||
m_WheelDampingRate: 0.25
|
|
||||||
m_ForwardFriction:
|
|
||||||
m_ExtremumSlip: 0.01
|
|
||||||
m_ExtremumValue: 0.01
|
|
||||||
m_AsymptoteSlip: 1
|
|
||||||
m_AsymptoteValue: 0.01
|
|
||||||
m_Stiffness: 0.01
|
|
||||||
m_SidewaysFriction:
|
|
||||||
m_ExtremumSlip: 0.01
|
|
||||||
m_ExtremumValue: 0.01
|
|
||||||
m_AsymptoteSlip: 1
|
|
||||||
m_AsymptoteValue: 0.01
|
|
||||||
m_Stiffness: 0.01
|
|
||||||
m_IncludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_ExcludeLayers:
|
|
||||||
serializedVersion: 2
|
|
||||||
m_Bits: 0
|
|
||||||
m_LayerOverridePriority: 0
|
|
||||||
m_Enabled: 0
|
|
||||||
m_ProvidesContacts: 0
|
|
@ -240,7 +240,7 @@ GameObject:
|
|||||||
- component: {fileID: 2975045340952151157}
|
- component: {fileID: 2975045340952151157}
|
||||||
- component: {fileID: 4118868690347991998}
|
- component: {fileID: 4118868690347991998}
|
||||||
m_Layer: 0
|
m_Layer: 0
|
||||||
m_Name: DifferentialDrive
|
m_Name: DifferentialDrive_disabled
|
||||||
m_TagString: Untagged
|
m_TagString: Untagged
|
||||||
m_Icon: {fileID: 0}
|
m_Icon: {fileID: 0}
|
||||||
m_NavMeshLayer: 0
|
m_NavMeshLayer: 0
|
14
Unity/Resources/SlidingWheel.physicMaterial
Normal file
14
Unity/Resources/SlidingWheel.physicMaterial
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!134 &13400000
|
||||||
|
PhysicMaterial:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_Name: SlidingWheel
|
||||||
|
dynamicFriction: 0.02
|
||||||
|
staticFriction: 0.01
|
||||||
|
bounciness: 0
|
||||||
|
frictionCombine: 1
|
||||||
|
bounceCombine: 0
|
@ -35,7 +35,7 @@ namespace RoboidControl.Unity {
|
|||||||
return component;
|
return component;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public static Wheel Create(Rigidbody rb, byte thingId) {
|
public static Wheel Create(Transform parent, byte thingId) {
|
||||||
GameObject prefab = (GameObject)Resources.Load("Wheel");
|
GameObject prefab = (GameObject)Resources.Load("Wheel");
|
||||||
if (prefab != null) {
|
if (prefab != null) {
|
||||||
// Use resource prefab when available
|
// Use resource prefab when available
|
||||||
@ -48,16 +48,19 @@ namespace RoboidControl.Unity {
|
|||||||
else {
|
else {
|
||||||
// Fallback implementation
|
// Fallback implementation
|
||||||
GameObject gameObj = new("Wheel");
|
GameObject gameObj = new("Wheel");
|
||||||
gameObj.transform.parent = rb.transform;
|
gameObj.transform.parent = parent;
|
||||||
Wheel component = gameObj.AddComponent<Wheel>();
|
Wheel component = gameObj.AddComponent<Wheel>();
|
||||||
SiteServer participant = FindAnyObjectByType<SiteServer>();
|
SiteServer participant = FindAnyObjectByType<SiteServer>();
|
||||||
RoboidControl.Thing core = participant.coreParticipant.Get(thingId);
|
RoboidControl.Thing core = participant.coreParticipant.Get(thingId);
|
||||||
if (core == null)
|
if (core == null)
|
||||||
core = new(participant.coreParticipant, RoboidControl.Thing.Type.UncontrolledMotor, thingId, false);
|
core = new(participant.coreParticipant, RoboidControl.Thing.Type.UncontrolledMotor, thingId, false);
|
||||||
else {
|
else {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
component.Init(core);
|
component.Init(core);
|
||||||
|
SphereCollider collider = gameObj.AddComponent<SphereCollider>();
|
||||||
|
collider.radius = 0.00001f;
|
||||||
|
collider.material = slidingWheel;
|
||||||
// component.wheelCollider = gameObj.AddComponent<WheelCollider>();
|
// component.wheelCollider = gameObj.AddComponent<WheelCollider>();
|
||||||
// component.wheelCollider.mass = 0.1f;
|
// component.wheelCollider.mass = 0.1f;
|
||||||
// component.wheelCollider.suspensionDistance = 0.01f;
|
// component.wheelCollider.suspensionDistance = 0.01f;
|
||||||
@ -71,6 +74,24 @@ namespace RoboidControl.Unity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static PhysicMaterial _slidingWheel;
|
||||||
|
public static PhysicMaterial slidingWheel {
|
||||||
|
get {
|
||||||
|
if (_slidingWheel == null) {
|
||||||
|
_slidingWheel = new() {
|
||||||
|
dynamicFriction = 0.02f, // Dynamic friction
|
||||||
|
staticFriction = 0.01f, // Static friction
|
||||||
|
bounciness = 0f, // Bounciness (bounciness value between 0 and 1)
|
||||||
|
|
||||||
|
// Set the friction combine and bounce combine methods
|
||||||
|
frictionCombine = PhysicMaterialCombine.Minimum, // How to combine friction
|
||||||
|
bounceCombine = PhysicMaterialCombine.Average // How to combine bounciness
|
||||||
|
};
|
||||||
|
}
|
||||||
|
return _slidingWheel;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
Loading…
x
Reference in New Issue
Block a user