تبلیغات
تبلیغات
تبلیغات
تبلیغات

مشکل کاهش سرعت بیلد در یکی از کد ها
(1 مشاهده) (1) مهمان
  • صفحه:
  • 1

موضوع: مشکل کاهش سرعت بیلد در یکی از کد ها

مشکل کاهش سرعت بیلد در یکی از کد ها 4 ماه, 2 هفته پیش #138669

  • amirsafari
  • آفلاین
  • كاربر فعال
  • ارسال: 688
  • دریافت تشكر: 522
  • 
سلام
تو یونیتی کد دور موتور ماشین رو دادم
تو یونیتی حدود 3 برابر سریعتر از داخل بیلد انجام میشه دلیلش رو کسی میدونه ؟

پاسخ: مشکل کاهش سرعت بیلد در یکی از کد ها 4 ماه, 2 هفته پیش #138673

  • 0M1D
  • آفلاین
  • کاربر همیشگی سایت
  • ارسال: 184
  • دریافت تشكر: 115
amirsafari نوشته:
سلام
تو یونیتی کد دور موتور ماشین رو دادم
تو یونیتی حدود 3 برابر سریعتر از داخل بیلد انجام میشه دلیلش رو کسی میدونه ؟


فکر میکنم مشکل یکی از این ها باشه نحوه استفاده از دو تابع Update و FixedUpdate و همچنین Time.timeScale و Time.deltaTime و در اخر تعداد فریم بر ثانیه باشه که همشون باهم در ارتباطن
كاربران زیر تشكر كردند: javadkaka

پاسخ: مشکل کاهش سرعت بیلد در یکی از کد ها 4 ماه, 2 هفته پیش #138684

  • amirsafari
  • آفلاین
  • كاربر فعال
  • ارسال: 688
  • دریافت تشكر: 522
0M1D نوشته:
amirsafari نوشته:
سلام
تو یونیتی کد دور موتور ماشین رو دادم
تو یونیتی حدود 3 برابر سریعتر از داخل بیلد انجام میشه دلیلش رو کسی میدونه ؟


فکر میکنم مشکل یکی از این ها باشه نحوه استفاده از دو تابع Update و FixedUpdate و همچنین Time.timeScale و Time.deltaTime و در اخر تعداد فریم بر ثانیه باشه که همشون باهم در ارتباطن


using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public enum DriveType
{
    Front_Drive,Rear_Drive,Both_Drive
}
public class Car_Physics : MonoBehaviour
{
    [Header("Car Setup")]
    [Space(3)]
    public WheelCollider[] Wheel_Colliders;
    public Transform[] Wheel_Transfroms;
    public Vector3 Center_Of_mass;
    public DriveType Drive_Type;
    [Header("Engine Setup")]
    [Space(3)]
    public float Max_Engine_Power = 1000f;
    public float Min_Engine_Power = 2000f ;
    public float Max_Power_RPM = 4500f;
    [Header("Sound Setup")]
    [Space(3)]
    public float Min_Pitch;
    public float Max_Pitch;
    public AudioSource Car_Idle;
    public AudioSource Car_Gas;
    [Header("Engine RPM Setup")]
    [Space(3)]
    public float Max_RPM;
    public float Min_RPM;
    public float Min_CutOff_RPM;
    public GameObject RPM_UI_Neddle;
    public GameObject[] RPM_UI_Neddle_Colors;
    public float Max_Needle_Rotation;
    public float Min_Needle_Rotation;
    public float Min_Launch_RPM;
    public float Max_Launch_RPM;
    public float Engine_Stopper_Speed;
    public float Engine_Torque_Speed;
    [HideInInspector]public float Engine_Input;
    [HideInInspector] public float Steer_Input;
    [HideInInspector] public float CurrentRPM;
    float Current_Engine_Power;
    [Header("Private")]
    [Space(3)]
    int Current_Gear;
    static float t = 0.0f;
    bool CutOffed;
    void Start()
    {
        transform.GetComponent<Rigidbody>().centerOfMass = Center_Of_mass;
        Current_Gear = 0;
        CurrentRPM = 1000f;
    }
    void Update()
    {
        Input_System();
        Wheel_Align();
        Set_Needle_Rotation();
        if (Current_Gear == 0)
        {
            RPM_N();
        }
        Engine();
    }
    void RPM_N()
    {
        if(Current_Gear ==0)
        {
            if(Engine_Input > 0 )
            {
                if (CurrentRPM < Max_RPM - 10 && !CutOffed)
                {
                    CurrentRPM += (CurrentRPM / Engine_Torque_Speed);
                }
                else
                {
                    CutOffed = true;
                    if(CutOffed && CurrentRPM >= Min_CutOff_RPM)
                    {
                        CurrentRPM -= (CurrentRPM / Engine_Stopper_Speed);
                    }
                    else
                    {
                        CutOffed = false;
                    }
                }
            }
            else
            {
                if(CurrentRPM> Min_RPM + 50 ) { 
                CurrentRPM -= (CurrentRPM / Engine_Stopper_Speed);
                }
                else
                {
                    Mathf.LerpAngle(CurrentRPM, Min_RPM, t);
                }
            }
            float Multiplier = (CurrentRPM - Min_RPM) / (Max_RPM - Min_RPM);
            if (Engine_Input > 0 || !CutOffed)
            {
                Car_Idle.volume = (1 - (Multiplier))/2;
                Car_Gas.volume = Multiplier;
                Car_Idle.pitch = Multiplier * (Max_Pitch - Min_Pitch) + Min_Pitch;
                Car_Gas.pitch = Multiplier * (Max_Pitch - Min_Pitch) + Min_Pitch;
            }
            else
            {
                Car_Idle.volume = (1 - (Multiplier))/2;
                Car_Gas.volume = Multiplier;
                Car_Idle.pitch = Multiplier * (Max_Pitch - Min_Pitch) + Min_Pitch;
                Car_Gas.pitch = Multiplier * (Max_Pitch - Min_Pitch) + Min_Pitch;
            }
        }
        if (Min_Launch_RPM < CurrentRPM  &&CurrentRPM< Max_Launch_RPM)
        {
            RPM_UI_Neddle_Colors[0].SetActive(false);
            RPM_UI_Neddle_Colors[1].SetActive(true);
        }
        else
        {
            RPM_UI_Neddle_Colors[1].SetActive(false);
            RPM_UI_Neddle_Colors[0].SetActive(true);
        }
        
  }
    
    void Wheel_Align()
    {
        for (int a=0;a< Wheel_Colliders.Length; a++)
        {
            Quaternion quat;
            Vector3 position;
            Wheel_Colliders[a].GetWorldPose(out position, out quat);
            Wheel_Transfroms[a].transform.position = position;
            Wheel_Transfroms[a].transform.rotation = quat;
        }
    }
    void Input_System()
    {
        Engine_Input = Input.GetAxis("Vertical");
        Steer_Input = Input.GetAxis("Horizontal");
    }
    void Set_Needle_Rotation()
    {
        float Multiplier = ((CurrentRPM - Min_RPM) / (Max_RPM - Min_RPM));
        RPM_UI_Neddle.transform.localEulerAngles = new Vector3(0, 180, ((Multiplier*(Max_Needle_Rotation-Min_Needle_Rotation)))+Min_Needle_Rotation);
    }
   public void put_In_Gear()
    {
        Current_Gear = 1;
    }
    void Engine()
    {
        if(Current_Gear > 0 && CurrentRPM > Max_Power_RPM) 
        {
            Current_Engine_Power = (1 - ((Max_Power_RPM - CurrentRPM) / (Max_Power_RPM))) * (Max_Engine_Power - Min_Engine_Power) + Min_Engine_Power;
        }
        if(Current_Gear>0 && CurrentRPM < Max_Power_RPM)
        {
            Current_Engine_Power = ((CurrentRPM - Min_RPM) / (Max_Power_RPM - Min_RPM)) * (Max_Engine_Power - Min_Engine_Power) + Min_Engine_Power;
        }
        if (Current_Gear > 0)
        {
            if (Drive_Type == DriveType.Front_Drive)
            {
                Wheel_Colliders[0].motorTorque = -(Engine_Input) * Current_Engine_Power;
                Wheel_Colliders[1].motorTorque = -(Engine_Input) * Current_Engine_Power;
            }
            if (Drive_Type == DriveType.Rear_Drive)
            {
                Wheel_Colliders[2].motorTorque = -(Engine_Input) * Current_Engine_Power;
                Wheel_Colliders[3].motorTorque = -(Engine_Input) * Current_Engine_Power;
            }
            if (Drive_Type == DriveType.Both_Drive)
            {
                Wheel_Colliders[0].motorTorque = -(Engine_Input) * Current_Engine_Power;
                Wheel_Colliders[1].motorTorque = -(Engine_Input) * Current_Engine_Power;
                Wheel_Colliders[2].motorTorque = -(Engine_Input) * Current_Engine_Power;
                Wheel_Colliders[3].motorTorque = -(Engine_Input) * Current_Engine_Power;
            }
        }
    }
}

