.[ ČeskéHry.cz ].
Unity 3D - Movement C# (začátečník)

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
adidass



Založen: 17. 05. 2010
Příspěvky: 25

PříspěvekZaslal: 18. leden 2014, 17:42:49    Předmět: Unity 3D - Movement C# (začátečník) Odpovědět s citátem

Zdravím vás
Jako první by jsem chtěl říct,že jsem absoultní začátečník v tvorbě her. C# zvládám ,ale pouze konzolově a trochu i Windows Form. Prostě se učím metodou pokus omyl a chtěl bych se zeptat jak by mohl vypadat kód na pohyb (plynulý posun) objektu. Nebavíme se o nějákem charakteru s animací ale o prostém objektu který se plynulé pohybuje. Neprosím vás o celý kod ale třeba trošku nějak nasměrovat (nakopnout Very Happy) Tuším, že by s v tom kodu mělo objevit metoda Time.DeltaTime. Chtěl bych se vás zeptat jestli by mi někdo mohl přiblížit jak to vlastně funguje ? Předem díky za jakoukoliv odpověď.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Ladis



Založen: 18. 09. 2007
Příspěvky: 1537
Bydliště: u Prahy

PříspěvekZaslal: 18. leden 2014, 21:02:59    Předmět: Odpovědět s citátem

Když jakoukoli... Předně metoda pokus-omyl je dost zdlouhavá a nebudeš to umět pořádně. Pokud neumíš anglicky, tak i s omezenými CZ materiály na netu tyhle základy v poho najdeš. K vlastnímu dotazu, vygoogli si, co je smyčka hry, a každý snímek hry spočteš rozdíl v čase a k pozici objektu přičteš posun za tento čas. Např. lineární pohyb je posun o vzdálenost rychlost * čas_od_posledního_snímku. Doporučuju zvolit jazyk a technologie a googlit rovnou pro ně, ať neztrácíš čas hledáním potřebných funkcí API.
_________________
Award-winning game developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Awn



Založen: 17. 08. 2007
Příspěvky: 27

PříspěvekZaslal: 21. leden 2014, 14:40:53    Předmět: Odpovědět s citátem

Nejjednodusseji v nejakem skriptu na GameObjectu se kterym se ma hybat:
kód:
public class CTest : MonoBehaviour {
  Update()
  {
    transform.position += Time.deltaTime * new Vector3(speedX, speedY, speedZ);
  }
}


Lepe (public veci nastavit v editoru po natazeni skriptu na gameobject):
kód:
public class CTest: MonoBehaviour {
  public Vector3 Direction;  // Jednotkovy vektor smeru
  public float Speed;

  Update()
  {
    transform.position += Time.deltaTime * Direction * Speed;
  }
}


Pripadne:
kód:
public class CTest : MonoBehaviour {
  public Transform Target;
  public Vector3 Direction;  // Jednotkovy vektor smeru
  public float Speed;

  Update()
  {
    Target.position += Time.deltaTime * Direction * Speed;
  }
}


Je potreba kouknout na nejake videa jaky je zakladni workflow v Unity .. jestli tohle mas za sebou tak je podle me metoda pokus-omyl vpoho Wink

Urcite se ale stane, ze pokus-omyl selze a pak je potreba umet anglicky a zavrtat se do dokumentace. Unity ma ale jednu z nejlepsich co jsem videl.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
adidass



Založen: 17. 05. 2010
Příspěvky: 25

PříspěvekZaslal: 21. leden 2014, 16:00:59    Předmět: Odpovědět s citátem

Díky za rady ! Wink Konečně jsem našel anglicky material, který mi vyhovuje Smile Snažím se udělat prvotinku,kdy hráč bude používat A a D. Bude ovladat kouli,která se bude otáčet a skakat přes překážky. Chci si u toho naučit zakladni ovladaní a trochu fyziku enginu. Možná za nějaky čas dám sem na forum nějakou ukázku.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Awn



Založen: 17. 08. 2007
Příspěvky: 27

PříspěvekZaslal: 22. leden 2014, 01:39:43    Předmět: Odpovědět s citátem

Aha, jestli budes delat pohyb pomoci fyziky tak nejspis budes pouzivat, misto zmeny pozice, toto:
http://docs.unity3d.com/Documentation/ScriptReference/Rigidbody.AddForce.html
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
adidass



Založen: 17. 05. 2010
Příspěvky: 25

PříspěvekZaslal: 22. leden 2014, 10:00:32    Předmět: Odpovědět s citátem

No s tím addforce nebyl vysledek nějak dobrý. Dal jsem tam AddRelativeTorque. a Addforce jsem použil na skákani.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna