Kezdőoldal » Számítástechnika » Programozás » Unityben lenne szükségem egy...

Unityben lenne szükségem egy kis segítségre. Egy emptyből szeretnék lőni golyókat, de a golyó csak egy helyben megáll és nem mozog előre, miért van ez?

Figyelt kérdés

Itt a script:

var Projectile : Rigidbody;

var ProjectileSpeed : int = 10;


function Update () {


if (Input.GetButtonDown("Fire1")) {


var clone : Rigidbody;

clone = Instantiate(Projectile, transform.position, transform.rotation);


clone.velocity = transform.TransformDirection (Vector3.forward * ProjectileSpeed);

}

}



2016. aug. 1. 21:21
 1/2 anonim ***** válasza:

A konkrét kérdésedre nem tudom a választ, viszont néhány észrevétel. Ne használj unityscriptet ha nem muszáj, számottevően lassabb mint a c#. A TransformDirection() feleslegesen bonyolítja a dolgot, a transform.forward pont azt adja vissza amire szükséged van. Ha fizikát használsz érdemes kerülni az Update() et, használd a FixedUpdate() et helyette - habár ebben a konkrét esetben csak szökőévente lenne belőle probléma, de érdemes odafigyelni rá. Közveltenül a velocity t állítani nem jó ötlet, ha rigidbody sebességét akarod változtatni érdemes az AddForce() metódust használni.


Tippre azt mondanám, hogy a TransformDirection() el lesz a probléma, de csak egy kósza gondolat - esetleg a rigidbody isKinematic változóját true ra állítottad.

2016. aug. 1. 22:47
Hasznos számodra ez a válasz?
 2/2 anonim ***** válasza:

Rigidbody beállításaival lehet a gond.

Sztem megmozdul az csak nagyon gyorsan visszaesik az értéke nullára.


A fixed update azért van hogy egy folyamatosan lefutónak tervezett kódrészlet tutira fix időnként fusson le így mindenki gépén ugyanannyiszor fog lefutni adott idő eltelte után, a te gépeden is ha mondjuk leterhelődik vagy felszabadulnak az erőforrások. Ha jól látom akkor a te esetedben egy gomb lenyomásakor kell történnie az esetnek nem pedig állandóan.

Ha jó neked úgy,hogy nincs ez korlátozva mondjuk egy kis idővel akkor csak annyi baj történhet hogy alacsony fps esetén nem lesz minden lenyomott gomb után tüzelés míg egy másik erősebb vason pedig egy sec en belül több lövés történhet de nem hiszem hogy bárki keze lenne olyan gyors hogy pl secenként 30 szor le tudja nyomni.

2016. aug. 2. 11:50
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!