Cloth

Připnutí a úchyty

Upevněte body látky v prostoru nebo k pohyblivému fyzikálnímu tělesu.

Upevněte body látky v prostoru nebo k pohyblivému fyzikálnímu tělesu.

GML
cloth.pin_edge("top");
cloth.unpin_edge("top");
cloth.pin_corner("top_left");
cloth.pin_point(0, 0);
var pinned = cloth.is_point_pinned(0, 0);
cloth.unpin_point(0, 0);
// Moving rigid-body anchor:
cloth.attach_edge("top", support_body);
cloth.detach_edge("top");

Připnutá částice má nulovou inverzní hmotnost a zůstává na aktuálním místě ve světě. Připnutí ji nevrací do původního tvaru. Hrany: top, bottom, left, right; rohy: top_left, top_right, bottom_left, bottom_right. Horní hrana je y=0.

Pro úchyt na tělese použijte attach_point/attach_edge nebo prostorovou skupinu create_attachment(). Statické a kinematické podpory určují pohyb úchytu; dynamické používají poddajné obousměrné propojení. Pravidla vlastnictví brání konfliktním připnutím. Importovaná BBMOD látka podporuje i create_attachment_from_node(name, radius).

Nové související postupy#

Ověřené kontrakty operací#

Následující kontrakty rozlišují jednotky, návratové hodnoty, chyby a životnost podle aktuální implementace. Nevynechávej kontrolu výsledku: false, 0 a undefined mohou mít u různých metod odlišný význam.

Symbol / vlastníkSignaturaKontrakt operace
JoltBBMODCloth.is_point_pinnedJoltBBMODCloth.is_point_pinned(x,y)Boolean pro celočíselný bod mřížky včetně krajů; false i při neplatném bodu/wrapperu. Attached a pinned nejsou zaměnitelné dotazy: pohyblivý host oproti fixaci částice.
JoltBBMODCloth.pin_cornerJoltBBMODCloth.pin_corner(name)pin_corner: názvy top_left, top_right, bottom_left, bottom_right, bez ohledu na velikost písmen. Boolean; označení je podle původní mřížky, nikoliv světových stran po otočení. top je y=0. attach_edge vyžaduje živý JoltBody stejného světa.
JoltBBMODCloth.pin_edgeJoltBBMODCloth.pin_edge(name)pin_edge: názvy top, bottom, left, right, bez ohledu na velikost písmen. Boolean; označení je podle původní mřížky, nikoliv světových stran po otočení. top je y=0. attach_edge vyžaduje živý JoltBody stejného světa.
JoltBBMODCloth.pin_pointJoltBBMODCloth.pin_point(x,y)Připne bod ke světu. Celočíselná mřížka x=0..segments_x, y=0..segments_y včetně krajů. Boolean; není to světová pozice.
JoltBBMODCloth.unpin_cornerJoltBBMODCloth.unpin_corner(name)unpin_corner: názvy top_left, top_right, bottom_left, bottom_right, bez ohledu na velikost písmen. Boolean; označení je podle původní mřížky, nikoliv světových stran po otočení. top je y=0. attach_edge vyžaduje živý JoltBody stejného světa.
JoltBBMODCloth.unpin_edgeJoltBBMODCloth.unpin_edge(name)unpin_edge: názvy top, bottom, left, right, bez ohledu na velikost písmen. Boolean; označení je podle původní mřížky, nikoliv světových stran po otočení. top je y=0. attach_edge vyžaduje živý JoltBody stejného světa.
JoltBBMODCloth.unpin_pointJoltBBMODCloth.unpin_point(x,y)Uvolní bod. Celočíselná mřížka x=0..segments_x, y=0..segments_y včetně krajů. Boolean; není to světová pozice.