Nouveau calcul de la vitesse
This commit is contained in:
parent
03d8b7ac87
commit
54719964f9
@ -282,8 +282,8 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_SizeDelta: {x: 1920, y: 1080}
|
||||
m_AnchoredPosition: {x: -0.11, y: 0.31}
|
||||
m_SizeDelta: {x: 1375.9, y: 290}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &384609362
|
||||
MonoBehaviour:
|
||||
@ -354,7 +354,7 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 1, g: 1, b: 1, a: 1}
|
||||
m_Color: {r: 0, g: 1, b: 0, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
@ -374,7 +374,9 @@ MonoBehaviour:
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: LUDICROUS
|
||||
m_Text: 'LUDICROUS
|
||||
|
||||
'
|
||||
--- !u!222 &384609366
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -491,7 +493,7 @@ Transform:
|
||||
m_Children:
|
||||
- {fileID: 1865218697}
|
||||
m_Father: {fileID: 1036252279}
|
||||
m_RootOrder: 1
|
||||
m_RootOrder: 2
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!114 &896084743
|
||||
MonoBehaviour:
|
||||
@ -580,6 +582,7 @@ Transform:
|
||||
m_LocalScale: {x: 17.777779, y: 10, z: 1}
|
||||
m_Children:
|
||||
- {fileID: 384609361}
|
||||
- {fileID: 1810492795}
|
||||
- {fileID: 896084742}
|
||||
m_Father: {fileID: 670213598}
|
||||
m_RootOrder: 0
|
||||
@ -609,11 +612,13 @@ MonoBehaviour:
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
playerID: 0
|
||||
distanceToRun: 400
|
||||
wheelDiameter: 0.559
|
||||
ticPerTurn: 2
|
||||
distanceToRun: 300
|
||||
wheelDiameter: 0.7
|
||||
ticPerTurn: 1
|
||||
speedIntegrationTime: 1
|
||||
maxTimeDlt: 1
|
||||
tachometer: {fileID: 384609365}
|
||||
maxspeed: {fileID: 1810492796}
|
||||
--- !u!1 &1180963258
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -829,7 +834,9 @@ MonoBehaviour:
|
||||
wheelDiameter: 0.559
|
||||
ticPerTurn: 2
|
||||
speedIntegrationTime: 1
|
||||
maxTimeDlt: 1
|
||||
tachometer: {fileID: 6796232}
|
||||
maxspeed: {fileID: 0}
|
||||
--- !u!114 &1718131635
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -915,6 +922,140 @@ Transform:
|
||||
m_Father: {fileID: 1616930803}
|
||||
m_RootOrder: 0
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1810492794
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
serializedVersion: 5
|
||||
m_Component:
|
||||
- component: {fileID: 1810492795}
|
||||
- component: {fileID: 1810492800}
|
||||
- component: {fileID: 1810492799}
|
||||
- component: {fileID: 1810492798}
|
||||
- component: {fileID: 1810492797}
|
||||
- component: {fileID: 1810492796}
|
||||
m_Layer: 0
|
||||
m_Name: HUD Max
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!224 &1810492795
|
||||
RectTransform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1810492794}
|
||||
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: -2.8599997}
|
||||
m_LocalScale: {x: 0.000520875, y: 0.000926, z: 1}
|
||||
m_Children: []
|
||||
m_Father: {fileID: 1036252279}
|
||||
m_RootOrder: 1
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0, y: 0}
|
||||
m_AnchorMax: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: -0.10995972, y: 0.14}
|
||||
m_SizeDelta: {x: 1375.9, y: 290}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1810492796
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1810492794}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 708705254, guid: f70555f144d8491a825f0804e09c671c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_Material: {fileID: 0}
|
||||
m_Color: {r: 0, g: 1, b: 0, a: 1}
|
||||
m_RaycastTarget: 1
|
||||
m_OnCullStateChanged:
|
||||
m_PersistentCalls:
|
||||
m_Calls: []
|
||||
m_TypeName: UnityEngine.UI.MaskableGraphic+CullStateChangedEvent, UnityEngine.UI,
|
||||
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
m_FontData:
|
||||
m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0}
|
||||
m_FontSize: 100
|
||||
m_FontStyle: 0
|
||||
m_BestFit: 0
|
||||
m_MinSize: 1
|
||||
m_MaxSize: 300
|
||||
m_Alignment: 0
|
||||
m_AlignByGeometry: 0
|
||||
m_RichText: 1
|
||||
m_HorizontalOverflow: 0
|
||||
m_VerticalOverflow: 0
|
||||
m_LineSpacing: 1
|
||||
m_Text: Max
|
||||
--- !u!222 &1810492797
|
||||
CanvasRenderer:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1810492794}
|
||||
--- !u!114 &1810492798
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1810492794}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 1301386320, guid: f70555f144d8491a825f0804e09c671c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_IgnoreReversedGraphics: 1
|
||||
m_BlockingObjects: 0
|
||||
m_BlockingMask:
|
||||
serializedVersion: 2
|
||||
m_Bits: 4294967295
|
||||
--- !u!114 &1810492799
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1810492794}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 1980459831, guid: f70555f144d8491a825f0804e09c671c, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
m_UiScaleMode: 0
|
||||
m_ReferencePixelsPerUnit: 100
|
||||
m_ScaleFactor: 1
|
||||
m_ReferenceResolution: {x: 800, y: 600}
|
||||
m_ScreenMatchMode: 0
|
||||
m_MatchWidthOrHeight: 0
|
||||
m_PhysicalUnit: 3
|
||||
m_FallbackScreenDPI: 96
|
||||
m_DefaultSpriteDPI: 96
|
||||
m_DynamicPixelsPerUnit: 1
|
||||
--- !u!223 &1810492800
|
||||
Canvas:
|
||||
m_ObjectHideFlags: 0
|
||||
m_PrefabParentObject: {fileID: 0}
|
||||
m_PrefabInternal: {fileID: 0}
|
||||
m_GameObject: {fileID: 1810492794}
|
||||
m_Enabled: 1
|
||||
serializedVersion: 3
|
||||
m_RenderMode: 2
|
||||
m_Camera: {fileID: 0}
|
||||
m_PlaneDistance: 100
|
||||
m_PixelPerfect: 0
|
||||
m_ReceivesEvents: 1
|
||||
m_OverrideSorting: 0
|
||||
m_OverridePixelPerfect: 0
|
||||
m_SortingBucketNormalizedSize: 0
|
||||
m_AdditionalShaderChannelsFlag: 0
|
||||
m_SortingLayerID: 0
|
||||
m_SortingOrder: 0
|
||||
m_TargetDisplay: 0
|
||||
--- !u!1 &1865218696
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
||||
@ -23,13 +23,19 @@ public class BikeManager : MonoBehaviour {
|
||||
private float normalSpeed;
|
||||
|
||||
private float Speed {get; set; }
|
||||
private float MaxSpeed {get; set; }
|
||||
|
||||
private Queue<float> impulses = new Queue<float>();
|
||||
private float lastTimeImp;
|
||||
private float lastTimeDlt;
|
||||
public float maxTimeDlt = 1.0f;
|
||||
private float filteredSpeed;
|
||||
|
||||
private VideoManager vm;
|
||||
|
||||
// TODO: Refactor deps!
|
||||
public Text tachometer;
|
||||
public Text maxspeed;
|
||||
|
||||
// Use this for initialization
|
||||
void Start () {
|
||||
@ -54,17 +60,25 @@ public class BikeManager : MonoBehaviour {
|
||||
|
||||
// Update is called once per frame
|
||||
void Update () {
|
||||
if (Input.GetButtonDown(inputID)) {
|
||||
WheelTic();
|
||||
}
|
||||
|
||||
Speed = getBikeSpeed(speedIntegrationTime);
|
||||
Debug.Log(Speed);
|
||||
//Speed = getBikeSpeedLegacy(speedIntegrationTime);
|
||||
Speed = getBikeSpeedApproxFiltered();
|
||||
|
||||
vm.speed = Speed / normalSpeed;
|
||||
tachometer.text = (Speed * 3.6f).ToString() + "km/h";
|
||||
|
||||
if (Speed > MaxSpeed) {
|
||||
MaxSpeed = Speed;
|
||||
}
|
||||
|
||||
tachometer.text = (Speed * 3.6f).ToString("#0.0") + "km/h";
|
||||
maxspeed.text = "Max : " + (MaxSpeed * 3.6f).ToString("#0.0");
|
||||
|
||||
if (Input.GetButtonDown(inputID))
|
||||
WheelTic();
|
||||
}
|
||||
|
||||
void FixedUpdate() {
|
||||
}
|
||||
|
||||
int getBikeImpulses(float timeWindow = .5f) {
|
||||
if (impulses.Count == 0) {
|
||||
return 0;
|
||||
@ -82,7 +96,26 @@ public class BikeManager : MonoBehaviour {
|
||||
return impulses.Count;
|
||||
}
|
||||
|
||||
float getBikeSpeed(float timeWindow = .5f) {
|
||||
float getBikeSpeedApproxFiltered(float max = 90 / 3.6f) {
|
||||
float speed = getBikeSpeedApprox();
|
||||
if (speed < max)
|
||||
filteredSpeed = speed;
|
||||
return filteredSpeed;
|
||||
}
|
||||
|
||||
float getBikeSpeedApprox() {
|
||||
float newTimeDlt = Time.time - lastTimeImp;
|
||||
|
||||
if (lastTimeDlt < 0.01)
|
||||
return 0f;
|
||||
if (newTimeDlt < lastTimeDlt)
|
||||
return distancePerTick / lastTimeDlt;
|
||||
if (newTimeDlt < maxTimeDlt)
|
||||
return distancePerTick / newTimeDlt;
|
||||
return 0f;
|
||||
}
|
||||
|
||||
float getBikeSpeedLegacy(float timeWindow = .5f) {
|
||||
int imp = getBikeImpulses(timeWindow);
|
||||
return imp * distancePerTick / timeWindow;
|
||||
}
|
||||
@ -91,6 +124,11 @@ public class BikeManager : MonoBehaviour {
|
||||
impulses.Enqueue(Time.time);
|
||||
distanceRun += distancePerTick;
|
||||
//Debug.Log(GetProgress());
|
||||
|
||||
lastTimeDlt = Time.time - lastTimeImp;
|
||||
lastTimeImp = Time.time;
|
||||
|
||||
Debug.Log(lastTimeDlt);
|
||||
}
|
||||
|
||||
public float GetProgress() {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user