3D Layered Clothing is Now Available!

Also, yet again, please stop forcing R15 onto everyone. R6 is as stated a stylistic choice, and some developers may not want the looks of R15; even if you can animate it in the same style, the body structural design are not the same no matter what arguments you bring about.

8 Likes

Theres custom mesh deformation R15 avatars with 0 seams.

Yet again, you did not read my post. Please read it thoroughly, I already mentioned mesh deformation and the fact that it is not feasible.
Edit: you edited your post just to add a community resource you made just now, and yet still havenā€™t replied to any of my pointsā€¦

Hereā€™s RETROSTUDIO, and a game inside of it thatā€™s based off of 2013.

Not only could people use their games, itā€™s easier to animate with and itā€™s useful for classic games or cartoony games, hereā€™s another example, for cartoony.

Plus this platform is known for Powering Imagination, meaning you can do whatever you imagine, as long as it follows the TOS, and is supported by roblox of course.

7 Likes

it looks like layered clothing is working more well with 2.0 and other types of avatarā€™s then rthro at the moment

2 Likes

because more joints = more work? isnt that just common sense
Also R15 has more joitns wdym

3 Likes

Iā€™m not forcing anything onto anybody. Iā€™m explaining that if you willingly choose to use outdated, deprecated, and inferior tech, then youā€™re not going to have access to the latest technology and you really donā€™t have a right to complain. It really is that simple.

4 Likes

Here, let me give you a simple solution :

Let people do whatever the hell they want.

There are still quite a number of popular R6 games, arenā€™t there? R6 is not ā€œbetterā€ than R15, and neither is R15 ā€œbetterā€ than R6. Itā€™s like comparing apples to oranges. Sure, it has more joints, but it takes away the feeling of creativity to make unique poses, that can only be done using R6. This is not an ā€œupgradeā€ from R15, itā€™s just a feature.

Let people do what they want, as long as itā€™s good. A well made R6 game will be way better than a poorly made R15 game. Itā€™s a simple concept to grasp.

6 Likes

The game going for that 2013 look would really not benefit from 3d layered clothing, which wouldnā€™t have even been possible back then (on Roblox).

Maybe itā€™s just my poor interpretation skills, but that line just doesnā€™t make sense.

Ehhhhhā€¦ I donā€™t agree. The freedom of R15 animating actually makes high quality animations easier to make, as you donā€™t have to move limbs as much, because rotating will work most of the time.

Again, classic style games donā€™t need 3D layered clothing, it doesnā€™t fit in at all.

Why? Cartoony things look better with the higher amount of expressivity that R15 has. R6 just looks stiff, which isnā€™t super cartoony.

I can understand this argument, but I think the lack of support for R6 is because R6 is an outdated feature that lacks a lot of R15ā€™s features (scaling, using animations with avatar customization, etc.) I think they are trying to push devs towards using the more expressive and feature-filled R15.
(Disclaimer)
I donā€™t hate R6 (I sometimes use it), but I do care for a balanced evolution of Robloxā€™s look (not bonkers like Rthro, but not as tame as R6.) If you want to use it, thatā€™s ok, It has a unique look that R15 can struggle with. And I know how much it sucks losing out on new features because of using an older things. I mean, the permament shutdown of the LBP PS3 servers (I only have a PS3) was announced on my birthday, and I loved LBP a lot.

1 Like

ā€¦And yet again, you offer no solutions for my issues, forcing me to use said ā€œoutdated tech.ā€ I donā€™t see how this is my problem.

2 Likes

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


https://gyazo.com/1bd3ba50fefc6eb3a653949c001bf6c6

Just have some problems fitting the outer cage with the edges of my shirt

This is my code to test my clothes

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)
18 Likes

Only 4 days slow to find this! Iā€™m getting faster!

OK, I have many, many questions:

  1. 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)
  2. This post: R15 avatar with skinned clothing. 3D Layered Clothing is Now Available! - #114 by SillyMeTimbers Does this depreciate the value of the ā€œstill no real tutorialā€ S15 when all you need is a jacket to hide arm seams?
  3. 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)
  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!
  5. 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)
1 Like

I can already tell people will find weird little bugs with thisā€¦ Other than that itā€™s cool.

Iā€™m not good at modeling clothes. So I made some code to help my friend to help her test her clothes and here is an example

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

11 Likes

but I dont want the 2D style to go ;*(

3 Likes

Here, letā€™s do this.

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.

Sorry, but this is how the real world works.

4 Likes

Some r6 games are still fun Itā€™s just about the opinion either you use rthro r15 or r6

5 Likes

Again, you completely missed my point.

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.

7 Likes

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.

7 Likes

Chees, The creator said they going to release in few weeks, it been five days though.

3 Likes