2016-08-25 1 views
0

J'essaie de faire une sorte de «simulation de tissu» en utilisant les nouvelles contraintes de corde de ROBLOX et une grille de pièces.Relier une grille à des contraintes de corde

Actuellement, j'ai fait une grille de 10x10 blocs de .4x.4x.4 et maintenant je veux connecter chacun avec des contraintes de corde.

j'ai nommé chaque partie de la grille après leur rangée et de colonne (par exemple, première partie de la grille étant de 1 1, la dernière étant 10 10)

puis-je obtenir les parties autour de chaque réseau individuel partie en utilisant leur nom et la manipulation de la chaîne. Puis j'insère 4 attaches dans chaque partie et 4 contraintes de corde. est ici le code (ab signifie ci-dessus, être représente ci-dessous, etc.):

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 

contrainte de corde a 2 principales propriétés que je dois utiliser; pièce jointe 1 et pièce jointe 2.

Répondre

0

Je n'ai jamais vraiment raté les nouvelles contraintes, mais je crois que cela devrait fonctionner. Gardez à l'esprit que les contraintes sont une nouvelle instance dans Roblox et qu'elles sont probablement encore expérimentales.

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

Si cela ne fonctionne pas pour vous, s'il vous plaît faites le moi savoir. Je peux vous contacter depuis le site même si nécessaire.

+0

Bien que je devais l'éditer un peu au travail; ça marche vraiment! Je vous remercie! – Ducktor

+0

Je suis content d'entendre ça aidé! Je m'excuse si c'était une erreur infestée, je n'ai pas touché à Roblox depuis un moment. –

+0

Oh, je ne pensais même pas que je devais faire passer au crible gParts pour que connectConstraints fonctionne. Je suis terriblement désolé à ce sujet. –