2016-08-25 5 views
0

Ich versuche eine Art "Stoffsimulation" zu machen, indem ich ROBLOXs neue Seilbeschränkungen und ein Gitter von Teilen verwende.Verbinden eines Gitters mit Seilbeschränkungen

Momentan habe ich ein 10x10 Raster von .4x.4x.4 Blöcken erstellt und möchte nun alle mit Seilbeschränkungen verbinden.

Ich habe jeden Teil im Gitter nach der Zeile und Spalte mit dem Namen (zB: erster Teil in dem Gitter ist 1 1, letzten 10 10 ist)

und dann ich die Teile um jedes einzelnes Gitter erhalten Teil mit ihrem Namen und String-Manipulation.

Ich füge dann 4 Anhänge in jedem Teil und 4 Seil Einschränkungen. Hier ist der Code (ab für oben steht, sein steht für unten, usw.):

for i2 = 1, #gParts do 
    local ab = tostring(tonumber(gParts[i2].Name:match("^(%S+)"))-5).."  "..tostring(tonumber(string.sub(gParts[i2].Name,-1))-1) 
    local be = tostring(tonumber(gParts[i2].Name:match("^(%S+)"))+5).."  "..tostring(tonumber(string.sub(gParts[i2].Name,-1))+1) 
    local le = tostring(tonumber(gParts[i2].Name:match("^(%S+)"))-1).."  "..tostring(tonumber(string.sub(gParts[i2].Name,-1))) 
    local ri = tostring(tonumber(gParts[i2].Name:match("^(%S+)"))+1).."  "..tostring(tonumber(string.sub(gParts[i2].Name,-1))) 
    for i3 = 1, 4 do  
     local atchm = Instance.new("Attachment",gParts[i2]) 
     local ropeconst = Instance.new("RopeConstraint",gParts[i2]) 
    end 
end 

Rope Einschränkung hat 2 Haupt-Eigenschaften I verwenden müssen; Anhang 1 und Anhang 2.

Antwort

0

Ich habe nie wirklich mit den neuen Einschränkungen durcheinander gebracht, aber ich glaube, das sollte funktionieren.

Bedenken Sie, dass die Einschränkungen in Roblox eine neue Instanz sind und dass sie wahrscheinlich noch experimentell sind.

X = 10; 
Y = 10; 
spread = 4; 
--Spread is the Length of the Constraint. You may have to increase this, especially if it's stiff. 

function createAttachments() 
    --This is under the assumption that gParts is a table filled with the Part Instances 
    for i,v in pairs(gParts) do 
     local atch = Instance.new("Attachment",v); 
    end; 
end; 

function connectConstraints(part,x,y) 
    if x ~= X then 
     connectRight = x+1.." "..y; 
    end; 
    if y ~= Y then 
     connectDown = x.." "..y+1; 
    end; 
    if connectRight ~= nil then 
     local ropeconst = Instance.new("RopeConstraint",part); 
     ropeconst.Length = spread; 
     ropeconst.Attachment0 = part.Attachment; 
     ropeconst.Attachment1 = connectRight.Attachment; 
    end; 
    if connectLeft ~= nil then 
     local ropeconst = Instance.new("RopeConstraint",part); 
     ropeconst.Length = spread; 
     ropeconst.Attachment0 = part.Attachment; 
     ropeconst.Attachment1 = connectLeft.Attachment; 
    end 
end 

createAttachments(); 
connectConstraints(); 

Wenn dies nicht für Sie funktioniert, lassen Sie es mich bitte wissen. Ich kann Sie von der Website selbst kontaktieren, falls erforderlich.

+0

Obwohl ich es ziemlich viel bearbeiten musste, um zu arbeiten; es funktioniert tatsächlich! Vielen Dank! – Ducktor

+0

Ich bin froh zu hören, dass es geholfen hat! Ich entschuldige mich, wenn es sich um einen Fehler handelte, ich habe Roblox-Zeug seit einiger Zeit nicht mehr berührt. –

+0

Oh, ich dachte nicht einmal, dass ich es durch gParts machen musste, damit connectConstraints funktioniert. Das tut mir schrecklich leid. –

Verwandte Themen