2016-04-04 7 views
1

Bunu anlamaya çalışmak, ancak başarılı olmaksızın.Başka bir oyun nesnesinin bakan yönünden uzaklaşan gameobject

Ben X noktasına işaret eden bir AI var; transform.lookAt() kullandığım için bu nesneye bakıyorum.

Şimdi, AI'yi 180 derece çevirmek istiyorum, böylece diğer aracın karşı karşıya olduğu yöne bakabilir. AI hedefe varıncaya kadar dönüşümü 180'e eklemeyi denedim ama işe yaramazsa, AI herhangi bir konumdan gelebilir, bu yüzden 180 derece dönüş her zaman diğer ajanın olduğu yön ile aynı değildir. bakan.

Nesne/AI/GameObject öğesinin hangi yöne baktığını bilmenin ya da ayarlamanın bir yolu var mı? Math bilge, inanıyorum oyunda nesne ithal edildiği ile ilgili vektör3 olmalı, 0.0.0 koordinatları; uygulamada sahip olduğum her GO'nun yönünü gerçekten takip edemememe rağmen; bu yüzden ya bir GO'nun işaret ettiği (hareket etmiyor olsa bile) yönünü belirlemenin ya da yönlendirmeyi almanın bir yolu olduğunu umuyorum.

cevap

0

Transform.forward'a bakmayı denediniz mi? şeyiyle

Edited:

transform.lookAt() şu anda ne durumda olduğunu, herhangi bir yönden bir hedef yüz bu deneyin Süresi: 180 derece ekleyin

var lookPos = target.position - transform.position; 
lookPos.y = 0; 
var rotation = Quaternion.LookRotation(lookPos); 

ve Rotasyon

+0

Evet ve gerçek ileriye doğru eşit olmayan bazı nesneler için. Ben trasform bileşeni için .forun Z eksenindeki 0 değerine bağlı olduğuna inanıyorum; Ağın yüz yönlendirme yönüne eşit veya olmayabilir. Tüm ağımdaki bütün Z eksenini birleştirmeden önce, diğer seçenekleri daha önce değerlendiriyordum. –

+1

Transform.lookAt() şu an için çalışmakta olduğundan, şu hedefe ulaşmak için şu yolu deneyebilirsiniz: 'var lookPos = target.pozition - transform.position; lookPos.y = 0; var rotation = Quaternion.LookRotation (lookPos); ve sonra – Shige

+0

rotasyonuna 180 derece ekleyin Bu işe yaradı; iyi düşünce :) –