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

Constraint - script
http://blender3d.cz/forum/viewtopic.php?f=11&t=7023
Stránka 12

Autor:  Kapo [ stř srp 12, 2009 7:04 pm ]
Předmět příspěvku:  Constraint - script

Ok, takze po tom, co som nic nevygoogloval, na ICQ nic nezistil, na fore nic nenasiel, rozhodol som sa spytat tu na fore...

Mam script PointConstraint, ktory som zbuchal minulu noc :banana: a aj preto je mozne ze tam je chyba, ale skor logicka...vypis scriptu je nizsie...ma robit to (ako je v nom napisane), ze po tom, ako premenna Take nadobudne hodnotu 1, zaktivuje sa constraint medzi objektom Box objektom Cube.012 (oznacenie Me)...dalej je Else, ktory ma spravit to, ze constraint sa zrusi (remove constraint), lenze marne sa snazim zohnat informaciu, co je to constraint_ID, pretoze sa na to konzola stale stazuje (nepozna to), ani ked napisem getConstraintId(), tak mu to nic nepovie...

ako vidim, za nejaku dobu sa brutalne zmenila syntax a python protestuje proti "getOwner", vraj mam vyuzit Owner property...bohuzial co to je, ako to vyzera, kde to najdem som sa nedopatral...

Dalsim problemom je,ze keby som mal 50 objektov (krabicka, skrutkovac, stolicka atd), tak by som na kazdy musel pisat samostatny script (keby vyzeral takto), pretoze tam priamo beriem ID dvoch objektov (ten, ktory berem do ruky a ten, ku ktoremu to privezujem - kamera/postava), neda sa script napisat univerzalne, ze nie ID konkretneho objektu, ale objektu, na ktorom sa prave v Logic Bricks pytam/beriem do ruky/zaktivuje sa senzor, zatial som na nic neprisiel, toto je posledne riesenie po ktorom som siahol, kedze scriptovat viem velmi malo a tazko...keby sa dal constraint zaktivovat cez Logic Bricks, tak by som to spravil tym spoosbom...skusal som uz aj parent, ale to je prilis staticke

Dalsia otazka, ako nastavim objektu drzanemu v ruke (priconstraintovanemu) aby mal velmi malu hmotnost, pretoze ked ho drzim v ruke, doslova s nim rozrazam okolite predmety, chova sa ako tank...velmi lahko zrazi napriklad regal, ktory ma mass 100, popri tom, box ma mass 1...skusil som edit object, dynamics, set mass dal som 0.01, nepomohlo, skusil som dat disable rigid body pomohlo akurat vo vacsiu stabilitu telesa...ale nechcem dat rovno Ghost, aby som s nim nepresiel cez stenu, chcem, aby to bol pevny predmet, ale zaroven, ked s nim do niecoho narazim, aby sa nechoval ako objekt, ktory ma mass 10000.0...

Dufam, ze mi poskytnete odpovede/rady na tieto problemy a vnesiete svetlo do tmy, ktora ma obklopi ked zacnem scriptovat :-D za pripadnu pomoc dakujem...

Kód:
import PhysicsConstraints as PS

GL = GameLogic
cont = GL.getCurrentController()
own = cont.getOwner()

objList = GameLogic.getCurrentScene().objects

Box = objList["OBBox"]

Me = objList["OBTakeEmpty"]

constraintType = 1

Box_ID = Box.getPhysicsId()

Me_ID = Me.getPhysicsId()

pointPos_x = 0.0
pointPos_y = 0.0
pointPos_z = 0.0

if own.take == 1:
   constraint = PS.createConstraint(Box_ID, Me_ID, constraintType,   pointPos_x, pointPos_y, pointPos_z)

else:
   PS.removeConstraint(constraint_ID)

Autor:  ppk [ čtv srp 13, 2009 3:35 pm ]
Předmět příspěvku:  Re: Constraint - script

no kdyz vytvaris tu vazbu tak ona ti vtaci to ID co potrebujes
nekde doma na to mam blend s nakladakem ke kteremu se da pripojit prives... skusim se po nem kouknout :shock:
getOwner() misto toho jen napises cont.owner

s tim drzenim objektu... no nebudes tomu verit ale problem je v interaktivite armatury s Bullet myslim to tak ze armatura muze ovlivnit fyzikalni objekty (to tak ze ke kostem priparentujes krabice) ale spatky uz to nejde :emo16:

Autor:  Kapo [ čtv srp 13, 2009 5:12 pm ]
Předmět příspěvku:  Re: Constraint - script

jasne, lenze ked ho chcem zapisat:

constraint_ID = constraint.getConstraintId()

Box.constraint_ID = constraint_ID

stale mi pise na RemoveConstraint(Box.constraint_ID) ze nepozna constraint, aj ked tam napisem (constraint_ID), "name 'constraint' is not defined"

a ja mam FPS, cize ziadna armatura...to, ze to rozraza objekty, ked je to priconstraintovane, aj ked ma malu mass bude v niecom inom...

A nepovedal si mi, ako to mam spravit univerzalne pre vsetky objekty (pridem k objektu, stlacim E, take sa zmeni na 1, zaktivuje sa script pre ten objekt, univerzalne, nie len pre objekt 'Box')...

Autor:  Kapo [ čtv srp 13, 2009 8:57 pm ]
Předmět příspěvku:  Re: Constraint - script

ppk: poradil si mi dost divne, ked napisem cont.owner(), tak mi konzola vyhodi:
KX_GameObject is not callable (line 5)

Autor:  ppk [ pát srp 14, 2009 5:34 pm ]
Předmět příspěvku:  Re: Constraint - script

ty to owner mapises BEZTECHZAVOREK jakoby to byla obycejna promena chapes?
no a ten blend co sem ti rikal je http://ppk.hustej.net/truck-ppk.blend :wink: je tam takovej fajnej truck ke kterymu se da pripojit naves no a v tom navesu je script co te zajima myslim... :emo17:
jo tak asi tak ty to mas spatne v tom ze to id cko co ziska s te vazby co vytvoris musis hodit treba do
Kód:
gameLogic.GlobalDict
chapes a shovat je tam protoze ony jinak zaniknou ty tvoje lokalni promene :|

Autor:  Kapo [ pát srp 14, 2009 6:22 pm ]
Předmět příspěvku:  Re: Constraint - script

no nic, nechapem to, na Blenderartists sme to poriesili, uz mi to ide perfektne, v podstate som to mal dobre, len ten constraint_ID robil problemy...teraz mam iny problem...ked narazim s objektom do inych, rozletia sa...aj ked ma velmi malu mass, ide o to, ze je moc napevno pripevneny k postave, malo by to mat nejaku volnost...ak chapes o com vravim...

Autor:  ppk [ čtv srp 20, 2009 3:35 pm ]
Předmět příspěvku:  Re: Constraint - script

no mozma by mohlo trochu pomoct kdybys tem objektum do kterych narazis docela zvisil parametr form. oni pak budou mene reagovat na kolize nebudou tak divoke

Autor:  Kapo [ čtv srp 20, 2009 8:57 pm ]
Předmět příspěvku:  Re: Constraint - script

xD nepokoj objektu som uz davno vyriesil :banana: (tu mi takmer vzdy odpovedaju na otazku dva problemy dozadu...ja uz som medzitym jeden vyriesil a mam dalsi...)

takze ten dalsi problem je jednoduchy: ako spravim, aby dva konkretne ojekty na seba nereagovali? proste kazdy z nich sa tvari ako normalny rigid body objekt, ale vzajomne sa tvaria ako ghost...nereaguju na seba, ale na ine objekty ano...to bude chciet asi script, ale v tutorialovej prirucke na tutorialsforblender som nic co by mi daco hovorilo nenasiel...poradil by si mi pls?

Autor:  ppk [ pon srp 24, 2009 3:41 pm ]
Předmět příspěvku:  Re: Constraint - script

no v blenderu gui v constr menu muzes zapnout aby spolu spojene objekty nekolidovaly. mozna by to neak slo udelat i skriptem.

Autor:  Kapo [ pon srp 24, 2009 8:35 pm ]
Předmět příspěvku:  Re: Constraint - script

ppk píše:
no v blenderu gui v constr menu muzes zapnout aby spolu spojene objekty nekolidovaly. mozna by to neak slo udelat i skriptem.


pozor, po prve, nechcem, aby na seba reagovali iba ked je urcita premenna rovna 1, a po druhe, nie je vzdy ten objekt pripojeny k inemu...len ked je premenna 1, ja viem, ide to cez "no collision", ale ja robim constraint scriptom, a v dokumentacii som nic o no collision necital...mozno to tam je a ja to nevidim xD

Autor:  Kapo [ pát srp 28, 2009 3:17 pm ]
Předmět příspěvku:  Re: Constraint - script

nevies nahodou ako zmenit hodnotu form pocas hry?

Autor:  ppk [ pát srp 28, 2009 8:36 pm ]
Předmět příspěvku:  Re: Constraint - script

neskousel sem to ale skusil bych property v owner objektu...

Autor:  Kapo [ sob srp 29, 2009 5:02 pm ]
Předmět příspěvku:  Re: Constraint - script

ee, owner asi nepozna form premennu, ked dam own["form"] = 50.0, nic sa nestane...objekt ma podla mojho nazoru rovnaky form ako som ho nastavil defaultne, pretoze je rovnako rotovatelny ako predtym...alebo je pre tento pripad iny zapis? este by som rad vedel ako pocas hry zmenim status ghost/neghost ( :-D ), typ boundary boxu, ak je to sphere, radius objektu, a celkove tieto veci...v dokumentacii som to nenasiel :-( nasiel som len nejake ghost, ale to plati pre parent...any help? pls... :-D

Autor:  ppk [ úte zář 01, 2009 5:45 pm ]
Předmět příspěvku:  Re: Constraint - script

zaps by mel byt stejny jako u jakekoliv jine promene o.vajco treba... no a ty kolizni meshe co ja vim tak to zmenit nelze, a ta dokumentace v oblasti fyziky stoji dost za prd, takze na to ze tam neco uzitecneho najdes bych asi taky moc nespolehal :emo20:

Autor:  Kapo [ stř zář 02, 2009 1:22 pm ]
Předmět příspěvku:  Re: Constraint - script

ppk píše:
zaps by mel byt stejny jako u jakekoliv jine promene o.vajco treba... no a ty kolizni meshe co ja vim tak to zmenit nelze, a ta dokumentace v oblasti fyziky stoji dost za prd, takze na to ze tam neco uzitecneho najdes bych asi taky moc nespolehal :emo20:


ano, ale o.form (nie je to po novom o["form"]?) proste nic nespravi...

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