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
近期下载者:
相关文件:
收藏者: