C+ c_trace sürekli 0 oluyor

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Seçkin Üye
Katılım
26 Ocak 2020
Mesajlar
497
Çözümler
3
Tepki puanı
51
Ödüller
8
6 HİZMET YILI
Kod:
VECTOR trace_pos1 = { LocalPos.x, LocalPos.y, LocalPos.z };
VECTOR trace_pos2 = { EntityPos.x, EntityPos.y, EntityPos.z };
int traceResult1 = c_trace(&trace_pos1, &trace_pos2, IGNORE_ME | IGNORE_PASSABLE );
std::cout << "c_trace Result 1: " << traceResult1 << "\n";
float distance = sqrt(pow(EntityPos.x - LocalPos.x, 2) + pow(EntityPos.y - LocalPos.y, 2) + pow(EntityPos.z - LocalPos.z, 2));
distance /= 100.f;
std::cout << "LocalPos: (" << LocalPos.x << ", " << LocalPos.y << ", " << LocalPos.z << ") | "
    << "EntityPos: (" << EntityPos.x << ", " << EntityPos.y << ", " << EntityPos.z << ") | "
    << "Distance: " << distance << " | c_trace Result1: " << traceResult1 << "\n";

Localpos ile entitypos doğru. Bunu da distance kullanarak anlıyorum. Distance doğru çeviriyor fakat c_trace devamlı olarak 0 döndürüyor. Bir türlü bu sorunu çözemedim. Anlayan bir arkadaş, yardımcı olabilir mi?
 
Moderatörün son düzenlenenleri:
🎯 The Best Provider 🎯
Seçkin Üye
Katılım
21 Ocak 2024
Mesajlar
319
Çözümler
5
Tepki puanı
356
Ödüller
2
Yaş
30
Sosyal
2 HİZMET YILI
c_trace fonksiyonunun kullandığı trace_pos1 ve trace_pos2 değerleri doğru pozisyonları temsil etmiyor olabilir. aşağıdaki noktaları kontrol edin LocalPos ve EntityPos değerlerinin gerçekten beklediğiniz koordinatlar olduğundan emin olun. VECTOR yapısının, c_trace fonksiyonu tarafından doğru şekilde işlendiğinden emin olun. c_trace fonksiyonunun dökümantasyonunda belirtilen diğer maskelerle test edin.
 
Seçkin Üye
Katılım
26 Ocak 2020
Mesajlar
497
Çözümler
3
Tepki puanı
51
Ödüller
8
6 HİZMET YILI
c_trace fonksiyonunun kullandığı trace_pos1 ve trace_pos2 değerleri doğru pozisyonları temsil etmiyor olabilir. aşağıdaki noktaları kontrol edin LocalPos ve EntityPos değerlerinin gerçekten beklediğiniz koordinatlar olduğundan emin olun. VECTOR yapısının, c_trace fonksiyonu tarafından doğru şekilde işlendiğinden emin olun.
hepsini doğru çekiyor localpos entity pos kullanarak distance ölçümü yapıyorum doğru distance ölçümü yaptığı için localpos ve entitypo doğru diyorum
 
🎯 The Best Provider 🎯
Seçkin Üye
Katılım
21 Ocak 2024
Mesajlar
319
Çözümler
5
Tepki puanı
356
Ödüller
2
Yaş
30
Sosyal
2 HİZMET YILI
0 dan başka bir sonuç hata vermiyor.
Test edebilir misin paylaştığım kodu

VECTOR test_pos1 = { 0.0f, 0.0f, 0.0f };
VECTOR test_pos2 = { 100.0f, 100.0f, 100.0f };
int traceResultTest = c_trace(&test_pos1, &test_pos2, IGNORE_ME);
std::cout << "Test c_trace Result: " << traceResultTest << "\n";

test_pos1 ve test_pos2 arasında bir sonuç dönüp dönmediğini kontrol et yine 0 dönerse c_trace fonksiyonunun mantığına veya bağımlı olduğu diğer sistemlere bakabilirsin fizik motoruna vs
 
Seçkin Üye
Katılım
26 Ocak 2020
Mesajlar
497
Çözümler
3
Tepki puanı
51
Ödüller
8
6 HİZMET YILI
Test edebilir misin paylaştığım kodu

VECTOR test_pos1 = { 0.0f, 0.0f, 0.0f };
VECTOR test_pos2 = { 100.0f, 100.0f, 100.0f };
int traceResultTest = c_trace(&test_pos1, &test_pos2, IGNORE_ME);
std::cout << "Test c_trace Result: " << traceResultTest << "\n";

test_pos1 ve test_pos2 arasında bir sonuç dönüp dönmediğini kontrol et yine 0 dönerse c_trace fonksiyonunun mantığına veya bağımlı olduğu diğer sistemlere bakabilirsin fizik motoruna vs
bu orjinal hali LocalPos: (-668.289, 1456.14, 47.5957) | EntityPos: (568.709, -794.048, 71.4609) | Distance: 25.679 | c_trace Result: 0
buda senin attığın her şekilde sıfır döndürüyor Test c_trace Result: 0 bununla ilgili tek bir kaynak bulamadım
 
🎯 The Best Provider 🎯
Seçkin Üye
Katılım
21 Ocak 2024
Mesajlar
319
Çözümler
5
Tepki puanı
356
Ödüller
2
Yaş
30
Sosyal
2 HİZMET YILI
trace_pos1 ve trace_pos2 pozisyonlarını açıkça konsola yazdırarak doğrulayın. Maskeleri tamamen devre dışı bırakarak sonuç alıp almadığınızı kontrol edin.
Fizik motorunun doğru bir şekilde yüklendiğinden ve çalıştığından emin olun. Eğer bu yöntemlerle çözemezseniz, c_trace fonksiyonunun kaynağına ve ilgili motorun dökümantasyonuna daha detaylı bakmam gerekebilir. Daha fazla bilgi paylaşabilirseniz yardımcı olmaya çalışırım hocam
 
Seçkin Üye
Katılım
26 Ocak 2020
Mesajlar
497
Çözümler
3
Tepki puanı
51
Ödüller
8
6 HİZMET YILI
trace_pos1 ve trace_pos2 pozisyonlarını açıkça konsola yazdırarak doğrulayın. Maskeleri tamamen devre dışı bırakarak sonuç alıp almadığınızı kontrol edin.
Fizik motorunun doğru bir şekilde yüklendiğinden ve çalıştığından emin olun. Eğer bu yöntemlerle çözemezseniz, c_trace fonksiyonunun kaynağına ve ilgili motorun dökümantasyonuna daha detaylı bakmam gerekebilir. Daha fazla bilgi paylaşabilirseniz yardımcı olmaya çalışırım hocam
flagları devre dışı bırakarak denedim ekrana yazdırıyorum zadten pozisyonları
 
🎯 The Best Provider 🎯
Seçkin Üye
Katılım
21 Ocak 2024
Mesajlar
319
Çözümler
5
Tepki puanı
356
Ödüller
2
Yaş
30
Sosyal
2 HİZMET YILI
flagları devre dışı bırakarak denedim ekrana yazdırıyorum zadten pozisyonları
fizik motorunun sunduğu diğer raycast işlevlerini kullanmayı deneyebilirsin . Physics.Raycast LineTraceSingleByChannel (Unreal Engine kullanıyorsanız)
 
Seçkin Üye
Katılım
26 Ocak 2020
Mesajlar
497
Çözümler
3
Tepki puanı
51
Ödüller
8
6 HİZMET YILI
fizik motorunun sunduğu diğer raycast işlevlerini kullanmayı deneyebilirsin . Physics.Raycast LineTraceSingleByChannel (Unreal Engine kullanıyorsanız)
bu oyun motoru sadece c_trace kullanıyor yukarda saydıklarını kullansa bu kodlara gerek kalmazdı
 
Üye
Katılım
14 Tem 2016
Mesajlar
48
Tepki puanı
4
Ödüller
9
Yaş
27
9 HİZMET YILI
Pozisyonlar doğru mu? LocalPos ve EntityPos koordinatlarını kontrol ettin mi? Yanlış bir değer olabilir.
 
Seçkin Üye
Katılım
26 Ocak 2020
Mesajlar
497
Çözümler
3
Tepki puanı
51
Ödüller
8
6 HİZMET YILI
@maskelihileci ustam sizin daha önce hile yaptığınız bir oyun ama yardımcı olman şansın varmı siz nasıl yapmıştınız.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst