blender3d.cz
http://www.blender3d.cz/forum/

Pružiny
http://www.blender3d.cz/forum/viewtopic.php?f=11&t=8557
Stránka 11

Autor:  Kapo [ čtv bře 08, 2012 5:35 pm ]
Předmět příspěvku:  Pružiny

Nazdar, po dlhom čase som sa rozhodol, že sa pozriem znova na to, či sa dá v Blenderi spraviť pekné auto s kolesami pomocou constraint v pythone. Dávnejšie som skúšal KX_dačo a bolo tam že spring, googlil som, čo to dalo, no spring mi nenašlo, tak som si dal tú prácu, našiel som si v starom threade odkaz na web, no zistil som, ze je mrtvy...to uz neexistuje harmonicky oscilator v pythone?

Autor:  Kapo [ sob bře 10, 2012 12:16 am ]
Předmět příspěvku:  Re: Pružiny

No ja som ale myslel, vytvoriť to pomocou skriptu (tam sa dá nastaviť všetko okolo harmonického oscilátora, i keď to celkom fyzikálne nesedí...mass je v objekte, tuhosť v skripte):

cube_6DOF = PhysicsConstraints.createConstraint(obj1_ID, obj2_ID, constraintType, pivotPos_X, pivotPos_Y, pivotPos_Z, pivotAxis_X, pivotAxis_Y, pivotAxis_Z)
cube_6DOF.setParam(3, 0.0, 0.0)
cube_6DOF.setParam(4, 0.0, 0.0)
týmito dvoma riadkami sa zablokuje rotácia v osi x a y (po osi z necháme, ide o torznú pružinu, ale v princípe, dá sa to prenastaviť - tieto rotácie sa zrejme chápu v lokálnom zmysle daného objektu, čo sa fakt hodí)
cube_6DOF.setParam(17, 50.0, 1)
týmto sa nastaví oscilátor v osi z (15 x 16 y 17 Z, druhý parameter je tuhosť, tretí je akási éterická konštanta, ktorá vracia objekt do pôvodnej pozície...nechať radšej na 1)

obj1 je parent ("záves"), obj2 je child (objekt), constraint type sa dáva 12 (generic 6 degrees of freedom constraint type) a ostatné zatiaľ nie sú dôležité. Problém v Blender 2.57 (od 2.5 vyššie) je, že klasicky mi funguje načítanie objektu, len sa pred neho nepíše OB..., čiže NIE takto:
obj1 = objList["OBZaves"]
ale TAKTO:
obj1 = objList["Zaves"]
nuž, ale konzolka (btw, treba ju zapnúť v záložke help, to čo je za blbosť?) frfle, že nepozná ID...navyše mi nefunguje print dir, najnovšie by rado importovalo bge a nie GameLogic...a tak, je to hrozne dohaluzené, a neviem, čo s tým...ani help mi už nechce chodiť, takže fakt neviem, ako mám do toho constraintu načítavať IDéčka objektov...

edit: miesto Naprava_ID (Naprava = objList["Naprava"]) som skúsil Naprava.ID, nič a tak som skúsil len Naprava na čo mi, logicky, vyhodil "integer is required" (čiže ID)...uch! Čo teraz, ako fakt?
edit2: podarilo saaaaaa! na zistenie IDčka objektu stačí napísať Naprava.getPhysicsId(), najnovšie je to teda PhysicsId a je to prístupné ako parameter.

Autor:  Kapo [ sob bře 10, 2012 1:08 am ]
Předmět příspěvku:  Re: Pružiny

Oki, tak som to teda rozchodil, funguje to cca pekne pre statickú kocku (náprava) a jeden cylinder (koleso)...ako teraz tento systém prerobiť do niečoho takého, že rátam s viac autami, každé má inú tuhosť, rozchod kolies, ...dá sa spraviť niečo také, že si spravím súbor takých parametrov, spravím si veľa blendov s modelmi áut a script si ich v hlavnom programe naťahá a keď sa rozhodnem uprostred hry pridať nákladiak, tak si nájde model, nájde si riadok s parametrami, nastaví mi to a pridá mi nákladiak s fungujúcim pérovaním? :-D

Přílohy:
spring.zip [64.72 KiB]
103 krát

Stránka 11 Všechny časy jsou v UTC + 1 hodina [ Letní čas ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/