Právě je sob lis 30, 2024 5:05 pm

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 17 ]  Přejít na stránku 1, 2  Další
Autor Zpráva
 Předmět příspěvku: Make parent
PříspěvekNapsal: pon pro 12, 2005 7:22 pm 
Offline
...........
...........
Uživatelský avatar

Registrován: sob zář 18, 2004 4:13 pm
Příspěvky: 1898
Bydliště: Slovensko, Bratislava
Toto by som potreboval prelozit do ludskej reci. Nejaky priklad konkretny.
Prosim.

Kód:
makeParent     

makeParent (
        self,
        objlist,
        mode=0,
        fast=0,
        )


Makes self the parent of the objects in objlist which must be a list of valid Objects. If specified:
mode

0: make parent with inverse

1: without inverse
fast

0: update scene hierarchy automatically

1: don't update scene hierarchy (faster). In this case, you must explicitely update the Scene hierarchy, see: Blender.Scene.getCurrent().update()


PS: Robim hru kde sa striela s kuse a chcem aby sip ostal prilepeny na objekte..


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: úte pro 13, 2005 9:48 am 
Offline
....
....

Registrován: pon črc 12, 2004 1:15 pm
Příspěvky: 382
Bydliště: Bratislava
Toto ti v hre nepomôže. Máš dve možnosti:
a. vyrobíš verziu objektu so zapichnutým šípom a po zásahu ňou nahradíš pôvodný objekt - výhody: je to jednoduché; nevýhody: pre šípy, ktoré sa môže zapichnúť kdekoľvek, sa to nehodí, skôr pre meč v ruke.
b. naprogramuješ si parent v hernom engine - pre objekt šípu budeš kopírovať orientáciu a pozíciu objektu, kde je zabodnutý, s úpravou transformačnej matice (posun šípu oproti stredu objektu a otočenie šípu oproti orientácii objektu). Ale aj tak je tam problém, ak je objekt animovaný cez kostru - neviem zistiť, ako sa dá určiť orientácia kosti tej časti modelu, kam sa šíp zabodol.


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: úte pro 13, 2005 10:24 am 
Offline
.......
.......
Uživatelský avatar

Registrován: stř srp 11, 2004 4:24 pm
Příspěvky: 1150
Bydliště: net
ve chvili kdy se dotkne steny, mu vypni rigid body. tim ti zustane na miste a nespadne...jestli to je to co chces.

jm


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: úte pro 13, 2005 4:55 pm 
Offline
..
..
Uživatelský avatar

Registrován: úte pro 07, 2004 9:52 pm
Příspěvky: 21
Bydliště: Banská Bystrica
Najprv prelozim ten kod:
makeParent je funkcia s dvoma povinnymi a dvoma nepovinnymi parametrami
1. parameter je typu Objekt (v BlenderGame) a udava Objekt, ktory sa stane rodicom (teda parent) objektu alebo objektov
2. par. je typ list (zoznam) Objektov, ktore sa stanu potomkami objektu v predchadzajucom parametri. Jeden objekt v zozname je takto: (obSip,) s dalsimi objektami je takto: (obSip, dalsiObjekt, tretiObjekt). Ta ciarka pre zatvorkou v jednopolozkovom zozname musi byt.
dalsie parametre len prelozim:
3. 0 - spraví parent s inverziou
1 - bez inverzie
4. 0 - automaticky updatuje parent väzbu
1 - budeš musiet manualne updatovat prikazom Blender.Scene.getCurrent().update()
nepovinne parametre by som nechaval defaultné

priklad:

if trefa == 1:
makeParent(obStena, (obSip,))

Teraz k tomu sipu v objekte:
ak sa objekt nebude pohybovat tak len to co pisal jm
ak sa vsak bude hybat (nepriatel, tank) tak by som mu v okamihu narazu vypol celu fyziku (funkcia suspendDynamics() alebo podobna) a hned za tym naparentoval na nepriatela.

Podobnu vec som robil a cudoval som sa preco parentnute objekty odlietavaju. Zistil som ze len vtedy ked maju zapnutu fyziku a ich parent je mimo pozicie [0;0]


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: úte pro 13, 2005 5:50 pm 
Offline
...........
...........
Uživatelský avatar

Registrován: sob zář 18, 2004 4:13 pm
Příspěvky: 1898
Bydliště: Slovensko, Bratislava
Ash: a. to sa mi tam akosi nehodi ...
b. nebude to moc narocne na procak???

jm: To som prave nemal na mysli, ale dobre zistenie, urcite to dakde vyuzijem.