من نمیدونم خب مشکل این کجاست تو ادیتور درسته ها بیلد میگیرم سرعت دور موتور 1/3 میشه

پاسخ: مشکل کاهش سرعت بیلد در یکی از کد ها 4 ماه, 2 هفته پیش #138708

  • 0M1D
  • آفلاین
  • کاربر همیشگی سایت
  • ارسال: 184
  • دریافت تشكر: 115
amirsafari نوشته:
0M1D نوشته:
amirsafari نوشته:
سلام
تو یونیتی کد دور موتور ماشین رو دادم
تو یونیتی حدود 3 برابر سریعتر از داخل بیلد انجام میشه دلیلش رو کسی میدونه ؟


فکر میکنم مشکل یکی از این ها باشه نحوه استفاده از دو تابع Update و FixedUpdate و همچنین Time.timeScale و Time.deltaTime و در اخر تعداد فریم بر ثانیه باشه که همشون باهم در ارتباطن


using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public enum DriveType
{
    Front_Drive,Rear_Drive,Both_Drive
}
public class Car_Physics : MonoBehaviour
{
    [Header("Car Setup")]
    [Space(3)]
    public WheelCollider[] Wheel_Colliders;
    public Transform[] Wheel_Transfroms;
    public Vector3 Center_Of_mass;
    public DriveType Drive_Type;
    [Header("Engine Setup")]
    [Space(3)]
    public float Max_Engine_Power = 1000f;
    public float Min_Engine_Power = 2000f ;
    public float Max_Power_RPM = 4500f;
    [Header("Sound Setup")]
    [Space(3)]
    public float Min_Pitch;
    public float Max_Pitch;
    public AudioSource Car_Idle;
    public AudioSource Car_Gas;
    [Header("Engine RPM Setup")]
    [Space(3)]
    public float Max_RPM;
    public float Min_RPM;
    public float Min_CutOff_RPM;
    public GameObject RPM_UI_Neddle;
    public GameObject[] RPM_UI_Neddle_Colors;
    public float Max_Needle_Rotation;
    public float Min_Needle_Rotation;
    public float Min_Launch_RPM;
    public float Max_Launch_RPM;
    public float Engine_Stopper_Speed;
    public float Engine_Torque_Speed;
    [HideInInspector]public float Engine_Input;
    [HideInInspector] public float Steer_Input;
    [HideInInspector] public float CurrentRPM;
    float Current_Engine_Power;
    [Header("Private")]
    [Space(3)]
    int Current_Gear;
    static float t = 0.0f;
    bool CutOffed;
    void Start()
    {
        transform.GetComponent<Rigidbody>().centerOfMass = Center_Of_mass;
        Current_Gear = 0;
        CurrentRPM = 1000f;
    }
    void Update()
    {
        Input_System();
        Wheel_Align();
        Set_Needle_Rotation();
        if (Current_Gear == 0)
        {
            RPM_N();
        }
        Engine();
    }
    void RPM_N()
    {
        if(Current_Gear ==0)
        {
            if(Engine_Input > 0 )
            {
                if (CurrentRPM < Max_RPM - 10 && !CutOffed)
                {
                    CurrentRPM += (CurrentRPM / Engine_Torque_Speed);
                }
                else
                {
                    CutOffed = true;
                    if(CutOffed && CurrentRPM >= Min_CutOff_RPM)
                    {
                        CurrentRPM -= (CurrentRPM / Engine_Stopper_Speed);
                    }
                    else
                    {
                        CutOffed = false;
                    }
                }
            }
            else
            {
                if(CurrentRPM> Min_RPM + 50 ) { 
                CurrentRPM -= (CurrentRPM / Engine_Stopper_Speed);
                }
                else
                {
                    Mathf.LerpAngle(CurrentRPM, Min_RPM, t);
                }
            }
            float Multiplier = (CurrentRPM - Min_RPM) / (Max_RPM - Min_RPM);
            if (Engine_Input > 0 || !CutOffed)
            {
                Car_Idle.volume = (1 - (Multiplier))/2;
                Car_Gas.volume = Multiplier;
                Car_Idle.pitch = Multiplier * (Max_Pitch - Min_Pitch) + Min_Pitch;
                Car_Gas.pitch = Multiplier * (Max_Pitch - Min_Pitch) + Min_Pitch;
            }
            else
            {
                Car_Idle.volume = (1 - (Multiplier))/2;
                Car_Gas.volume = Multiplier;
                Car_Idle.pitch = Multiplier * (Max_Pitch - Min_Pitch) + Min_Pitch;
                Car_Gas.pitch = Multiplier * (Max_Pitch - Min_Pitch) + Min_Pitch;
            }
        }
        if (Min_Launch_RPM < CurrentRPM  &&CurrentRPM< Max_Launch_RPM)
        {
            RPM_UI_Neddle_Colors[0].SetActive(false);
            RPM_UI_Neddle_Colors[1].SetActive(true);
        }
        else
        {
            RPM_UI_Neddle_Colors[1].SetActive(false);
            RPM_UI_Neddle_Colors[0].SetActive(true);
        }
        
  }
    
    void Wheel_Align()
    {
        for (int a=0;a< Wheel_Colliders.Length; a++)
        {
            Quaternion quat;
            Vector3 position;
            Wheel_Colliders[a].GetWorldPose(out position, out quat);
            Wheel_Transfroms[a].transform.position = position;
            Wheel_Transfroms[a].transform.rotation = quat;
        }
    }
    void Input_System()
    {
        Engine_Input = Input.GetAxis("Vertical");
        Steer_Input = Input.GetAxis("Horizontal");
    }
    void Set_Needle_Rotation()
    {
        float Multiplier = ((CurrentRPM - Min_RPM) / (Max_RPM - Min_RPM));
        RPM_UI_Neddle.transform.localEulerAngles = new Vector3(0, 180, ((Multiplier*(Max_Needle_Rotation-Min_Needle_Rotation)))+Min_Needle_Rotation);
    }
   public void put_In_Gear()
    {
        Current_Gear = 1;
    }
    void Engine()
    {
        if(Current_Gear > 0 && CurrentRPM > Max_Power_RPM) 
        {
            Current_Engine_Power = (1 - ((Max_Power_RPM - CurrentRPM) / (Max_Power_RPM))) * (Max_Engine_Power - Min_Engine_Power) + Min_Engine_Power;
        }
        if(Current_Gear>0 && CurrentRPM < Max_Power_RPM)
        {
            Current_Engine_Power = ((CurrentRPM - Min_RPM) / (Max_Power_RPM - Min_RPM)) * (Max_Engine_Power - Min_Engine_Power) + Min_Engine_Power;
        }
        if (Current_Gear > 0)
        {
            if (Drive_Type == DriveType.Front_Drive)
            {
                Wheel_Colliders[0].motorTorque = -(Engine_Input) * Current_Engine_Power;
                Wheel_Colliders[1].motorTorque = -(Engine_Input) * Current_Engine_Power;
            }
            if (Drive_Type == DriveType.Rear_Drive)
            {
                Wheel_Colliders[2].motorTorque = -(Engine_Input) * Current_Engine_Power;
                Wheel_Colliders[3].motorTorque = -(Engine_Input) * Current_Engine_Power;
            }
            if (Drive_Type == DriveType.Both_Drive)
            {
                Wheel_Colliders[0].motorTorque = -(Engine_Input) * Current_Engine_Power;
                Wheel_Colliders[1].motorTorque = -(Engine_Input) * Current_Engine_Power;
                Wheel_Colliders[2].motorTorque = -(Engine_Input) * Current_Engine_Power;
                Wheel_Colliders[3].motorTorque = -(Engine_Input) * Current_Engine_Power;
            }
        }
    }
}

من نمیدونم خب مشکل این کجاست تو ادیتور درسته ها بیلد میگیرم سرعت دور موتور 1/3 میشه







بجای این تابع
void Update() 
این تابع رو جایگزین بفرمایید
void FixedUpdate () 
و بجایی این تابع
void Start ()
از این تابع استفاده نمایید
void Awake ()
ببین ردیف میشه باز اگه مشکل داشت بگو با کمک همه بچه های انجمن و اساتید که حرفه ای هستن حل کنیم مشکل رو

راستی کد رو خودت نوشتی ؟ میتونی بری کد های نمونه های اماده رو ببنی با کد خودت مقایسه کنی شاید این بهترین راه باشه

ویرایش : الان کد های RCC رو دیدم هم از FixedUpdate استقاده کرده بود هم از Update باید بدونی کجا ازشون استفاده کنی دقیقا
ولی تابع Start نداشت و فقط Awake که درستشم همینه
آخرین ویرایش: 4 ماه, 2 هفته پیش ارسال توسط 0M1D.

پاسخ: مشکل کاهش سرعت بیلد در یکی از کد ها 4 ماه, 2 هفته پیش #138709

  • amirsafari
  • آفلاین
  • كاربر فعال
  • ارسال: 688
  • دریافت تشكر: 522
0M1D نوشته:
amirsafari نوشته:
0M1D نوشته:
amirsafari نوشته:
سلام
تو یونیتی کد دور موتور ماشین رو دادم
تو یونیتی حدود 3 برابر سریعتر از داخل بیلد انجام میشه دلیلش رو کسی میدونه ؟


فکر میکنم مشکل یکی از این ها باشه نحوه استفاده از دو تابع Update و FixedUpdate و همچنین Time.timeScale و Time.deltaTime و در اخر تعداد فریم بر ثانیه باشه که همشون باهم در ارتباطن


using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public enum DriveType
{
    Front_Drive,Rear_Drive,Both_Drive
}
public class Car_Physics : MonoBehaviour
{
    [Header("Car Setup")]
    [Space(3)]
    public WheelCollider[] Wheel_Colliders;
    public Transform[] Wheel_Transfroms;
    public Vector3 Center_Of_mass;
    public DriveType Drive_Type;
    [Header("Engine Setup")]
    [Space(3)]
    public float Max_Engine_Power = 1000f;
    public float Min_Engine_Power = 2000f ;
    public float Max_Power_RPM = 4500f;
    [Header("Sound Setup")]
    [Space(3)]
    public float Min_Pitch;
    public float Max_Pitch;
    public AudioSource Car_Idle;
    public AudioSource Car_Gas;
    [Header("Engine RPM Setup")]
    [Space(3)]
    public float Max_RPM;
    public float Min_RPM;
    public float Min_CutOff_RPM;
    public GameObject RPM_UI_Neddle;
    public GameObject[] RPM_UI_Neddle_Colors;
    public float Max_Needle_Rotation;
    public float Min_Needle_Rotation;
    public float Min_Launch_RPM;
    public float Max_Launch_RPM;
    public float Engine_Stopper_Speed;
    public float Engine_Torque_Speed;
    [HideInInspector]public float Engine_Input;
    [HideInInspector] public float Steer_Input;
    [HideInInspector] public float CurrentRPM;
    float Current_Engine_Power;
    [Header("Private")]
    [Space(3)]
    int Current_Gear;
    static float t = 0.0f;
    bool CutOffed;
    void Start()
    {
        transform.GetComponent<Rigidbody>().centerOfMass = Center_Of_mass;
        Current_Gear = 0;
        CurrentRPM = 1000f;
    }
    void Update()
    {
        Input_System();
        Wheel_Align();
        Set_Needle_Rotation();
        if (Current_Gear == 0)
        {
            RPM_N();
        }
        Engine();
    }
    void RPM_N()
    {
        if(Current_Gear ==0)
        {
            if(Engine_Input > 0 )
            {
                if (CurrentRPM < Max_RPM - 10 && !CutOffed)
                {
                    CurrentRPM += (CurrentRPM / Engine_Torque_Speed);
                }
                else
                {
                    CutOffed = true;
                    if(CutOffed && CurrentRPM >= Min_CutOff_RPM)
                    {
                        CurrentRPM -= (CurrentRPM / Engine_Stopper_Speed);
                    }
                    else
                    {
                        CutOffed = false;
                    }
                }
            }
            else
            {
                if(CurrentRPM> Min_RPM + 50 ) { 
                CurrentRPM -= (CurrentRPM / Engine_Stopper_Speed);
                }
                else
                {
                    Mathf.LerpAngle(CurrentRPM, Min_RPM, t);
                }
            }
            float Multiplier = (CurrentRPM - Min_RPM) / (Max_RPM - Min_RPM);
            if (Engine_Input > 0 || !CutOffed)
            {
                Car_Idle.volume = (1 - (Multiplier))/2;
                Car_Gas.volume = Multiplier;
                Car_Idle.pitch = Multiplier * (Max_Pitch - Min_Pitch) + Min_Pitch;
                Car_Gas.pitch = Multiplier * (Max_Pitch - Min_Pitch) + Min_Pitch;
            }
            else
            {
                Car_Idle.volume = (1 - (Multiplier))/2;
                Car_Gas.volume = Multiplier;
                Car_Idle.pitch = Multiplier * (Max_Pitch - Min_Pitch) + Min_Pitch;
                Car_Gas.pitch = Multiplier * (Max_Pitch - Min_Pitch) + Min_Pitch;
            }
        }
        if (Min_Launch_RPM < CurrentRPM  &&CurrentRPM< Max_Launch_RPM)
        {
            RPM_UI_Neddle_Colors[0].SetActive(false);
            RPM_UI_Neddle_Colors[1].SetActive(true);
        }
        else
        {
            RPM_UI_Neddle_Colors[1].SetActive(false);
            RPM_UI_Neddle_Colors[0].SetActive(true);
        }
        
  }
    
