Riders

所属分类:自动驾驶
开发工具:C#
文件大小:0KB
下载次数:0
上传日期:2023-09-21 06:39:58
上 传 者sh-1993
说明:  Unity汽车模拟器,
(Unity Car simulator,)

文件列表:
LICENSE (1068, 2023-09-20)
Riders/ (0, 2023-09-20)
Riders/.vsconfig (99, 2023-09-20)
Riders/Assets/ (0, 2023-09-20)
Riders/Assets/Animations.meta (172, 2023-09-20)
Riders/Assets/Animations/ (0, 2023-09-20)
Riders/Assets/Animations/Button controller.controller (15364, 2023-09-20)
Riders/Assets/Animations/Button controller.controller.meta (188, 2023-09-20)
Riders/Assets/Animations/ButtonHover.anim (4175, 2023-09-20)
Riders/Assets/Animations/ButtonHover.anim.meta (188, 2023-09-20)
Riders/Assets/Asset.meta (172, 2023-09-20)
Riders/Assets/Asset/ (0, 2023-09-20)
Riders/Assets/Asset/Drift Terrain.asset (3487696, 2023-09-20)
Riders/Assets/Asset/Drift Terrain.asset.meta (181, 2023-09-20)
Riders/Assets/Asset/Icons.meta (193, 2023-09-20)
Riders/Assets/Asset/Icons/ (0, 2023-09-20)
Riders/Assets/Asset/Icons/Game Cursor.png (61133, 2023-09-20)
Riders/Assets/Asset/Icons/Game Cursor.png.meta (1161, 2023-09-20)
Riders/Assets/Asset/Skyboxes MegaPack 1.meta (193, 2023-09-20)
Riders/Assets/Asset/Skyboxes MegaPack 1/ (0, 2023-09-20)
Riders/Assets/Asset/Skyboxes MegaPack 1/1.meta (193, 2023-09-20)
Riders/Assets/Asset/Skyboxes MegaPack 1/1/ (0, 2023-09-20)
Riders/Assets/Asset/Skyboxes MegaPack 1/1/1.mat (1906, 2023-09-20)
Riders/Assets/Asset/Skyboxes MegaPack 1/1/1.mat.meta (138, 2023-09-20)
Riders/Assets/Asset/Skyboxes MegaPack 1/1/Back.png (676474, 2023-09-20)
Riders/Assets/Asset/Skyboxes MegaPack 1/1/Back.png.meta (1117, 2023-09-20)
Riders/Assets/Asset/Skyboxes MegaPack 1/1/Down.png (820736, 2023-09-20)
Riders/Assets/Asset/Skyboxes MegaPack 1/1/Down.png.meta (1117, 2023-09-20)
Riders/Assets/Asset/Skyboxes MegaPack 1/1/Front.png (683832, 2023-09-20)
Riders/Assets/Asset/Skyboxes MegaPack 1/1/Front.png.meta (1117, 2023-09-20)
Riders/Assets/Asset/Skyboxes MegaPack 1/1/Left.png (639284, 2023-09-20)
Riders/Assets/Asset/Skyboxes MegaPack 1/1/Left.png.meta (1117, 2023-09-20)
Riders/Assets/Asset/Skyboxes MegaPack 1/1/Materials.meta (172, 2023-09-20)
Riders/Assets/Asset/Skyboxes MegaPack 1/1/Materials/ (0, 2023-09-20)
Riders/Assets/Asset/Skyboxes MegaPack 1/1/Materials/Right.mat (2151, 2023-09-20)
Riders/Assets/Asset/Skyboxes MegaPack 1/1/Materials/Right.mat.meta (188, 2023-09-20)
Riders/Assets/Asset/Skyboxes MegaPack 1/1/Materials/Up.mat (2148, 2023-09-20)
... ...

# Racing Simulator : (2022.08.02) ## **[23.09.21]** ### [Review] 1. 1 2 2. , . ( Refactoring) 3. UI , . 4. Addressable . 5. . UTF-8 . ### [Refactoring] 1. : , . string StringBuilder . . . . --- ## 1. --- - : 22.07.28 ~ 22.08.06 - : 23.09.21 --- . , . 3 , . FF, FR, RR . , () . Logitech G29 , . ## 2. --- ### 1. --- ![image](https://user-images.githubusercontent.com/65384983/206628653-cc7a5ee0-663b-4252-9de6-33abdb6b934e.png) **Wheel Collider** . **Wheel Collider** . **Wheel Collider** 4 . ```csharp protected class WheelInfo // Left and Right Wheels { public WheelCollider Left_Wheel; public WheelCollider Right_Wheel; } ``` , **WheelInfo** . **WheelInfo** **List** . ```csharp protected List Wheels = new List(); // Wheels List WheelInfo Front = new WheelInfo(); WheelInfo Back = new WheelInfo(); Wheels.Add(Front); Wheels.Add(Back); ``` **Wheels[0]** , **Wheels[1]** . ```csharp // Steer Wheels[0].Left_Wheel.steerAngle = Steering; Wheels[0].Right_Wheel.steerAngle = Steering; // Motor Wheels[0].Left_Wheel.motorTorque = Motor; Wheels[0].Right_Wheel.motorTorque = Motor; // Brake Wheels[0].Left_Wheel.brakeTorque = Brake; Wheels[0].Right_Wheel.brakeTorque = Brake; ``` **Wheel Collider** **motorTorque, brakeTorque, steerAngle** . ### 2. (Visual Wheel) --- ![image](https://user-images.githubusercontent.com/65384983/206628790-cabd665a-b43d-410e-9df5-405525dae671.png) **Wheel Collider** ** (Visual Wheel)** . ```csharp protected virtual void MoveVisualWheel(WheelCollider wheel) { wheel.GetWorldPose(out colliderWorldPos, out colliderWorldRot); visualWheel = wheel.transform.GetChild(0).gameObject; visualWheel.transform.position = colliderWorldPos; visualWheel.transform.rotation = colliderWorldRot; } ``` **Wheel Collider** **WorldPosition, WorldRotation** , **Wheel Collider** . ### 3. --- - **FF (Front engine Front wheel drive) : Audi A3** --- ![image](https://user-images.githubusercontent.com/65384983/206628847-90f84dee-00d9-4087-b5ca-66651ee0f16e.png) A3 FF . , . . . , FF . ```csharp // Steer Wheels[0].Left_Wheel.steerAngle = Steering; // Wheels[0].Right_Wheel.steerAngle = Steering; // Motor Wheels[0].Left_Wheel.motorTorque = Motor; // Wheels[0].Right_Wheel.motorTorque = Motor; // Brake Wheels[0].Left_Wheel.brakeTorque = Brake; Wheels[0].Right_Wheel.brakeTorque = Brake; ``` - **FR (Front engine Rear wheel drive) : Camaro RS 2015** --- ![image](https://user-images.githubusercontent.com/65384983/206628923-4892d7da-9c09-45f1-ae62-177c8a95b710.png) RS FR . FF . , . ```csharp // Steer Wheels[0].Left_Wheel.steerAngle = Steering; // Wheels[0].Right_Wheel.steerAngle = Steering; // Motor Wheels[1].Left_Wheel.motorTorque = Motor; // Wheels[1].Right_Wheel.motorTorque = Motor; // Brake Wheels[1].Left_Wheel.brakeTorque = Brake; Wheels[1].Right_Wheel.brakeTorque = Brake; ``` **motorTorque** . - **RR (Rear engine Rear wheel drive) : Porsche 911 Carrera** --- ![image](https://user-images.githubusercontent.com/65384983/206628961-4e7801be-e3a8-4254-b015-140dd6479e28.png) 911 RR . RR . . FR . - ** ** --- ```csharp protected virtual void RigidBodySetUp() { rigidBody = GetComponent(); centerOfMass = GameObject.FindGameObjectWithTag("CM").gameObject; rigidBody.centerOfMass = centerOfMass.transform.localPosi ``` ** ** , **Rigidbody** **Center Of Mass** . ### 4. --- . **‘’ (Zero + 100)** , **** , . - ** A3** --- A3 ** 7** . 100km/h , ** ** A3 **** . $$ a = (V_2 - V_1) / t $$ 100km/h m/s . $$ 100,000m / 3,600s = 27.77 m/s $$ , 3.967 m/s . $$ a = (27.77_m/_s - 0_m/_s) / 7_s = 3.967~(m/s) $$ A3 **(F)** . $$ F = m * a $$ $$ F = 1410~(kg : ~) * 3.967~(m/s)~=~5593.47~(N) $$ F M . $$ M(torque) = r(raidus) * F $$ A3 Wheel Collider **0.34 unit → 0.34 m** . , M . $$ M(torque) = 0.34~m * 5593.47~(N) = 1901.78~(kgf) $$ ```csharp protected override void Init() { MaxVelocity = 210f; // A3 MaxWheelAngle = 45; MaxMotorPower = 1901f; // MaxBrakePower = 3000f; } ``` A3 MaxMotorPower . . Mass , Drag 0.001 . ![image](https://user-images.githubusercontent.com/65384983/206629021-3d4825eb-1f8e-45cb-a77e-6cb63e03e005.png) --- [https://youtu.be/hox9B4kyHMc](https://youtu.be/hox9B4kyHMc) 6.7 7 . ‘GO’ , . . - ** 911 ** --- **** **- : 4.2** **- : 6.611 m/s** **- : 1,475 kg** **- : 0.35 m** **- : 3412.928 kgf** **- : 291 km/h** ```csharp protected override void Init() { MaxVelocity = 293f; MaxWheelAngle = 45; MaxMotorPower = 3413f; // It means motorTorque MaxBrakePower = 5000f; // Brake } ``` https://youtu.be/jIcSNJyYP6s - ** RS** --- **** **- : 4.4** **- : 6.311 m/s** **- : 1,765 kg** **- : 0.38 m** **- : 4232.787 kgf** **- : 288 km/h** ```csharp protected override void Init() { MaxVelocity = 288f; MaxWheelAngle = 45; MaxMotorPower = 4233f; // It means motorTorque MaxBrakePower = 6000f; // Brake } ``` https://youtu.be/bHgbl0W80YQ ### 5. (SpeedoMeter) --- . . ```csharp speedFactor = Mathf.Abs(rigidBody.velocity.magnitude * 3.6f / MaxVelocity); ``` **Rigidbody** **Velocity.magnitude** m/s . **3.6** km/h . , . ** 45℃** . ** ** **315℃** . , . . ![image](https://user-images.githubusercontent.com/65384983/206629081-c4ec9cbf-45e9-4066-a808-24a9a246af2d.png) ```csharp rotationAngle = Mathf.Lerp(0, 315, speedFactor); ``` **rotationAngle** . ```csharp arrowPointer.rectTransform.rotation = Quaternion.Euler(new Vector3(0f, 0f, -rotationAngle)); ``` , . ![speedo.gif](https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ee7a92fd-5f19-4312-ad7b-f0bb8d6051f4/speedo.gif) **Pivot** . ### 6. G29 --- **Logitech G29** , . **G29** Asset Store **Logitech SDK** Logitech Lab **Wheel SDK** . - **Logitech Gaming SDK : Unity Asset Store** [Logitech Gaming SDK | Integration | Unity Asset Store](https://assetstore.unity.com/packages/tools/integration/logitech-gaming-sdk-6630) - **Logitech Wheel SDK : Logitech G Developer Lab** [Logitech G Developer Lab - Software Development Kits](https://www.logitechg.com/en-eu/innovation/developer-lab.html) --- - **** --- **G29** **OFF 32,767**, **ON -32,767** . **(32,767 ~ -32,767)** **(, , )** **Input Value** Motor , **OFF 0**, **ON Max(Motor, Brake)Power** . . ![image](https://user-images.githubusercontent.com/65384983/206629243-adeff6d0-b777-4eb9-8882-d7d52093f78c.png) **0 ~ MaxPower** . ```csharp Int2Throttle = 65534 / MaxMotorPower; // Convert Int to Throttle pedal value Int2Brake = 65534 / MaxBrakePower; // Convert Int to Brake pedal value Motor = Mathf.Round((-controller.lY + Mathf.Abs(controller.lY)) / Int2Throttle); // Throttle Brake = Mathf.Round((-controller.lRz + Mathf.Abs(controller.lRz)) / Int2Brake); // Brake ``` - **** --- , ** ** ** ** . ![image](https://user-images.githubusercontent.com/65384983/206629273-9a5d9663-ab11-4b5e-9825-9e55cac117bc.png) **-45 ~ 45** MaxSteer 45 , G29 **900 (-450 ~ 450)** MaxHandle 450 . ```csharp Int2HandleAngle = 32767f / MaxHandleAngle; // 32767 / 450 >> Convert Int to Handle Degree Handle2WheelAngle = MaxHandleAngle / MaxWheelAngle; // 450 / 45 >> Convert Handle Degree to Wheel Degree Steering = controller.lX / Int2HandleAngle / Handle2WheelAngle; // Handle ``` - **** --- **AUTO ** **, , ** . **G29** . ```csharp for (int i = 0; i < 128; i++) // Gear Button Input { if (controller.rgbButtons[i] == 128) { if (i == 12) // Forward gear D { FrontGear = true; BackGear = false; Debug.Log("1 st Gear Input"); } else if (i == 18) // Back gear R { FrontGear = false; BackGear = true; Debug.Log("Backward Gear Input"); } } } if (controller.rgbButtons[12] != 128 && controller.rgbButtons[18] != 128) // Gear N { FrontGear = false; BackGear = false; } ``` 12 1 , 17 6 , 18 ** **. , **12 (D)**, **18 (R)**, **(N)** . --- - ** ** --- https://youtu.be/9fb-_Vwi5X0 - ** ** --- https://youtu.be/kImAG1fVpnA

近期下载者

相关文件


收藏者