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
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
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)