    void Wheel_Align()
    {
        for (int a=0;a< Wheel_Colliders.Length; a++)
        {
            Quaternion quat;
            Vector3 position;
            Wheel_Colliders[a].GetWorldPose(out position, out quat);
            Wheel_Transfroms[a].transform.position = position;
            Wheel_Transfroms[a].transform.rotation = quat;
        }
    }
    void Input_System()
    {
        Engine_Input = Input.GetAxis("Vertical");
        Steer_Input = Input.GetAxis("Horizontal");
    }
    void Set_Needle_Rotation()
    {
        float Multiplier = ((CurrentRPM - Min_RPM) / (Max_RPM - Min_RPM));
        RPM_UI_Neddle.transform.localEulerAngles = new Vector3(0, 180, ((Multiplier*(Max_Needle_Rotation-Min_Needle_Rotation)))+Min_Needle_Rotation);
    }
   public void put_In_Gear()
    {
        Current_Gear = 1;
    }
    void Engine()
    {
        if(Current_Gear > 0 && CurrentRPM > Max_Power_RPM) 
        {
            Current_Engine_Power = (1 - ((Max_Power_RPM - CurrentRPM) / (Max_Power_RPM))) * (Max_Engine_Power - Min_Engine_Power) + Min_Engine_Power;
        }
        if(Current_Gear>0 && CurrentRPM < Max_Power_RPM)
        {
            Current_Engine_Power = ((CurrentRPM - Min_RPM) / (Max_Power_RPM - Min_RPM)) * (Max_Engine_Power - Min_Engine_Power) + Min_Engine_Power;
        }
        if (Current_Gear > 0)
        {
            if (Drive_Type == DriveType.Front_Drive)
            {
                Wheel_Colliders[0].motorTorque = -(Engine_Input) * Current_Engine_Power;
                Wheel_Colliders[1].motorTorque = -(Engine_Input) * Current_Engine_Power;
            }
            if (Drive_Type == DriveType.Rear_Drive)
            {
                Wheel_Colliders[2].motorTorque = -(Engine_Input) * Current_Engine_Power;
                Wheel_Colliders[3].motorTorque = -(Engine_Input) * Current_Engine_Power;
            }
            if (Drive_Type == DriveType.Both_Drive)
            {
                Wheel_Colliders[0].motorTorque = -(Engine_Input) * Current_Engine_Power;
                Wheel_Colliders[1].motorTorque = -(Engine_Input) * Current_Engine_Power;
                Wheel_Colliders[2].motorTorque = -(Engine_Input) * Current_Engine_Power;
                Wheel_Colliders[3].motorTorque = -(Engine_Input) * Current_Engine_Power;
            }
        }
    }
}

من نمیدونم خب مشکل این کجاست تو ادیتور درسته ها بیلد میگیرم سرعت دور موتور 1/3 میشه







بجای این تابع
void Update() 
این تابع رو جایگزین بفرما
void FixedUpdate () 
و بجایی این تابع
void Start ()
از این تابع استفاده بنما
void Awake ()
ببین ردیف میشه باز اگه مشکل داشت بگو با کمک همه بچه های انجمن و اساتید که حرفه ای هستن حل کنیم مشکل رو

راستی کد رو خودت نوشتی ؟ میتونی بری کد های نمونه های اماده رو ببنی با کد خودت مقایسه کنی شاید این بهترین راه باشه

بله کد کار منه
ممنون از راهنمایی
  • صفحه:
  • 1
زمان ایجاد صفحه: 0.16 ثانیه

جدیدترین آثار ارسالی در گالری

تبلیغات
تبلیغات

جدیدترین ارسالهای تالارگفتگو