Collision mit LUA aus/einschalten?

  • Hi,


    ich bräuchte mal den Code mit dem man unter RB den Haken bei Collision setzen und entfernen kann.


    Einbauen wollte ich das in ein klappbares Schneidwerk welches leider noch Collis an den Seiten hat, wenn es eingeklappt ist.
    Ich suchte nach einen Befehl wie setRidgeBody ("ID des Meshs" "Colli ein/aus") bin aber nicht fündig geworden.


    Hat da jemand eine Idee?


    EDIT:
    Ich hab gerade versucht, die Colliboxen mit dem toggleAnimatedParts.lua Script mit einklappen zu lassen, da dieses für die Animation genutzt wird
    aber leider hat das nicht funktioniert. Die Collis sind immer noch da :(


    lg
    Webby

  • Hi...


    Ich würde, wenn es geht, also wenn die Collis einzelne Teile sind, diese über die StandartSkripte bewegen, entweder die "foldable" oder die "animatedVehicles", hat den Vorteil, das diese bei Paches mit geupdatet werden, was bei deinem Skript nicht so wäre.


    Bei der foldable, musst du die animation in der i3d schreiben, also mit Notepad z.b öffnen und dort die Animation mir den Zeiten festlegen, hat den Vorteil das du zeiten besser einstellen kannst, also z.b im ersten teil der animation die bewegung langsamer und in der zweiten hälfte die animation schneller laufen lassen. Nur darauf achten das die abstände der Zeiten immer gleich bleiben, also z.b 0, 500, 1000, 1500, 2000 usw.


    Bei der animatedVehicles, musst du die animation in der XML angeben.



    Wenn dir das aber nicht hilft, weil die Collis nicht einzeln sind, dann kannst du in deinem Skript auch die Colli ein und ausschalten. Das Bauteil einfach mit Index in der XML landen als, z.b self.ColliIndex und dann in deinem Skript per:
    setRigidBodyType ändern
    [lua]
    setRigidBodyType(integer transformId, string type)


    setRigidBodyType(self.ColliIndex, "NoRigidBody")


    --bzw. danach wieder


    setRigidBodyType(self.ColliIndex, "Dynamic")
    [/lua]


    Nachzulesen ist das ganze hier:
    http://gdn.giants-software.com…ion_reference_destruction und da einfach etwas hochscrollen.

  • Huhu^^


    also die Colliboxen sind einzeln für jede Seite aber ich kann das SW nicht über das Standardscript animieren weil dann einige andere Scripts nicht mehr funktionieren.


    setRigidBodyType hatte ich auch gefunden aber ich dachte es gibt vielleicht extra eine Funktion für Collision unter RB.


    Ich muss mal gucken, wie ich es mache.
    Wenn gar keine Lust hab, stelle ich die Collis im GE aus und gut is :D


    Ich danke dir!


    lg
    Webby

  • Eventuell geht das mit setCollisionMask, das weiß ich aber nicht genau, ob es da einen Code gibt der die CollisionMask so setzt das sie keine Collision mehr hat.


    Wirst du wohl die Colli als 2. bauteil im GE setzen müssen um sie dann als NoRigidBody zu setzen und dann wieder auf dynamic!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!