zdislav: juhuuu!!! super idem testovat :wink:

Dakujem vsetkym za pomoc. Dik :rolleyes:


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: úte pro 13, 2005 5:56 pm 
Offline
....
....

Registrován: pon črc 12, 2004 1:15 pm
Příspěvky: 382
Bydliště: Bratislava
Zdislav,

rád by som videl nejaký kus chodivého kódu v GameBlenderi, kde by bola funkcia makeParent() úspešne použitá. Som na to ohromne zvedavý!


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: úte pro 13, 2005 6:55 pm 
Offline
...........
...........
Uživatelský avatar

Registrován: sob zář 18, 2004 4:13 pm
Příspěvky: 1898
Bydliště: Slovensko, Bratislava
Preco to nepozna?
NameError: name 'makeParent' is not defined

Skusal som aj importovat ale marna snaha :cry:


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: úte pro 13, 2005 7:47 pm 
Offline
.......
.......
Uživatelský avatar

Registrován: stř srp 11, 2004 4:24 pm
Příspěvky: 1150
Bydliště: net
Ash píše:
Zdislav,

rád by som videl nejaký kus chodivého kódu v GameBlenderi, kde by bola funkcia makeParent() úspešne použitá. Som na to ohromne zvedavý!


ty si ale lapka :D

jm


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: stř pro 14, 2005 10:22 am 
Offline
....
....

Registrován: pon črc 12, 2004 1:15 pm
Příspěvky: 382
Bydliště: Bratislava
JM,

ja? lapka? No vlastne áno, je to hneď pod mojím nickom...

Ale včera v noci som nemohol spať, v hlave mi behali samé súčiny vektorov a inverzie matíc, tak som pred polnocou sadol ku kompu a vypotil demo na strieľanie šípov na otáčajúci sa cieľ.
Obrázek
Zdrojový súbor nájdete na http://ashsid.szm.sk/download/arrows.blend, ak bude záujem napíšem tutoriál.

PS. Šípy sa vystreľujú medzerou.


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: stř pro 14, 2005 5:16 pm 
Offline
...........
...........
Uživatelský avatar

Registrován: sob zář 18, 2004 4:13 pm
Příspěvky: 1898
Bydliště: Slovensko, Bratislava
Ash píše:
, ak bude záujem napíšem tutoriál.

:oha: Ja mam zaujem. :D Ked to uz pouzijem tak by som to aj rad pochopil.


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: stř pro 14, 2005 5:27 pm 
Offline
....
....

Registrován: pon črc 12, 2004 1:15 pm
Příspěvky: 382
Bydliště: Bratislava
Mrkni sa na zdrojáky skriptov, sú celkom slušne komentované - niečo sa z toho dá pochopiť. A zvyšok je hlavne maticová algebra - mat.py obsahuje funkcie na prácu s 3x3 maticami - násobenie a inverziu.
Čas na písanie tutoriálu budem mať najskôr cez tento víkend, najneskôr na Vianoce.


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: stř pro 14, 2005 6:45 pm 
Offline
....
....

Registrován: pon črc 12, 2004 1:15 pm
Příspěvky: 382
Bydliště: Bratislava
Trochu som to demo vylepšil - teraz sa šípy zapichnú, len keď smerujú hrotom do terča, inak sa odrazia - predtým stačilo, aby sa terča dotkli ľubovoľným spôsobom a "prilepili sa".


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: úte pro 20, 2005 12:09 pm 
Offline
....
....

Registrován: pon črc 12, 2004 1:15 pm
Příspěvky: 382
Bydliště: Bratislava
Čo som sľúbil, plním, tu je tutorial na dynamické pripájanie objektov.


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: úte pro 20, 2005 5:27 pm 
Offline
...........
...........
Uživatelský avatar

Registrován: sob zář 18, 2004 4:13 pm
Příspěvky: 1898
Bydliště: Slovensko, Bratislava
:banana: Supeeer.


Nahoru
 Profil  
 
 Předmět příspěvku:
PříspěvekNapsal: pon úno 13, 2006 6:42 pm 
Offline
....
....

Registrován: pon črc 12, 2004 1:15 pm
Příspěvky: 382
Bydliště: Bratislava
Po skoro 2 mesiacoch, keď som prekladal tento tutoriál do angličtiny, som našiel fatálnu chybu vo vzorcoch a samozrejme aj v deme. Takže teraz je to už na pôvodnej adrese opravené.


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 17 ]  Přejít na stránku 1, 2  Další

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat 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 přikládat soubory v tomto fóru

Hledat:
Přejít na:  
cron
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz