Meteakyz
Decapat
- Katılım
- 11 Haziran 2021
- Mesajlar
- 382
- Çözümler
- 3
Daha fazla
- Cinsiyet
- Erkek
Arkadaşlar bir kod yazdım ama doğru olup olmadığını evde olmadığım için bilmiyorum bu kod doğru mu not: Karakterin duvara tırmanma kodu.
Kod:
using UnityEngine;
public class WallClimb : MonoBehaviour.
{
// Oyuncunun tırmanma hızı.
public float climbSpeed = 5f;
// Oyuncunun ne kadar yüksekte duvara tırmanabileceği.
public float maxClimbHeight = 3f;
// Oyuncunun tırmanırken ne kadar hızlı dönebileceği.
public float rotateSpeed = 180f;
// Oyuncunun tırmanırken ne kadar yüksekte durabileceği.
public float maxStandHeight = 1.5f;
// Oyuncunun tırmanırken ne kadar ilerleyebileceği.
public float maxClimbDistance = 3f;
// Oyuncunun tırmanırken hangi hızda ilerleyeceği.
public float climbForwardSpeed = 1f;
// Oyuncunun tırmanma özelliğini etkinleştir/devre dışı bırak.
public bool enableClimbing = true;
// Oyuncunun ne zaman duvara tırmanabileceğini kontrol eden raycast.
private RaycastHit hitInfo;
// Oyuncunun duvara tırmanırken ne zaman durabileceğini kontrol eden raycast.
private RaycastHit standHitInfo;
// Oyuncunun tırmanırken döndüğü yönü tutan değişken.
private Quaternion targetRotation;
// Oyuncunun tırmanırken ne kadar ilerlediğini tutan değişken.
private float climbedDistance;
// Oyuncunun tırmanırken ne kadar yükseldiğini tutan değişken.
private float climbedHeight;
// Oyuncunun tırmanma özelliğini kullanıp kullanmadığını tutan değişken.
private bool isClimbing;
// Oyuncunun tırmanırken ne zaman durabileceğini kontrol eden raycast.
private RaycastHit ceilingHitInfo;
// Oyuncunun tırmanma özelliğini kullanırken yüksekliğini kontrol eden değişken.
private float initialHeight;
void Update()
{
// Eğer oyuncu tırmanma özelliğini etkinleştirilmişse.
if (enableClimbing)
{
// Oyuncunun önünde duvar olup olmadığını kontrol eden raycast.
if (Physics.Ray