2016-04-04 24 views
1

Şu an Unity'de hayat benzeri bir ping pong topu yaratmaya çalışıyorum.Birlik - bir top zıplamayı durdurun/alt tarafa takılmayın

enter image description here

Şimdiye kadar, sorun yok. Ben sert bir kişi ve bir küre çarpıştırıcısı atadım. Küre-çarpıştırıcı, üzerinde sıçrama yapmamı 0.85'e (standart bir katı zemin üzerinde bir ping pong topunun sahip olduğu değer) belirlediğim bir malzemeye sahipti.

top şimdiye kadar ince sıçrar, ancak geri kalan gelmek üzereyken sorunlar içinde tekme nerede olduğudur.

Başlangıçta, top nihayet kadar daha hızlı ve daha hızlı/daha düşük ve daha düşük yumruklardım Yere zıt “(bir kaçını görmeyi beklerdi).

enter image description here

Bunun nedeni fizik ayarlarında "sıçrama eşiği" nin olduğunu okudum. Varsayılan değer 2.0 olduğunu düşünüyorum, bu yüzden onu 0.6 olarak değiştirdim.

Şimdi top yere yapışmıyor, ancak bunun yerine bu son küçük boydan zıplayarak durmayacak.

Muhtemelen bu resimde, toplar üzerinde sıçrayan tutmak yükseklikten başvurabilir

enter image description here

Aslında alamadım (topların ölçekli Unitys metrik ölçek sistemine oldukça acurate olmalı) Bu durum neden kaynaklanıyor, zira sıçrama şimdiden 0,85 değerine ayarlanmış, bu yükseklik her sıçramada% 15 oranında azaltılmamalıdır?

Ek bilgi: Zaten bir kaç şey denedim, zemini fizik malzemeye de ver, zıplama 0'a ayarlandı, sürtünme parametrelerini ayarlamak vb. Ama hiçbir şey bunun üzerinde herhangi bir etkiye sahip görünmüyordu.

Topun canlı gibi son sıçramalarını nasıl gerçekleştirebilirim ve daha doğal bir şekilde dinlenmeye gelsin?

Herhangi bir yardım büyük memnuniyetle karşılanacaktır. peşin & saygılarımla

sayesinde

lilaQ

+1

Kişi ofsetinizi ayarladınız mı? Varsayılan İletişim Ofset: Çarpışma algılama sisteminin çarpışma kontakları oluşturmak için kullandığı mesafeyi belirler. Değer pozitif olmalı ve sıfıra çok yakın ayarlanırsa titremeye neden olabilir. Varsayılan: 0,01. Sadece mesafesi, temas ofset değerleri toplamından daha az olan Collider'lar çarpışma kontakları oluşturacaktır. – Korgrue

+0

Ah, iyi yakalayın. Gerçekten yaptım. Sadece fizik ayarlarını (Contact Offset'i tekrar 0.1'e kadar) ve Bounce Threshold'ı tekrar 0,6'ya sıfırladım (yukarıdaki herhangi bir şey onları son resimde gördüğünüz yükseklikten zemine yapıştıracak, ki bu gerçekten garip görünüyor). Ama yine de, toplar hala aynı yükseklikte sıçrayan, dinlenmeyecek:/ – LilaQ

+2

Unity3D, http://gamedev.stackexchange.com/ okuyucular dikkate alınacak bir şey daha aşina.Oraya sormayı deneyebilirsin. –

cevap

2

Sen Edit- giderilen timestep değerini düşürücü deneyebilirsiniz> Proje Ayarlar-> Zaman. Bu, fizik simülasyonunun doğruluğunu artıracaktır. Örneğin, 0,6 sıçrama oranındaki bir eşik değeri ile, 0,005 sabit zaman aralığı, test topumun nihayetinde dinlenmesini sağlar.

+0

Bu harika, bu hile yapar - teşekkürler! Açıklamak gerekirse, yukarıdaki örnekte olduğu gibi fiziksel çıkmazlardan kaçınmak için, burada saniyedeki fizik hesaplama adımlarını arttırıyoruz. – LilaQ

+0

Evet, sabit zaman dilimini azaltmak, saniyede daha fazla adım olmasını sağlar. –