Leralonde

Yeni üye
16 Tem 2015
204
1
0
(61) Trabzon
2d side scroller projede ana karakter başka bir collision a çarptığında (daha çok üstüne basıp zıpladığında) y eksenine kayma oluyor ve bu kayma bazı durumlarda tilemap in collisionunu aşıyor ve karakter aşağıya düşüyor.Bu sorunu nasıl çözebilirim.
 
Leralonde' Alıntı:
2d side scroller projede ana karakter  başka bir collision a çarptığında (daha çok üstüne basıp zıpladığında) y eksenine kayma oluyor ve bu kayma bazı durumlarda tilemap in collisionunu aşıyor ve karakter aşağıya düşüyor.Bu sorunu nasıl çözebilirim.

Bu tür durumlar için en azından video ve bahsettiğiniz kaymasını gösteren Transform bilgilerini gibi şeyleri paylaşmalısınız.
 
cahitburak' Alıntı:
Leralonde' Alıntı:
2d side scroller projede ana karakter  başka bir collision a çarptığında (daha çok üstüne basıp zıpladığında) y eksenine kayma oluyor ve bu kayma bazı durumlarda tilemap in collisionunu aşıyor ve karakter aşağıya düşüyor.Bu sorunu nasıl çözebilirim.

Bu tür durumlar için en azından video ve bahsettiğiniz kaymasını gösteren Transform bilgilerini gibi şeyleri paylaşmalısınız.
Yürüme bp si , jump içinde unreal ın kendi fonksiyonunu kullanıyorum.

MJY4VQ.png


Bu içeriği görmek için üçüncü parti çerezlerine izin vermeniz gerekli.
Daha fazla detay için çerezler sayfasını ziyaret edin.



videoda da görüldüğü gibi , enemy karakterinin üstüne zıpladığım zaman y koordinatında kaymalar oluyor , kayma olduğu zamanlarda ya level üstündeki aktörlerle etkileşimim gidiyor ya da aşağıya düşüyorum.

Collision ve sprite de bulunan location kısımlarından "Y" yi kitlediğimde de sorun devam ediyordu.
 
UE4, bildiğiniz gibi 2 boyutlu değil 3 boyutlu bir oyun motoru olduğundan 3. eksenin sabitliğini doğru yapmak gerekir. Her ne kadar kod üzerinde  3. eksen için bir girdi vermeseniz(0 verseniz) bile gerek virgüllü sayılardan kaynaklı gerekse de fizik motorundan kaynaklı olarak bu değer değişebilir.

Yapmanız gereken fizik simülasyonunun aktif olduğu bileşen üzerinde eksen kilitlemesi yapmak. Ayrıca sanıyorum Character Movement Component kullanıyorsunuz. Onun da üzerinde eksen sabitlemesini yapmanız gerekir.

Bu, muhtemelen bir Side Scroller olduğundan(Top Down için farklı seçenekler kullanılmalı), fizik simülasyonunu aktifse, aktif olduğu bileşen üzerinde Physics/Constraints kategorisinde Lock Position için Y işaretli olmalı yada daha iyisi Mode için XZPlane seçilmelidir. Ayrıca Character Movement bileşeni üzerinde Planar Movement kategorisi altında Constraint to Plane aktif olmalı, Plane Constraint Axis Setting değeri Y olmalı ve Plain Constraint Normal ise (0, 1, 0) olarak kalmalıdır.

Ayrıca tamamı 2 boyutlu bir projede global Physics ayarlarında Enable 2D Physics aktifleştirilmeli ve Default Degrees of Freedom ise XZPlane olarak ayarlanmalıdır.
 
cahitburak' Alıntı:
UE4, bildiğiniz gibi 2 boyutlu değil 3 boyutlu bir oyun motoru olduğundan 3. eksenin sabitliğini doğru yapmak gerekir. Her ne kadar kod üzerinde  3. eksen için bir girdi vermeseniz(0 verseniz) bile gerek virgüllü sayılardan kaynaklı gerekse de fizik motorundan kaynaklı olarak bu değer değişebilir.

Yapmanız gereken fizik simülasyonunun aktif olduğu bileşen üzerinde eksen kilitlemesi yapmak. Ayrıca sanıyorum Character Movement Component kullanıyorsunuz. Onun da üzerinde eksen sabitlemesini yapmanız gerekir.

Bu, muhtemelen bir Side Scroller olduğundan(Top Down için farklı seçenekler kullanılmalı), fizik simülasyonunu aktifse, aktif olduğu bileşen üzerinde Physics/Constraints kategorisinde Lock Position için Y işaretli olmalı yada daha iyisi Mode için XZPlane seçilmelidir. Ayrıca Character Movement bileşeni üzerinde Planar Movement kategorisi altında Constraint to Plane aktif olmalı, Plane Constraint Axis Setting değeri Y olmalı ve Plain Constraint Normal ise (0, 1, 0) olarak kalmalıdır.

Ayrıca tamamı 2 boyutlu bir projede global Physics ayarlarında Enable 2D Physics aktifleştirilmeli ve Default Degrees of Freedom ise XZPlane olarak ayarlanmalıdır.

Cevabınız için teşekkür ederim.Sorunumu hallettim :)