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

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

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

مشکل کاهش سرعت بیلد در یکی از کد ها 1 ماه پیش #138669

  • amirsafari
  • آفلاین
  • كاربر فعال
  • یونیتی کجایی که اونی باهات کار می کنه رو کشتن!
  • ارسال: 668
  • دریافت تشكر: 479
  • 
سلام
تو یونیتی کد دور موتور ماشین رو دادم
تو یونیتی حدود 3 برابر سریعتر از داخل بیلد انجام میشه دلیلش رو کسی میدونه ؟
آدرس ایمیل جهت جلوگیری از رباتهای هرزنامه محافظت شده اند، جهت مشاهده آنها شما نیاز به فعال ساختن جاوا اسکریپت دارید
www.mostafa3d.com/forum/profile?func=profile
ای خدا !مهارت ها :(adobe after effects-adobe photoshop-adobe flash-autodesk 3dsmax-Unity)انیمیشن در حال ساختم :)
www.mostafa3d.com/forum?func=view&ca...amp;id=132785#132802

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

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


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

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

  • amirsafari
  • آفلاین
  • كاربر فعال
  • یونیتی کجایی که اونی باهات کار می کنه رو کشتن!
  • ارسال: 668
  • دریافت تشكر: 479
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 میشه
آدرس ایمیل جهت جلوگیری از رباتهای هرزنامه محافظت شده اند، جهت مشاهده آنها شما نیاز به فعال ساختن جاوا اسکریپت دارید
www.mostafa3d.com/forum/profile?func=profile
ای خدا !مهارت ها :(adobe after effects-adobe photoshop-adobe flash-autodesk 3dsmax-Unity)انیمیشن در حال ساختم :)
www.mostafa3d.com/forum?func=view&ca...amp;id=132785#132802

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

  • 0M1D
  • آفلاین
  • کاربر همیشگی سایت
  • ارسال: 180
  • دریافت تشكر: 111
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 هفته پیش ارسال توسط 0M1D.

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

  • amirsafari
  • آفلاین
  • كاربر فعال
  • یونیتی کجایی که اونی باهات کار می کنه رو کشتن!
  • ارسال: 668
  • دریافت تشكر: 479
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 ()
ببین ردیف میشه باز اگه مشکل داشت بگو با کمک همه بچه های انجمن و اساتید که حرفه ای هستن حل کنیم مشکل رو

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

بله کد کار منه
ممنون از راهنمایی
آدرس ایمیل جهت جلوگیری از رباتهای هرزنامه محافظت شده اند، جهت مشاهده آنها شما نیاز به فعال ساختن جاوا اسکریپت دارید
www.mostafa3d.com/forum/profile?func=profile
ای خدا !مهارت ها :(adobe after effects-adobe photoshop-adobe flash-autodesk 3dsmax-Unity)انیمیشن در حال ساختم :)
www.mostafa3d.com/forum?func=view&ca...amp;id=132785#132802
  • صفحه:
  • 1
زمان ایجاد صفحه: 0.17 ثانیه

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

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

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