Hey merhaba ziyaretçi bize destek olmak ister misin ? Hemen Kayıt Ol Seni hiç sıkmadan kayıt edeceğiz endişelenmek bize destek olduğun için teşekkürler.



  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Karakter Kontrolde ray çizmesinde sorun var
#1
Sad 
Bir kod yazdım karater kamera dönmesiyle alakalı fakat mouse imlecimi ekranın alt tarafına getirince karakter bir yöne dönüp doğrusal yürümeye başlıyor . İmleç ekranın üst tarafındayken imlecimin olduğu yöne dönebiliyor . 2 saattir bununla uğraşıyorum ama bir türlü çözemedim. Kodlarımı düzenledim fakat aynı sorunu yaşamaya devam ediyorum . Collider görmediği için mi çizemiyor acaba diye düşündüm . Karakteri küçük bir kutuya koydum ama yine aynı sorunu yaşamaya devam ediyorum . yardımcı olabilir misiniz ?




  Cevapla
#2
Kodu paylaşabilir misin?
  Cevapla
#3
(22-03-2020, Saat: 14:54)mtat0640 Nickli Kullanıcıdan Alıntı: Linkleri görüntüleyebilmek için Kayıt ol manız veya Giriş yapmanız gerekiyor.Anlayışınız için teşekkürler.!Kodu paylaşabilir misin?

Kod:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class KarakteriKontrol : MonoBehaviour
{
   float Horizontal = 0, Vertical = 0;

   public CursorLockMode CursorLockMode { get; private set; }

   Animator animator;
   Rigidbody fizik;
   public GameObject kafakamerasi;
   Vector3 kameraArasimesafe;
   RaycastHit hit;
   float KafarotUstAlt = 0, KafarotSagSol = 0;
   public float hiz = 0;

   void Awake()
   {
       Cursor.visible = false;
       CursorLockMode = CursorLockMode.Locked;
       animator = GetComponent<Animator>();
       fizik = GetComponent<Rigidbody>();
       kameraArasimesafe = kafakamerasi.transform.position - transform.position;
   }
   private void Update()
   {
       if (Input.GetKeyDown(KeyCode.LeftShift))
       {
           hiz *= 2;

           animator.SetBool("runparam", true);
       }
       else if (Input.GetKeyUp(KeyCode.LeftShift))
       {
           hiz /= 2;
           animator.SetBool("runparam", false);
       }
           
       
   }

   void FixedUpdate()
   {
       Haraket();
       Rotasyon();
       animator.SetFloat("HorizontalParam", Horizontal);
       animator.SetFloat("VerticalParam", Vertical);

   }

   
   void Haraket()
   {
       Horizontal = Input.GetAxis("Horizontal");
       Vertical = Input.GetAxis("Vertical");
       Vector3 vec = new Vector3(Horizontal, 0, Vertical);
       vec = transform.TransformDirection(vec);
       vec.Normalize();
       fizik.position += vec*Time.deltaTime * hiz;

   }
   void Rotasyon()
   {
       kafakamerasi.transform.position = transform.position + kameraArasimesafe;
       KafarotUstAlt += Input.GetAxis("Mouse Y") * Time.fixedDeltaTime * -150;
       KafarotSagSol += Input.GetAxis("Mouse X") * Time.fixedDeltaTime * 150;
       KafarotUstAlt = Mathf.Clamp(KafarotUstAlt, -25, +25);      
       kafakamerasi.transform.rotation = Quaternion.Euler(KafarotUstAlt, KafarotSagSol, transform.localEulerAngles.z);

       

       if (Horizontal !=0 || Vertical !=0)
       {
           Physics.Raycast(Vector3.zero, kafakamerasi.transform.GetChild(0).forward, out hit);
           transform.rotation = Quaternion.Lerp(transform.rotation, Quaternion.LookRotation(new Vector3(hit.point.x, 0, hit.point.z)), 0.3f);
           Debug.DrawLine(Vector3.zero, hit.point);
       }

   }
}
  Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Oyun içi market ile karakter değişimi Cem 3 577 15-05-2019, Saat: 08:11
Son Yorum: abayir41
  Karakter kontrolünde hata tkrowit 0 484 02-12-2018, Saat: 13:54
Son Yorum: tkrowit
Question Unity VideoPlayer eski android sürümlerindeki sorun deliktekitavsan 1 546 07-10-2018, Saat: 13:46
Son Yorum: mtat0640
  Unity 2D Karakter Sorunu beyzades 1 1,119 03-01-2018, Saat: 17:28
Son Yorum: No_99
  Unity Sorun Carbon902 3 1,216 20-12-2017, Saat: 15:42
Son Yorum: Carbon902

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi