Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
adidass
Založen: 17. 05. 2010 Příspěvky: 25
|
Zaslal: 18. leden 2014, 17:42:49 Předmět: Unity 3D - Movement C# (začátečník) |
|
|
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 ) 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 |
|
 |
Ladis

Založen: 18. 09. 2007 Příspěvky: 1537 Bydliště: u Prahy
|
Zaslal: 18. leden 2014, 21:02:59 Předmět: |
|
|
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 |
|
 |
Awn
Založen: 17. 08. 2007 Příspěvky: 27
|
Zaslal: 21. leden 2014, 14:40:53 Předmět: |
|
|
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
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 |
|
 |
adidass
Založen: 17. 05. 2010 Příspěvky: 25
|
Zaslal: 21. leden 2014, 16:00:59 Předmět: |
|
|
Díky za rady ! Konečně jsem našel anglicky material, který mi vyhovuje 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 |
|
 |
Awn
Založen: 17. 08. 2007 Příspěvky: 27
|
|
Návrat nahoru |
|
 |
adidass
Založen: 17. 05. 2010 Příspěvky: 25
|
Zaslal: 22. leden 2014, 10:00:32 Předmět: |
|
|
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 |
|
 |
|