I see too many uses and possibilities. I don’t understand why some people think that “people will use it just to troll in cafes”. cafes or restaurants are not even the 1% of the Roblox games or that roblox needs to be a “blocky game”. We had enough time to land the idea of getting more human and customizable characters since the anthro feature. And it’s so cool and a little hard to work on your own inner cage, custom bones, etc.
I think that maybe someone should port every R6 animation to R15 (it would look like the cartoonish animation pack). And that would solve the R6 compatibility for now (idk)
I’m currently making my own clothes.
I love this feature
local lcUtils = require(workspace:WaitForChild("LayeredClothingUtilsScript"))
local part = script.Parent
local WrapLayer = nil
for _, v in pairs (script.Parent:GetDescendants()) do
if v:IsA("WrapLayer") then
WrapLayer = v
end
end
local Handle= WrapLayer.Parent
local clon =Handle:Clone()
for _, v in pairs (clon:GetChildren()) do
if not (v:IsA("Attachment") or v:IsA("WrapLayer") or v:IsA("SurfaceAppearance") ) then
v:Destroy()
end
if v:IsA("Attachment") then
v.Name ..= "Attachment"
end
end
local accesorio = Instance.new("Accessory")
clon.Parent = accesorio
clon.Name = "Handle"
clon.Anchored = false
accesorio.Name = Handle.Name
local function onPartTouched(otherPart)
local character = otherPart.Parent
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
local no_tiene = character:FindFirstChild(accesorio.Name) == nil
if not bIsColliding then
if humanoid and otherPart == character.PrimaryPart then
if no_tiene then
local clon_Accesorio = accesorio:Clone()
humanoid:AddAccessory(clon_Accesorio)
bIsColliding = true
end--si no tiene
end
end
end
local function onPartTouchEnded(otherPart)
local character = otherPart.Parent
local humanoid = character:FindFirstChildWhichIsA("Humanoid")
if humanoid and otherPart == character.PrimaryPart then
bIsColliding = false
end
end
part.TouchEnded:Connect(onPartTouchEnded)
part.Touched:Connect(onPartTouched)
Only 4 days slow to find this! I’m getting faster!
OK, I have many, many questions:
I see a lot of talk about R6 and R15. How about S1 and S15 and, in my case S-something else? Do clothes have to be weighted to the armature in order to be compatible with skinned mesh avatars? If so, what is the benefit of layered clothing? If this update provides wrap technology that does not need to be skinned in blender… (see #2)
Is this the “tool update” that skinned meshes have been waiting for? Will it be possible to attach a tool to a skinned mesh without all the coding and skinning mess we go through now? (there is strong coincidental evidence this is true, see #4)
I see the flicker glitch with skinned meshes is gone again. Was that part of this update? Is the fix here to stay? Thanks BTW!
I suppose some of the prior answers may answer this: Is this update generic enough that a non humanoid could have layered clothing? (example: a saddle that works on both a horse and a giraffe)
local module = {}
--[[
local a = require(game.ServerStorage.Importar)
a.cosas()
]]
local Attachements_nombres = {
"FaceCenter",
"FaceFront",
"Hat",
"Hair",
"LeftGrip",
"LeftShoulder",
"LeftCollar",
"RightGrip",
"RightShoulder",
"RightCollar",
"Neck",
"BodyBack",
"BodyFront",
"WaistFront",
"WaistCenter",
"WaistBack",
"LeftFoot",
"RightFoot"
}
local Genera_Accesorio= function(Handle, WrapLayer, Attachment, generar_cosa)
Handle = Handle:Clone()
WrapLayer = WrapLayer:Clone()
Attachment = Attachment:Clone()
local Accesorio = Instance.new("Accessory")
Accesorio.Name = WrapLayer.Name
Handle.Name = "Handle"
Handle.Anchored = true
Handle.Parent = Accesorio
Attachment.Parent = Handle
local Motor6D = Handle:FindFirstChildOfClass("Motor6D")
if Motor6D then
Motor6D:Destroy()
end
Handle.Position = Handle.Position + Vector3.new(0, Handle.Size.Y + Handle.Size.Y/2, 0 )
Accesorio.Parent = game.Workspace
local TouchTransmitter = Handle:FindFirstChildOfClass("TouchTransmitter")
if TouchTransmitter then
TouchTransmitter:Destroy()
end
if generar_cosa then
local clon = game.ServerStorage.CustomClothing:Clone()
clon.Name = "Collider_".. WrapLayer.Name
local Remplazar = clon:WaitForChild("Remplazar")
local pos_original = Handle.Position
Handle.Name = WrapLayer.Name
Handle.CFrame = Remplazar.CFrame
Handle.Parent = clon
Accesorio:Destroy()
Remplazar:Destroy()
local clon_thumbnail = game.ServerStorage.Thumbnail:Clone()
clon_thumbnail.Parent = Handle
-- local surfaceApparence = game.ServerStorage.SurfaceAppearance:Clone()
-- surfaceApparence.Parent = Handle
local clon_Hover = game.ServerStorage.HoverScript:Clone()
clon_Hover.Parent = Handle
clon_Hover.Disabled = false
local ApplyCustom = clon:WaitForChild("ApplyCustom")
local model_mover = Instance.new("Model")
clon.Parent = model_mover
model_mover.Parent = game.Workspace
model_mover.PrimaryPart = clon
model_mover:MoveTo(pos_original)
clon.Parent = game.Workspace
model_mover:Destroy()
print(clon.Parent.Parent)
ApplyCustom.Disabled = false
end
game.ChangeHistoryService:SetWaypoint ( "Insertado Layered clothing: ".. WrapLayer.Name )
return Accesorio
end
module.cosas = function(generar_cosa)
local selection = game.Selection:Get()
local encontro_minimo_uno = false
local objetos_generados = {}
for _, v in pairs (selection) do
if v:IsA("Model") then
local InitialPoses = v:FindFirstChild("IntiailPoses")
local RootPart = v:FindFirstChild("RootPart")
local AnimationController = v:FindFirstChild("AnimationController")
local WrapLayer
local Motor6D
local Attachment
---revisa cosas básicas
for _, cosa in pairs (v:GetDescendants()) do
if cosa:IsA("WrapLayer") then
WrapLayer = cosa
elseif cosa:IsA("Motor6D") then
Motor6D = cosa
end
end
if RootPart~=nil then
Attachment = RootPart:FindFirstChildOfClass("Attachment")
if table.find(Attachements_nombres, Attachment.Name) ~=nil then
else
Attachment = nil --lo cancela
warn("No coincide el nombre del attachement")
end
end
if WrapLayer and Motor6D and Attachment then
encontro_minimo_uno = true
local handle = WrapLayer.Parent
local accesorio_creado = Genera_Accesorio(handle, WrapLayer, Attachment, generar_cosa)
table.insert(objetos_generados, accesorio_creado)
else
print("no es un objeto valido")
end---es valido o no
end--ifs
end
if not encontro_minimo_uno then
warn("No haz seleccionado ningún objeto valido")
else
game.TestService:Message("Generó objeto/s")
game.Selection:Set(objetos_generados)
end
end
return module
You stop taking my words out of context and melding them into your own version. I never said people can’t use R6, I said people shouldn’t use R6 and expect things to magically work, they’re outdated tech.
Get with the system & evolve, or be left behind because you want legacy features.
My post wasn’t defending R6, it was about how it doesn’t matter whether or not a developer uses R6 or R15, as long as the game is well made. Will R6 developers be able to use the new features Roblox is presenting? Of course not. Does that make R6 inferior to R15? Absolutely not. I wasn’t taking your words out of context
This is exactly what you said, now, isn’t it?
This isn’t even something to argue over. R6 and R15 are two completely different types of rigs. There is nothing to compare.
I apologise if I made you think I was taking your words and twisting them.
Obbies and certain games involving obstacles such as Mad City do this to prevent people with short avatars/tall avatars having an advantage/disadvantage.
If you want to try yourself, equip an R15 avatar and make it as tall as possible. Then try to complete the Jewelry store in Jailbreak.
As cool as it would be to have layered clothing for R6 avatars, I believe it’s simply impossible without serious compatibility-breaking implications due to how R6 is built. R6 uses meshes that are not physically simulated, and layered clothing requires that to properly fit the clothes to the avatar’s body shape. Rthro bundles are already mangled enough when used with R6 due to the lack of automatic scaling and I can’t imagine that layered clothing would produce any better results. Roblox has stated severaltimes that R6 is here to stay, but that doesn’t necessarily mean it will be compatible with tech that functions more efficiently with R15.
And contrary to popular belief, R6 is not deprecated. It’s more of a legacy feature at this point.
Does that mean you will have more people in the UGC program? I have experience in Blender, and would also like to participate in making UGC content - I have made some for my experiences, and right now with my team we are working on 3D clothing as well
Tried making a basic long sleeve t-shirt with no texture and import it but the accessory won’t fit around the avatar
The accessory follows the animations and movement of the avatar tho. (this is Equipping Without an Asset ID method:
The fbx file makes a mess out of the shader material if there is more than 1 image map attached. Roblox does not know what to do with them.
Simply remove everything but the color map, and you will see color at import. Then as you did, rebuild the PBR inside Roblox.
It is not clear from the instructions why they want specific naming conventions on textures. This has not been needed before. Perhaps for the patently inaccurate moderation robot?
Thanks, maybe its an update that will come. But still a little weid that needs to have a name and even the examples doesnt includes the MET, NOR and the _RGH