Browse Source

Material: Remove skinning. (#21788)

Michael Herzog 4 years ago
parent
commit
8c21891045
59 changed files with 25 additions and 229 deletions
  1. 0 3
      docs/api/en/materials/MeshBasicMaterial.html
  2. 0 3
      docs/api/en/materials/MeshDepthMaterial.html
  3. 0 3
      docs/api/en/materials/MeshDistanceMaterial.html
  4. 0 3
      docs/api/en/materials/MeshLambertMaterial.html
  5. 0 3
      docs/api/en/materials/MeshMatcapMaterial.html
  6. 0 3
      docs/api/en/materials/MeshNormalMaterial.html
  7. 0 4
      docs/api/en/materials/MeshPhongMaterial.html
  8. 0 3
      docs/api/en/materials/MeshStandardMaterial.html
  9. 0 3
      docs/api/en/materials/MeshToonMaterial.html
  10. 0 5
      docs/api/en/materials/ShaderMaterial.html
  11. 1 2
      docs/api/en/objects/SkinnedMesh.html
  12. 0 3
      docs/api/zh/materials/MeshBasicMaterial.html
  13. 0 3
      docs/api/zh/materials/MeshDepthMaterial.html
  14. 0 3
      docs/api/zh/materials/MeshDistanceMaterial.html
  15. 0 3
      docs/api/zh/materials/MeshLambertMaterial.html
  16. 0 3
      docs/api/zh/materials/MeshMatcapMaterial.html
  17. 0 3
      docs/api/zh/materials/MeshNormalMaterial.html
  18. 0 4
      docs/api/zh/materials/MeshPhongMaterial.html
  19. 0 3
      docs/api/zh/materials/MeshStandardMaterial.html
  20. 0 3
      docs/api/zh/materials/MeshToonMaterial.html
  21. 0 5
      docs/api/zh/materials/ShaderMaterial.html
  22. 0 1
      docs/api/zh/objects/SkinnedMesh.html
  23. 0 1
      docs/manual/ar/introduction/How-to-update-things.html
  24. 0 1
      docs/manual/en/introduction/How-to-update-things.html
  25. 1 2
      docs/manual/ja/introduction/How-to-update-things.html
  26. 0 1
      docs/manual/ko/introduction/How-to-update-things.html
  27. 0 1
      docs/manual/zh/introduction/How-to-update-things.html
  28. 0 1
      docs/scenes/bones-browser.html
  29. 0 23
      editor/js/Sidebar.Material.js
  30. 0 3
      editor/js/Strings.js
  31. 0 16
      editor/js/libs/tern-threejs/threejs.js
  32. 0 1
      examples/js/effects/OutlineEffect.js
  33. 1 12
      examples/js/loaders/ColladaLoader.js
  34. 0 5
      examples/js/loaders/FBXLoader.js
  35. 1 4
      examples/js/loaders/GLTFLoader.js
  36. 0 1
      examples/js/loaders/MMDLoader.js
  37. 0 1
      examples/jsm/effects/OutlineEffect.js
  38. 0 10
      examples/jsm/loaders/ColladaLoader.js
  39. 0 6
      examples/jsm/loaders/FBXLoader.js
  40. 1 4
      examples/jsm/loaders/GLTFLoader.js
  41. 0 1
      examples/jsm/loaders/MMDLoader.js
  42. 0 1
      examples/jsm/nodes/materials/NodeMaterial.js
  43. 0 2
      examples/webgl_loader_vrm.html
  44. 0 1
      src/loaders/MaterialLoader.js
  45. 0 1
      src/materials/Material.js
  46. 0 3
      src/materials/MeshBasicMaterial.js
  47. 0 2
      src/materials/MeshDepthMaterial.js
  48. 0 3
      src/materials/MeshDistanceMaterial.js
  49. 0 3
      src/materials/MeshLambertMaterial.js
  50. 0 3
      src/materials/MeshMatcapMaterial.js
  51. 0 3
      src/materials/MeshNormalMaterial.js
  52. 0 3
      src/materials/MeshPhongMaterial.js
  53. 0 3
      src/materials/MeshStandardMaterial.js
  54. 0 3
      src/materials/MeshToonMaterial.js
  55. 0 4
      src/materials/ShaderMaterial.js
  56. 1 1
      src/objects/Mesh.js
  57. 11 2
      src/renderers/WebGLRenderer.js
  58. 1 1
      src/renderers/webgl/WebGLPrograms.js
  59. 7 27
      src/renderers/webgl/WebGLShadowMap.js

+ 0 - 3
docs/api/en/materials/MeshBasicMaterial.html

@@ -109,9 +109,6 @@
 			The refraction ratio should not exceed 1. Default is *0.98*.
 			The refraction ratio should not exceed 1. Default is *0.98*.
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>Define whether the material uses skinning. Default is false.</p>
-
 		<h3>[property:Texture specularMap]</h3>
 		<h3>[property:Texture specularMap]</h3>
 		<p>Specular map used by the material. Default is null.</p>
 		<p>Specular map used by the material. Default is null.</p>
 
 

+ 0 - 3
docs/api/en/materials/MeshDepthMaterial.html

@@ -87,9 +87,6 @@
 		<h3>[property:Boolean morphTargets]</h3>
 		<h3>[property:Boolean morphTargets]</h3>
 		<p>Define whether the material uses morphTargets. Default is false.</p>
 		<p>Define whether the material uses morphTargets. Default is false.</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>Define whether the material uses skinning. Default is false.</p>
-
 		<h3>[property:Boolean wireframe]</h3>
 		<h3>[property:Boolean wireframe]</h3>
 		<p>Render geometry as wireframe. Default is false (i.e. render as smooth shaded).</p>
 		<p>Render geometry as wireframe. Default is false (i.e. render as smooth shaded).</p>
 
 

+ 0 - 3
docs/api/en/materials/MeshDistanceMaterial.html

@@ -108,9 +108,6 @@
 			The position of the point light in world space.
 			The position of the point light in world space.
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>Define whether the material uses skinning. Default is false.</p>
-
 		<h2>Methods</h2>
 		<h2>Methods</h2>
 		<p>See the base [page:Material] class for common methods.</p>
 		<p>See the base [page:Material] class for common methods.</p>
 
 

+ 0 - 3
docs/api/en/materials/MeshLambertMaterial.html

@@ -138,9 +138,6 @@
 			The refraction ratio should not exceed 1. Default is *0.98*.
 			The refraction ratio should not exceed 1. Default is *0.98*.
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>Define whether the material uses skinning. Default is false.</p>
-
 		<h3>[property:Texture specularMap]</h3>
 		<h3>[property:Texture specularMap]</h3>
 		<p>Specular map used by the material. Default is null.</p>
 		<p>Specular map used by the material. Default is null.</p>
 
 

+ 0 - 3
docs/api/en/materials/MeshMatcapMaterial.html

@@ -136,9 +136,6 @@
 			Default is a [page:Vector2] set to (1,1).
 			Default is a [page:Vector2] set to (1,1).
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>Define whether the material uses skinning. Default is false.</p>
-
 		<h2>Methods</h2>
 		<h2>Methods</h2>
 		<p>See the base [page:Material] class for common methods.</p>
 		<p>See the base [page:Material] class for common methods.</p>
 
 

+ 0 - 3
docs/api/en/materials/MeshNormalMaterial.html

@@ -113,9 +113,6 @@
 			Default is a [page:Vector2] set to (1,1).
 			Default is a [page:Vector2] set to (1,1).
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>Define whether the material uses skinning. Default is false.</p>
-
 		<h3>[property:Boolean wireframe]</h3>
 		<h3>[property:Boolean wireframe]</h3>
 		<p>
 		<p>
 			Render geometry as wireframe. Default is false (i.e. render as smooth shaded).
 			Render geometry as wireframe. Default is false (i.e. render as smooth shaded).

+ 0 - 4
docs/api/en/materials/MeshPhongMaterial.html

@@ -203,10 +203,6 @@
 		<h3>[property:Float shininess]</h3>
 		<h3>[property:Float shininess]</h3>
 		<p>How shiny the [page:.specular] highlight is; a higher value gives a sharper highlight. Default is *30*.</p>
 		<p>How shiny the [page:.specular] highlight is; a higher value gives a sharper highlight. Default is *30*.</p>
 
 
-
-		<h3>[property:Boolean skinning]</h3>
-		<p>Define whether the material uses skinning. Default is false.</p>
-
 		<h3>[property:Color specular]</h3>
 		<h3>[property:Color specular]</h3>
 		<p>
 		<p>
 			Specular color of the material. Default is a [page:Color] set to *0x111111* (very dark grey).<br /><br />
 			Specular color of the material. Default is a [page:Color] set to *0x111111* (very dark grey).<br /><br />

+ 0 - 3
docs/api/en/materials/MeshStandardMaterial.html

@@ -242,9 +242,6 @@
 		<h3>[property:Texture roughnessMap]</h3>
 		<h3>[property:Texture roughnessMap]</h3>
 		<p>The green channel of this texture is used to alter the roughness of the material.</p>
 		<p>The green channel of this texture is used to alter the roughness of the material.</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>Define whether the material uses skinning. Default is false.</p>
-
 		<h3>[property:Boolean vertexTangents]</h3>
 		<h3>[property:Boolean vertexTangents]</h3>
 		<p>
 		<p>
 		Defines whether precomputed vertex tangents, which must be provided in a vec4 "tangent" attribute,
 		Defines whether precomputed vertex tangents, which must be provided in a vec4 "tangent" attribute,

+ 0 - 3
docs/api/en/materials/MeshToonMaterial.html

@@ -163,9 +163,6 @@
 			Default is a [page:Vector2] set to (1,1).
 			Default is a [page:Vector2] set to (1,1).
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>Define whether the material uses skinning. Default is false.</p>
-
 		<h3>[property:Boolean wireframe]</h3>
 		<h3>[property:Boolean wireframe]</h3>
 		<p>Render geometry as wireframe. Default is *false* (i.e. render as flat polygons).</p>
 		<p>Render geometry as wireframe. Default is *false* (i.e. render as flat polygons).</p>
 
 

+ 0 - 5
docs/api/en/materials/ShaderMaterial.html

@@ -383,11 +383,6 @@ this.extensions = {
 		Define whether the material is rendered with flat shading. Default is false.
 		Define whether the material is rendered with flat shading. Default is false.
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>
-		Define whether the material uses skinning; true to pass skinning attributes to the shader. Default is false.
-		</p>
-
 		<h3>[property:Object uniforms]</h3>
 		<h3>[property:Object uniforms]</h3>
 		<p>
 		<p>
 			An object of the form:
 			An object of the form:

+ 1 - 2
docs/api/en/objects/SkinnedMesh.html

@@ -13,7 +13,6 @@
 
 
 		<p class="desc">
 		<p class="desc">
 			A mesh that has a [page:Skeleton] with [page:Bone bones] that can then be used to animate the vertices of the geometry.
 			A mesh that has a [page:Skeleton] with [page:Bone bones] that can then be used to animate the vertices of the geometry.
-			The material must support skinning and have skinning enabled - see [page:MeshStandardMaterial.skinning].
 		</p>
 		</p>
 
 
 		<iframe id="scene" src="scenes/bones-browser.html"></iframe>
 		<iframe id="scene" src="scenes/bones-browser.html"></iframe>
@@ -157,7 +156,7 @@
 		<p>
 		<p>
 		Calculates the position of the vertex at the given index relative to the current bone transformations.
 		Calculates the position of the vertex at the given index relative to the current bone transformations.
 		</p>
 		</p>
-			
+
 		<h2>Source</h2>
 		<h2>Source</h2>
 
 
 		<p>
 		<p>

+ 0 - 3
docs/api/zh/materials/MeshBasicMaterial.html

@@ -98,9 +98,6 @@
 			折射率不应超过1。默认值为*0.98*。
 			折射率不应超过1。默认值为*0.98*。
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p> 材质是否使用蒙皮。默认值为false。</p>
-
 		<h3>[property:Texture specularMap]</h3>
 		<h3>[property:Texture specularMap]</h3>
 		<p> 材质使用的高光贴图。默认值为null。</p>
 		<p> 材质使用的高光贴图。默认值为null。</p>
 
 

+ 0 - 3
docs/api/zh/materials/MeshDepthMaterial.html

@@ -76,9 +76,6 @@
 		<h3>[property:Boolean morphTargets]</h3>
 		<h3>[property:Boolean morphTargets]</h3>
 		<p>材质是否使用morphTargets。默认值为false。</p>
 		<p>材质是否使用morphTargets。默认值为false。</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>材质是否使用蒙皮。默认值为false。</p>
-
 		<h3>[property:Boolean wireframe]</h3>
 		<h3>[property:Boolean wireframe]</h3>
 		<p> 将几何体渲染为线框。默认值为*false*(即渲染为平滑着色)。</p>
 		<p> 将几何体渲染为线框。默认值为*false*(即渲染为平滑着色)。</p>
 
 

+ 0 - 3
docs/api/zh/materials/MeshDistanceMaterial.html

@@ -97,9 +97,6 @@
 			The position of the point light in world space.
 			The position of the point light in world space.
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>材质是否使用蒙皮。默认值为false。</p>
-
 		<h2>方法(Methods)</h2>
 		<h2>方法(Methods)</h2>
 		<p>共有方法请参见其基类[page:Material]。</p>
 		<p>共有方法请参见其基类[page:Material]。</p>
 
 

+ 0 - 3
docs/api/zh/materials/MeshLambertMaterial.html

@@ -119,9 +119,6 @@
 			折射率不应超过1。默认值为*0.98*。
 			折射率不应超过1。默认值为*0.98*。
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>材质是否使用蒙皮。默认值为false。</p>
-
 		<h3>[property:Texture specularMap]</h3>
 		<h3>[property:Texture specularMap]</h3>
 		<p>材质使用的高光贴图。默认值为null。</p>
 		<p>材质使用的高光贴图。默认值为null。</p>
 
 

+ 0 - 3
docs/api/zh/materials/MeshMatcapMaterial.html

@@ -112,9 +112,6 @@
 		<p> 法线贴图对材质的影响程度。典型范围是0-1。默认值是[page:Vector2]设置为(1,1)。
 		<p> 法线贴图对材质的影响程度。典型范围是0-1。默认值是[page:Vector2]设置为(1,1)。
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>材质是否使用蒙皮。默认值为false。</p>
-
 		<h2>方法(Methods)</h2>
 		<h2>方法(Methods)</h2>
 		<p>共有方法请参见其基类[page:Material]。</p>
 		<p>共有方法请参见其基类[page:Material]。</p>
 
 

+ 0 - 3
docs/api/zh/materials/MeshNormalMaterial.html

@@ -91,9 +91,6 @@
 		<p> 法线贴图对材质的影响程度。典型范围是0-1。默认值是[page:Vector2]设置为(1,1)。
 		<p> 法线贴图对材质的影响程度。典型范围是0-1。默认值是[page:Vector2]设置为(1,1)。
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>材质是否使用蒙皮。默认值为false。</p>
-
 		<h3>[property:Boolean wireframe]</h3>
 		<h3>[property:Boolean wireframe]</h3>
 		<p>
 		<p>
 			将几何体渲染为线框。默认值为*false*(即渲染为平滑着色)。
 			将几何体渲染为线框。默认值为*false*(即渲染为平滑着色)。

+ 0 - 4
docs/api/zh/materials/MeshPhongMaterial.html

@@ -163,10 +163,6 @@
 		<h3>[property:Float shininess]</h3>
 		<h3>[property:Float shininess]</h3>
 		<p> [page:.specular]高亮的程度,越高的值越闪亮。默认值为 *30*。</p>
 		<p> [page:.specular]高亮的程度,越高的值越闪亮。默认值为 *30*。</p>
 
 
-
-		<h3>[property:Boolean skinning]</h3>
-		<p>材质是否使用蒙皮。默认值为false。</p>
-
 		<h3>[property:Color specular]</h3>
 		<h3>[property:Color specular]</h3>
 		<p> 材质的高光颜色。默认值为*0x111111*(深灰色)的颜色[page:Color]。<br /><br />
 		<p> 材质的高光颜色。默认值为*0x111111*(深灰色)的颜色[page:Color]。<br /><br />
 			这定义了材质的光泽度和光泽的颜色。
 			这定义了材质的光泽度和光泽的颜色。

+ 0 - 3
docs/api/zh/materials/MeshStandardMaterial.html

@@ -198,9 +198,6 @@
 		<h3>[property:Texture roughnessMap]</h3>
 		<h3>[property:Texture roughnessMap]</h3>
 		<p>该纹理的绿色通道用于改变材质的粗糙度。</p>
 		<p>该纹理的绿色通道用于改变材质的粗糙度。</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>材质是否使用蒙皮。默认值为false。</p>
-
 		<h3>[property:Boolean vertexTangents]</h3>
 		<h3>[property:Boolean vertexTangents]</h3>
 		<p>
 		<p>
 		Defines whether precomputed vertex tangents, which must be provided in a vec4 "tangent" attribute,
 		Defines whether precomputed vertex tangents, which must be provided in a vec4 "tangent" attribute,

+ 0 - 3
docs/api/zh/materials/MeshToonMaterial.html

@@ -163,9 +163,6 @@
 			Default is a [page:Vector2] set to (1,1).
 			Default is a [page:Vector2] set to (1,1).
 		</p>
 		</p>
 
 
-		<h3>[property:Boolean skinning]</h3>
-		<p>Define whether the material uses skinning. Default is false.</p>
-
 		<h3>[property:Boolean wireframe]</h3>
 		<h3>[property:Boolean wireframe]</h3>
 		<p>Render geometry as wireframe. Default is *false* (i.e. render as flat polygons).</p>
 		<p>Render geometry as wireframe. Default is *false* (i.e. render as flat polygons).</p>
 
 

+ 0 - 5
docs/api/zh/materials/ShaderMaterial.html

@@ -337,11 +337,6 @@ this.extensions = {
 		<p> 定义材质是否使用平面着色进行渲染。默认值为false。
 		<p> 定义材质是否使用平面着色进行渲染。默认值为false。
 		</p>
 		</p>
 
 
-
-		<h3>[property:Boolean skinning]</h3>
-		<p> 定义材质是否使用蒙皮; 如果将蒙皮属性传递给shader,则为true。默认值为false。
-		</p>
-
 		<h3>[property:Object uniforms]</h3>
 		<h3>[property:Object uniforms]</h3>
 		<p> 如下形式的对象:
 		<p> 如下形式的对象:
 			<code>
 			<code>

+ 0 - 1
docs/api/zh/objects/SkinnedMesh.html

@@ -13,7 +13,6 @@
 
 
 		<p class="desc">
 		<p class="desc">
 			具有[page:Skeleton](骨架)和[page:Bone bones](骨骼)的网格,可用于给几何体上的顶点添加动画。
 			具有[page:Skeleton](骨架)和[page:Bone bones](骨骼)的网格,可用于给几何体上的顶点添加动画。
-			其材质必须支持蒙皮,并且已经启用了蒙皮 —— 请阅读[page:MeshStandardMaterial.skinning]。
 		</p>
 		</p>
 
 
 		<iframe id="scene" src="scenes/bones-browser.html"></iframe>
 		<iframe id="scene" src="scenes/bones-browser.html"></iframe>

+ 0 - 1
docs/manual/ar/introduction/How-to-update-things.html

@@ -137,7 +137,6 @@ line.geometry.computeBoundingSphere();
 						<li>texture</li>
 						<li>texture</li>
 						<li>fog</li>
 						<li>fog</li>
 						<li>vertex colors</li>
 						<li>vertex colors</li>
-						<li>skinning</li>
 						<li>morphing</li>
 						<li>morphing</li>
 						<li>shadow map</li>
 						<li>shadow map</li>
 						<li>alpha test</li>
 						<li>alpha test</li>

+ 0 - 1
docs/manual/en/introduction/How-to-update-things.html

@@ -147,7 +147,6 @@ line.geometry.computeBoundingSphere();
 						<li>texture</li>
 						<li>texture</li>
 						<li>fog</li>
 						<li>fog</li>
 						<li>vertex colors</li>
 						<li>vertex colors</li>
-						<li>skinning</li>
 						<li>morphing</li>
 						<li>morphing</li>
 						<li>shadow map</li>
 						<li>shadow map</li>
 						<li>alpha test</li>
 						<li>alpha test</li>

+ 1 - 2
docs/manual/ja/introduction/How-to-update-things.html

@@ -173,7 +173,6 @@ geometry.dynamic = true;
                     <li>texture</li>
                     <li>texture</li>
                     <li>fog</li>
                     <li>fog</li>
                     <li>vertex colors</li>
                     <li>vertex colors</li>
-                    <li>skinning</li>
                     <li>morphing</li>
                     <li>morphing</li>
                     <li>shadow map</li>
                     <li>shadow map</li>
                     <li>alpha test</li>
                     <li>alpha test</li>
@@ -260,4 +259,4 @@ camera.updateProjectionMatrix();
     </div>
     </div>
 </body>
 </body>
 
 
-</html>
+</html>

+ 0 - 1
docs/manual/ko/introduction/How-to-update-things.html

@@ -143,7 +143,6 @@ line.geometry.computeBoundingSphere();
 						<li>texture</li>
 						<li>texture</li>
 						<li>fog</li>
 						<li>fog</li>
 						<li>vertex colors</li>
 						<li>vertex colors</li>
-						<li>skinning</li>
 						<li>morphing</li>
 						<li>morphing</li>
 						<li>shadow map</li>
 						<li>shadow map</li>
 						<li>alpha test</li>
 						<li>alpha test</li>

+ 0 - 1
docs/manual/zh/introduction/How-to-update-things.html

@@ -132,7 +132,6 @@ line.geometry.attributes.position.needsUpdate = true; // 需要加在第一次
 						<li>texture</li>
 						<li>texture</li>
 						<li>fog</li>
 						<li>fog</li>
 						<li>vertex colors</li>
 						<li>vertex colors</li>
-						<li>skinning</li>
 						<li>morphing</li>
 						<li>morphing</li>
 						<li>shadow map</li>
 						<li>shadow map</li>
 						<li>alpha test</li>
 						<li>alpha test</li>

+ 0 - 1
docs/scenes/bones-browser.html

@@ -163,7 +163,6 @@
 			function createMesh( geometry, bones ) {
 			function createMesh( geometry, bones ) {
 
 
 				const material = new MeshPhongMaterial( {
 				const material = new MeshPhongMaterial( {
-					skinning: true,
 					color: 0x156289,
 					color: 0x156289,
 					emissive: 0x072534,
 					emissive: 0x072534,
 					side: DoubleSide,
 					side: DoubleSide,

+ 0 - 23
editor/js/Sidebar.Material.js

@@ -262,16 +262,6 @@ function SidebarMaterial( editor ) {
 
 
 	container.add( materialDepthPackingRow );
 	container.add( materialDepthPackingRow );
 
 
-	// skinning
-
-	var materialSkinningRow = new UIRow();
-	var materialSkinning = new UICheckbox( false ).onChange( update );
-
-	materialSkinningRow.add( new UIText( strings.getKey( 'sidebar/material/skinning' ) ).setWidth( '90px' ) );
-	materialSkinningRow.add( materialSkinning );
-
-	container.add( materialSkinningRow );
-
 	// map
 	// map
 
 
 	var materialMapRow = new UIRow();
 	var materialMapRow = new UIRow();
@@ -751,12 +741,6 @@ function SidebarMaterial( editor ) {
 
 
 			}
 			}
 
 
-			if ( material.skinning !== undefined && material.skinning !== materialSkinning.getValue() ) {
-
-				editor.execute( new SetMaterialValueCommand( editor, currentObject, 'skinning', materialSkinning.getValue(), currentMaterialSlot ) );
-
-			}
-
 			if ( material.map !== undefined ) {
 			if ( material.map !== undefined ) {
 
 
 				var mapEnabled = materialMapEnabled.getValue() === true;
 				var mapEnabled = materialMapEnabled.getValue() === true;
@@ -1256,7 +1240,6 @@ function SidebarMaterial( editor ) {
 			'vertexColors': materialVertexColorsRow,
 			'vertexColors': materialVertexColorsRow,
 			'vertexTangents': materialVertexTangentsRow,
 			'vertexTangents': materialVertexTangentsRow,
 			'depthPacking': materialDepthPackingRow,
 			'depthPacking': materialDepthPackingRow,
-			'skinning': materialSkinningRow,
 			'map': materialMapRow,
 			'map': materialMapRow,
 			'matcap': materialMatcapMapRow,
 			'matcap': materialMatcapMapRow,
 			'alphaMap': materialAlphaMapRow,
 			'alphaMap': materialAlphaMapRow,
@@ -1438,12 +1421,6 @@ function SidebarMaterial( editor ) {
 
 
 		}
 		}
 
 
-		if ( material.skinning !== undefined ) {
-
-			materialSkinning.setValue( material.skinning );
-
-		}
-
 		if ( material.map !== undefined ) {
 		if ( material.map !== undefined ) {
 
 
 			materialMapEnabled.setValue( material.map !== null );
 			materialMapEnabled.setValue( material.map !== null );

+ 0 - 3
editor/js/Strings.js

@@ -250,7 +250,6 @@ function Strings( config ) {
 			'sidebar/material/clearcoatroughness': 'Clearcoat Roughness',
 			'sidebar/material/clearcoatroughness': 'Clearcoat Roughness',
 			'sidebar/material/vertexcolors': 'Vertex Colors',
 			'sidebar/material/vertexcolors': 'Vertex Colors',
 			'sidebar/material/vertextangents': 'Vertex Tangents',
 			'sidebar/material/vertextangents': 'Vertex Tangents',
-			'sidebar/material/skinning': 'Skinning',
 			'sidebar/material/matcap': 'Matcap',
 			'sidebar/material/matcap': 'Matcap',
 			'sidebar/material/map': 'Map',
 			'sidebar/material/map': 'Map',
 			'sidebar/material/alphamap': 'Alpha Map',
 			'sidebar/material/alphamap': 'Alpha Map',
@@ -585,7 +584,6 @@ function Strings( config ) {
 			'sidebar/material/clearcoatroughness': 'Rugosité du vernis',
 			'sidebar/material/clearcoatroughness': 'Rugosité du vernis',
 			'sidebar/material/vertexcolors': 'Couleurs aux Sommets',
 			'sidebar/material/vertexcolors': 'Couleurs aux Sommets',
 			'sidebar/material/vertextangents': 'Tangentes aux sommets',
 			'sidebar/material/vertextangents': 'Tangentes aux sommets',
-			'sidebar/material/skinning': 'Skinning',
 			'sidebar/material/matcap': 'Matcap',
 			'sidebar/material/matcap': 'Matcap',
 			'sidebar/material/map': 'Texture',
 			'sidebar/material/map': 'Texture',
 			'sidebar/material/alphamap': 'Texture de transparence',
 			'sidebar/material/alphamap': 'Texture de transparence',
@@ -920,7 +918,6 @@ function Strings( config ) {
 			'sidebar/material/clearcoatroughness': '透明图层粗糙度',
 			'sidebar/material/clearcoatroughness': '透明图层粗糙度',
 			'sidebar/material/vertexcolors': '顶点颜色',
 			'sidebar/material/vertexcolors': '顶点颜色',
 			'sidebar/material/vertextangents': '顶点切线',
 			'sidebar/material/vertextangents': '顶点切线',
-			'sidebar/material/skinning': '皮肤',
 			'sidebar/material/matcap': '材质捕获',
 			'sidebar/material/matcap': '材质捕获',
 			'sidebar/material/map': '贴图',
 			'sidebar/material/map': '贴图',
 			'sidebar/material/alphamap': '透明贴图',
 			'sidebar/material/alphamap': '透明贴图',

+ 0 - 16
editor/js/libs/tern-threejs/threejs.js

@@ -2161,10 +2161,6 @@
           "!type": "boolean",
           "!type": "boolean",
           "!doc": "This setting might not have any effect when used with certain renderers."
           "!doc": "This setting might not have any effect when used with certain renderers."
         },
         },
-        "skinning": {
-          "!type": "bool",
-          "!doc": "Define whether the material uses skinning. Default is false."
-        },
         "morphTargets": {
         "morphTargets": {
           "!type": "bool",
           "!type": "bool",
           "!doc": "Define whether the material uses morphTargets. Default is false."
           "!doc": "Define whether the material uses morphTargets. Default is false."
@@ -2300,10 +2296,6 @@
           "!type": "boolean",
           "!type": "boolean",
           "!doc": "This setting might not have any effect when used with certain renderers."
           "!doc": "This setting might not have any effect when used with certain renderers."
         },
         },
-        "skinning": {
-          "!type": "bool",
-          "!doc": "Define whether the material uses skinning. Default is *false*."
-        },
         "morphTargets": {
         "morphTargets": {
           "!type": "bool",
           "!type": "bool",
           "!doc": "Define whether the material uses morphTargets. Default is *false*."
           "!doc": "Define whether the material uses morphTargets. Default is *false*."
@@ -2444,10 +2436,6 @@
           "!type": "bool",
           "!type": "bool",
           "!doc": "This setting might not have any effect when used with certain renderers."
           "!doc": "This setting might not have any effect when used with certain renderers."
         },
         },
-        "skinning": {
-          "!type": "bool",
-          "!doc": "Define whether the material uses skinning. Default is *false*."
-        },
         "morphTargets": {
         "morphTargets": {
           "!type": "bool",
           "!type": "bool",
           "!doc": "Define whether the material uses morphTargets. Default is *false*."
           "!doc": "Define whether the material uses morphTargets. Default is *false*."
@@ -2551,10 +2539,6 @@
           "!type": "bool",
           "!type": "bool",
           "!doc": "Define how the vertices are colored, by defining how the *colors* attribute gets populated. Default is false."
           "!doc": "Define how the vertices are colored, by defining how the *colors* attribute gets populated. Default is false."
         },
         },
-        "skinning": {
-          "!type": "bool",
-          "!doc": "Define whether the material uses skinning; true to pass skinning attributes to the shader. Default is false."
-        },
         "morphTargets": {
         "morphTargets": {
           "!type": "bool",
           "!type": "bool",
           "!doc": "Defines whether the material uses morphTargets; true morphTarget attributes to this shader"
           "!doc": "Defines whether the material uses morphTargets; true morphTarget attributes to this shader"

+ 0 - 1
examples/js/effects/OutlineEffect.js

@@ -243,7 +243,6 @@
 
 
 				if ( material.name === 'invisible' ) return;
 				if ( material.name === 'invisible' ) return;
 				const outlineParameters = originalMaterial.userData.outlineParameters;
 				const outlineParameters = originalMaterial.userData.outlineParameters;
-				material.skinning = originalMaterial.skinning;
 				material.morphTargets = originalMaterial.morphTargets;
 				material.morphTargets = originalMaterial.morphTargets;
 				material.morphNormals = originalMaterial.morphNormals;
 				material.morphNormals = originalMaterial.morphNormals;
 				material.fog = originalMaterial.fog;
 				material.fog = originalMaterial.fog;

+ 1 - 12
examples/js/loaders/ColladaLoader.js

@@ -3439,18 +3439,7 @@
 					} // regard skinning
 					} // regard skinning
 
 
 
 
-					const skinning = geometry.data.attributes.skinIndex !== undefined;
-
-					if ( skinning ) {
-
-						for ( let i = 0, l = materials.length; i < l; i ++ ) {
-
-							materials[ i ].skinning = true;
-
-						}
-
-					} // choose between a single or multi materials (material array)
-
+					const skinning = geometry.data.attributes.skinIndex !== undefined; // choose between a single or multi materials (material array)
 
 
 					const material = materials.length === 1 ? materials[ 0 ] : materials; // now create a specific 3D object
 					const material = materials.length === 1 ? materials[ 0 ] : materials; // now create a specific 3D object
 
 

+ 0 - 5
examples/js/loaders/FBXLoader.js

@@ -1157,11 +1157,6 @@
 
 
 			if ( geometry.FBX_Deformer ) {
 			if ( geometry.FBX_Deformer ) {
 
 
-				materials.forEach( function ( material ) {
-
-					material.skinning = true;
-
-				} );
 				model = new THREE.SkinnedMesh( geometry, material );
 				model = new THREE.SkinnedMesh( geometry, material );
 				model.normalizeSkinWeights();
 				model.normalizeSkinWeights();
 
 

+ 1 - 4
examples/js/loaders/GLTFLoader.js

@@ -2418,7 +2418,6 @@
 			const useVertexTangents = geometry.attributes.tangent !== undefined;
 			const useVertexTangents = geometry.attributes.tangent !== undefined;
 			const useVertexColors = geometry.attributes.color !== undefined;
 			const useVertexColors = geometry.attributes.color !== undefined;
 			const useFlatShading = geometry.attributes.normal === undefined;
 			const useFlatShading = geometry.attributes.normal === undefined;
-			const useSkinning = mesh.isSkinnedMesh === true;
 			const useMorphTargets = Object.keys( geometry.morphAttributes ).length > 0;
 			const useMorphTargets = Object.keys( geometry.morphAttributes ).length > 0;
 			const useMorphNormals = useMorphTargets && geometry.morphAttributes.normal !== undefined;
 			const useMorphNormals = useMorphTargets && geometry.morphAttributes.normal !== undefined;
 
 
@@ -2460,11 +2459,10 @@
 			} // Clone the material if it will be modified
 			} // Clone the material if it will be modified
 
 
 
 
-			if ( useVertexTangents || useVertexColors || useFlatShading || useSkinning || useMorphTargets ) {
+			if ( useVertexTangents || useVertexColors || useFlatShading || useMorphTargets ) {
 
 
 				let cacheKey = 'ClonedMaterial:' + material.uuid + ':';
 				let cacheKey = 'ClonedMaterial:' + material.uuid + ':';
 				if ( material.isGLTFSpecularGlossinessMaterial ) cacheKey += 'specular-glossiness:';
 				if ( material.isGLTFSpecularGlossinessMaterial ) cacheKey += 'specular-glossiness:';
-				if ( useSkinning ) cacheKey += 'skinning:';
 				if ( useVertexTangents ) cacheKey += 'vertex-tangents:';
 				if ( useVertexTangents ) cacheKey += 'vertex-tangents:';
 				if ( useVertexColors ) cacheKey += 'vertex-colors:';
 				if ( useVertexColors ) cacheKey += 'vertex-colors:';
 				if ( useFlatShading ) cacheKey += 'flat-shading:';
 				if ( useFlatShading ) cacheKey += 'flat-shading:';
@@ -2475,7 +2473,6 @@
 				if ( ! cachedMaterial ) {
 				if ( ! cachedMaterial ) {
 
 
 					cachedMaterial = material.clone();
 					cachedMaterial = material.clone();
-					if ( useSkinning ) cachedMaterial.skinning = true;
 					if ( useVertexColors ) cachedMaterial.vertexColors = true;
 					if ( useVertexColors ) cachedMaterial.vertexColors = true;
 					if ( useFlatShading ) cachedMaterial.flatShading = true;
 					if ( useFlatShading ) cachedMaterial.flatShading = true;
 					if ( useMorphTargets ) cachedMaterial.morphTargets = true;
 					if ( useMorphTargets ) cachedMaterial.morphTargets = true;

+ 0 - 1
examples/js/loaders/MMDLoader.js

@@ -956,7 +956,6 @@
 				params.emissive = new THREE.Color().fromArray( material.ambient );
 				params.emissive = new THREE.Color().fromArray( material.ambient );
 				params.transparent = params.opacity !== 1.0; //
 				params.transparent = params.opacity !== 1.0; //
 
 
-				params.skinning = geometry.bones.length > 0 ? true : false;
 				params.morphTargets = geometry.morphTargets.length > 0 ? true : false;
 				params.morphTargets = geometry.morphTargets.length > 0 ? true : false;
 				params.fog = true; // blend
 				params.fog = true; // blend
 
 

+ 0 - 1
examples/jsm/effects/OutlineEffect.js

@@ -333,7 +333,6 @@ class OutlineEffect {
 
 
 			const outlineParameters = originalMaterial.userData.outlineParameters;
 			const outlineParameters = originalMaterial.userData.outlineParameters;
 
 
-			material.skinning = originalMaterial.skinning;
 			material.morphTargets = originalMaterial.morphTargets;
 			material.morphTargets = originalMaterial.morphTargets;
 			material.morphNormals = originalMaterial.morphNormals;
 			material.morphNormals = originalMaterial.morphNormals;
 			material.fog = originalMaterial.fog;
 			material.fog = originalMaterial.fog;

+ 0 - 10
examples/jsm/loaders/ColladaLoader.js

@@ -3684,16 +3684,6 @@ class ColladaLoader extends Loader {
 
 
 				const skinning = ( geometry.data.attributes.skinIndex !== undefined );
 				const skinning = ( geometry.data.attributes.skinIndex !== undefined );
 
 
-				if ( skinning ) {
-
-					for ( let i = 0, l = materials.length; i < l; i ++ ) {
-
-						materials[ i ].skinning = true;
-
-					}
-
-				}
-
 				// choose between a single or multi materials (material array)
 				// choose between a single or multi materials (material array)
 
 
 				const material = ( materials.length === 1 ) ? materials[ 0 ] : materials;
 				const material = ( materials.length === 1 ) ? materials[ 0 ] : materials;

+ 0 - 6
examples/jsm/loaders/FBXLoader.js

@@ -1261,12 +1261,6 @@ class FBXTreeParser {
 
 
 		if ( geometry.FBX_Deformer ) {
 		if ( geometry.FBX_Deformer ) {
 
 
-			materials.forEach( function ( material ) {
-
-				material.skinning = true;
-
-			} );
-
 			model = new SkinnedMesh( geometry, material );
 			model = new SkinnedMesh( geometry, material );
 			model.normalizeSkinWeights();
 			model.normalizeSkinWeights();
 
 

+ 1 - 4
examples/jsm/loaders/GLTFLoader.js

@@ -2682,7 +2682,6 @@ class GLTFParser {
 		const useVertexTangents = geometry.attributes.tangent !== undefined;
 		const useVertexTangents = geometry.attributes.tangent !== undefined;
 		const useVertexColors = geometry.attributes.color !== undefined;
 		const useVertexColors = geometry.attributes.color !== undefined;
 		const useFlatShading = geometry.attributes.normal === undefined;
 		const useFlatShading = geometry.attributes.normal === undefined;
-		const useSkinning = mesh.isSkinnedMesh === true;
 		const useMorphTargets = Object.keys( geometry.morphAttributes ).length > 0;
 		const useMorphTargets = Object.keys( geometry.morphAttributes ).length > 0;
 		const useMorphNormals = useMorphTargets && geometry.morphAttributes.normal !== undefined;
 		const useMorphNormals = useMorphTargets && geometry.morphAttributes.normal !== undefined;
 
 
@@ -2727,12 +2726,11 @@ class GLTFParser {
 		}
 		}
 
 
 		// Clone the material if it will be modified
 		// Clone the material if it will be modified
-		if ( useVertexTangents || useVertexColors || useFlatShading || useSkinning || useMorphTargets ) {
+		if ( useVertexTangents || useVertexColors || useFlatShading || useMorphTargets ) {
 
 
 			let cacheKey = 'ClonedMaterial:' + material.uuid + ':';
 			let cacheKey = 'ClonedMaterial:' + material.uuid + ':';
 
 
 			if ( material.isGLTFSpecularGlossinessMaterial ) cacheKey += 'specular-glossiness:';
 			if ( material.isGLTFSpecularGlossinessMaterial ) cacheKey += 'specular-glossiness:';
-			if ( useSkinning ) cacheKey += 'skinning:';
 			if ( useVertexTangents ) cacheKey += 'vertex-tangents:';
 			if ( useVertexTangents ) cacheKey += 'vertex-tangents:';
 			if ( useVertexColors ) cacheKey += 'vertex-colors:';
 			if ( useVertexColors ) cacheKey += 'vertex-colors:';
 			if ( useFlatShading ) cacheKey += 'flat-shading:';
 			if ( useFlatShading ) cacheKey += 'flat-shading:';
@@ -2745,7 +2743,6 @@ class GLTFParser {
 
 
 				cachedMaterial = material.clone();
 				cachedMaterial = material.clone();
 
 
-				if ( useSkinning ) cachedMaterial.skinning = true;
 				if ( useVertexColors ) cachedMaterial.vertexColors = true;
 				if ( useVertexColors ) cachedMaterial.vertexColors = true;
 				if ( useFlatShading ) cachedMaterial.flatShading = true;
 				if ( useFlatShading ) cachedMaterial.flatShading = true;
 				if ( useMorphTargets ) cachedMaterial.morphTargets = true;
 				if ( useMorphTargets ) cachedMaterial.morphTargets = true;

+ 0 - 1
examples/jsm/loaders/MMDLoader.js

@@ -1100,7 +1100,6 @@ class MaterialBuilder {
 
 
 			//
 			//
 
 
-			params.skinning = geometry.bones.length > 0 ? true : false;
 			params.morphTargets = geometry.morphTargets.length > 0 ? true : false;
 			params.morphTargets = geometry.morphTargets.length > 0 ? true : false;
 			params.fog = true;
 			params.fog = true;
 
 

+ 0 - 1
examples/jsm/nodes/materials/NodeMaterial.js

@@ -191,7 +191,6 @@ class NodeMaterial extends ShaderMaterial {
 			if ( this.premultipliedAlpha === true ) data.premultipliedAlpha = this.premultipliedAlpha;
 			if ( this.premultipliedAlpha === true ) data.premultipliedAlpha = this.premultipliedAlpha;
 
 
 			if ( this.morphTargets === true ) data.morphTargets = true;
 			if ( this.morphTargets === true ) data.morphTargets = true;
-			if ( this.skinning === true ) data.skinning = true;
 
 
 			if ( this.visible === false ) data.visible = false;
 			if ( this.visible === false ) data.visible = false;
 			if ( JSON.stringify( this.userData ) !== '{}' ) data.userData = this.userData;
 			if ( JSON.stringify( this.userData ) !== '{}' ) data.userData = this.userData;

+ 0 - 2
examples/webgl_loader_vrm.html

@@ -62,7 +62,6 @@
 									THREE.Material.prototype.copy.call( material, object.material[ i ] );
 									THREE.Material.prototype.copy.call( material, object.material[ i ] );
 									material.color.copy( object.material[ i ].color );
 									material.color.copy( object.material[ i ].color );
 									material.map = object.material[ i ].map;
 									material.map = object.material[ i ].map;
-									material.skinning = object.material[ i ].skinning;
 									material.morphTargets = object.material[ i ].morphTargets;
 									material.morphTargets = object.material[ i ].morphTargets;
 									material.morphNormals = object.material[ i ].morphNormals;
 									material.morphNormals = object.material[ i ].morphNormals;
 									object.material[ i ] = material;
 									object.material[ i ] = material;
@@ -75,7 +74,6 @@
 								THREE.Material.prototype.copy.call( material, object.material );
 								THREE.Material.prototype.copy.call( material, object.material );
 								material.color.copy( object.material.color );
 								material.color.copy( object.material.color );
 								material.map = object.material.map;
 								material.map = object.material.map;
-								material.skinning = object.material.skinning;
 								material.morphTargets = object.material.morphTargets;
 								material.morphTargets = object.material.morphTargets;
 								material.morphNormals = object.material.morphNormals;
 								material.morphNormals = object.material.morphNormals;
 								object.material = material;
 								object.material = material;

+ 0 - 1
src/loaders/MaterialLoader.js

@@ -118,7 +118,6 @@ class MaterialLoader extends Loader {
 		if ( json.polygonOffsetFactor !== undefined ) material.polygonOffsetFactor = json.polygonOffsetFactor;
 		if ( json.polygonOffsetFactor !== undefined ) material.polygonOffsetFactor = json.polygonOffsetFactor;
 		if ( json.polygonOffsetUnits !== undefined ) material.polygonOffsetUnits = json.polygonOffsetUnits;
 		if ( json.polygonOffsetUnits !== undefined ) material.polygonOffsetUnits = json.polygonOffsetUnits;
 
 
-		if ( json.skinning !== undefined ) material.skinning = json.skinning;
 		if ( json.morphTargets !== undefined ) material.morphTargets = json.morphTargets;
 		if ( json.morphTargets !== undefined ) material.morphTargets = json.morphTargets;
 		if ( json.morphNormals !== undefined ) material.morphNormals = json.morphNormals;
 		if ( json.morphNormals !== undefined ) material.morphNormals = json.morphNormals;
 		if ( json.dithering !== undefined ) material.dithering = json.dithering;
 		if ( json.dithering !== undefined ) material.dithering = json.dithering;

+ 0 - 1
src/materials/Material.js

@@ -314,7 +314,6 @@ Material.prototype = Object.assign( Object.create( EventDispatcher.prototype ),
 
 
 		if ( this.morphTargets === true ) data.morphTargets = true;
 		if ( this.morphTargets === true ) data.morphTargets = true;
 		if ( this.morphNormals === true ) data.morphNormals = true;
 		if ( this.morphNormals === true ) data.morphNormals = true;
-		if ( this.skinning === true ) data.skinning = true;
 
 
 		if ( this.flatShading === true ) data.flatShading = this.flatShading;
 		if ( this.flatShading === true ) data.flatShading = this.flatShading;
 
 

+ 0 - 3
src/materials/MeshBasicMaterial.js

@@ -29,7 +29,6 @@ import { Color } from '../math/Color.js';
  *  wireframe: <boolean>,
  *  wireframe: <boolean>,
  *  wireframeLinewidth: <float>,
  *  wireframeLinewidth: <float>,
  *
  *
- *  skinning: <bool>,
  *  morphTargets: <bool>
  *  morphTargets: <bool>
  * }
  * }
  */
  */
@@ -66,7 +65,6 @@ class MeshBasicMaterial extends Material {
 		this.wireframeLinecap = 'round';
 		this.wireframeLinecap = 'round';
 		this.wireframeLinejoin = 'round';
 		this.wireframeLinejoin = 'round';
 
 
-		this.skinning = false;
 		this.morphTargets = false;
 		this.morphTargets = false;
 
 
 		this.setValues( parameters );
 		this.setValues( parameters );
@@ -101,7 +99,6 @@ class MeshBasicMaterial extends Material {
 		this.wireframeLinecap = source.wireframeLinecap;
 		this.wireframeLinecap = source.wireframeLinecap;
 		this.wireframeLinejoin = source.wireframeLinejoin;
 		this.wireframeLinejoin = source.wireframeLinejoin;
 
 
-		this.skinning = source.skinning;
 		this.morphTargets = source.morphTargets;
 		this.morphTargets = source.morphTargets;
 
 
 		return this;
 		return this;

+ 0 - 2
src/materials/MeshDepthMaterial.js

@@ -29,7 +29,6 @@ class MeshDepthMaterial extends Material {
 
 
 		this.depthPacking = BasicDepthPacking;
 		this.depthPacking = BasicDepthPacking;
 
 
-		this.skinning = false;
 		this.morphTargets = false;
 		this.morphTargets = false;
 
 
 		this.map = null;
 		this.map = null;
@@ -55,7 +54,6 @@ class MeshDepthMaterial extends Material {
 
 
 		this.depthPacking = source.depthPacking;
 		this.depthPacking = source.depthPacking;
 
 
-		this.skinning = source.skinning;
 		this.morphTargets = source.morphTargets;
 		this.morphTargets = source.morphTargets;
 
 
 		this.map = source.map;
 		this.map = source.map;

+ 0 - 3
src/materials/MeshDistanceMaterial.js

@@ -8,7 +8,6 @@ import { Vector3 } from '../math/Vector3.js';
  *  nearDistance: <float>,
  *  nearDistance: <float>,
  *  farDistance: <float>,
  *  farDistance: <float>,
  *
  *
- *  skinning: <bool>,
  *  morphTargets: <bool>,
  *  morphTargets: <bool>,
  *
  *
  *  map: new THREE.Texture( <Image> ),
  *  map: new THREE.Texture( <Image> ),
@@ -34,7 +33,6 @@ class MeshDistanceMaterial extends Material {
 		this.nearDistance = 1;
 		this.nearDistance = 1;
 		this.farDistance = 1000;
 		this.farDistance = 1000;
 
 
-		this.skinning = false;
 		this.morphTargets = false;
 		this.morphTargets = false;
 
 
 		this.map = null;
 		this.map = null;
@@ -59,7 +57,6 @@ class MeshDistanceMaterial extends Material {
 		this.nearDistance = source.nearDistance;
 		this.nearDistance = source.nearDistance;
 		this.farDistance = source.farDistance;
 		this.farDistance = source.farDistance;
 
 
-		this.skinning = source.skinning;
 		this.morphTargets = source.morphTargets;
 		this.morphTargets = source.morphTargets;
 
 
 		this.map = source.map;
 		this.map = source.map;

+ 0 - 3
src/materials/MeshLambertMaterial.js

@@ -31,7 +31,6 @@ import { Color } from '../math/Color.js';
  *  wireframe: <boolean>,
  *  wireframe: <boolean>,
  *  wireframeLinewidth: <float>,
  *  wireframeLinewidth: <float>,
  *
  *
- *  skinning: <bool>,
  *  morphTargets: <bool>,
  *  morphTargets: <bool>,
  *  morphNormals: <bool>
  *  morphNormals: <bool>
  * }
  * }
@@ -73,7 +72,6 @@ class MeshLambertMaterial extends Material {
 		this.wireframeLinecap = 'round';
 		this.wireframeLinecap = 'round';
 		this.wireframeLinejoin = 'round';
 		this.wireframeLinejoin = 'round';
 
 
-		this.skinning = false;
 		this.morphTargets = false;
 		this.morphTargets = false;
 		this.morphNormals = false;
 		this.morphNormals = false;
 
 
@@ -113,7 +111,6 @@ class MeshLambertMaterial extends Material {
 		this.wireframeLinecap = source.wireframeLinecap;
 		this.wireframeLinecap = source.wireframeLinecap;
 		this.wireframeLinejoin = source.wireframeLinejoin;
 		this.wireframeLinejoin = source.wireframeLinejoin;
 
 
-		this.skinning = source.skinning;
 		this.morphTargets = source.morphTargets;
 		this.morphTargets = source.morphTargets;
 		this.morphNormals = source.morphNormals;
 		this.morphNormals = source.morphNormals;
 
 

+ 0 - 3
src/materials/MeshMatcapMaterial.js

@@ -25,7 +25,6 @@ import { Color } from '../math/Color.js';
  *
  *
  *  alphaMap: new THREE.Texture( <Image> ),
  *  alphaMap: new THREE.Texture( <Image> ),
  *
  *
- *  skinning: <bool>,
  *  morphTargets: <bool>,
  *  morphTargets: <bool>,
  *  morphNormals: <bool>
  *  morphNormals: <bool>
  *
  *
@@ -62,7 +61,6 @@ class MeshMatcapMaterial extends Material {
 
 
 		this.alphaMap = null;
 		this.alphaMap = null;
 
 
-		this.skinning = false;
 		this.morphTargets = false;
 		this.morphTargets = false;
 		this.morphNormals = false;
 		this.morphNormals = false;
 
 
@@ -98,7 +96,6 @@ class MeshMatcapMaterial extends Material {
 
 
 		this.alphaMap = source.alphaMap;
 		this.alphaMap = source.alphaMap;
 
 
-		this.skinning = source.skinning;
 		this.morphTargets = source.morphTargets;
 		this.morphTargets = source.morphTargets;
 		this.morphNormals = source.morphNormals;
 		this.morphNormals = source.morphNormals;
 
 

+ 0 - 3
src/materials/MeshNormalMaterial.js

@@ -20,7 +20,6 @@ import { Vector2 } from '../math/Vector2.js';
  *  wireframe: <boolean>,
  *  wireframe: <boolean>,
  *  wireframeLinewidth: <float>
  *  wireframeLinewidth: <float>
  *
  *
- *  skinning: <bool>,
  *  morphTargets: <bool>,
  *  morphTargets: <bool>,
  *  morphNormals: <bool>,
  *  morphNormals: <bool>,
  *
  *
@@ -52,7 +51,6 @@ class MeshNormalMaterial extends Material {
 
 
 		this.fog = false;
 		this.fog = false;
 
 
-		this.skinning = false;
 		this.morphTargets = false;
 		this.morphTargets = false;
 		this.morphNormals = false;
 		this.morphNormals = false;
 
 
@@ -80,7 +78,6 @@ class MeshNormalMaterial extends Material {
 		this.wireframe = source.wireframe;
 		this.wireframe = source.wireframe;
 		this.wireframeLinewidth = source.wireframeLinewidth;
 		this.wireframeLinewidth = source.wireframeLinewidth;
 
 
-		this.skinning = source.skinning;
 		this.morphTargets = source.morphTargets;
 		this.morphTargets = source.morphTargets;
 		this.morphNormals = source.morphNormals;
 		this.morphNormals = source.morphNormals;
 
 

+ 0 - 3
src/materials/MeshPhongMaterial.js

@@ -45,7 +45,6 @@ import { Color } from '../math/Color.js';
  *  wireframe: <boolean>,
  *  wireframe: <boolean>,
  *  wireframeLinewidth: <float>,
  *  wireframeLinewidth: <float>,
  *
  *
- *  skinning: <bool>,
  *  morphTargets: <bool>,
  *  morphTargets: <bool>,
  *  morphNormals: <bool>,
  *  morphNormals: <bool>,
  *
  *
@@ -102,7 +101,6 @@ class MeshPhongMaterial extends Material {
 		this.wireframeLinecap = 'round';
 		this.wireframeLinecap = 'round';
 		this.wireframeLinejoin = 'round';
 		this.wireframeLinejoin = 'round';
 
 
-		this.skinning = false;
 		this.morphTargets = false;
 		this.morphTargets = false;
 		this.morphNormals = false;
 		this.morphNormals = false;
 
 
@@ -157,7 +155,6 @@ class MeshPhongMaterial extends Material {
 		this.wireframeLinecap = source.wireframeLinecap;
 		this.wireframeLinecap = source.wireframeLinecap;
 		this.wireframeLinejoin = source.wireframeLinejoin;
 		this.wireframeLinejoin = source.wireframeLinejoin;
 
 
-		this.skinning = source.skinning;
 		this.morphTargets = source.morphTargets;
 		this.morphTargets = source.morphTargets;
 		this.morphNormals = source.morphNormals;
 		this.morphNormals = source.morphNormals;
 
 

+ 0 - 3
src/materials/MeshStandardMaterial.js

@@ -47,7 +47,6 @@ import { Color } from '../math/Color.js';
  *  wireframe: <boolean>,
  *  wireframe: <boolean>,
  *  wireframeLinewidth: <float>,
  *  wireframeLinewidth: <float>,
  *
  *
- *  skinning: <bool>,
  *  morphTargets: <bool>,
  *  morphTargets: <bool>,
  *  morphNormals: <bool>,
  *  morphNormals: <bool>,
  *
  *
@@ -108,7 +107,6 @@ class MeshStandardMaterial extends Material {
 		this.wireframeLinecap = 'round';
 		this.wireframeLinecap = 'round';
 		this.wireframeLinejoin = 'round';
 		this.wireframeLinejoin = 'round';
 
 
-		this.skinning = false;
 		this.morphTargets = false;
 		this.morphTargets = false;
 		this.morphNormals = false;
 		this.morphNormals = false;
 
 
@@ -169,7 +167,6 @@ class MeshStandardMaterial extends Material {
 		this.wireframeLinecap = source.wireframeLinecap;
 		this.wireframeLinecap = source.wireframeLinecap;
 		this.wireframeLinejoin = source.wireframeLinejoin;
 		this.wireframeLinejoin = source.wireframeLinejoin;
 
 
-		this.skinning = source.skinning;
 		this.morphTargets = source.morphTargets;
 		this.morphTargets = source.morphTargets;
 		this.morphNormals = source.morphNormals;
 		this.morphNormals = source.morphNormals;
 
 

+ 0 - 3
src/materials/MeshToonMaterial.js

@@ -36,7 +36,6 @@ import { Color } from '../math/Color.js';
  *  wireframe: <boolean>,
  *  wireframe: <boolean>,
  *  wireframeLinewidth: <float>,
  *  wireframeLinewidth: <float>,
  *
  *
- *  skinning: <bool>,
  *  morphTargets: <bool>,
  *  morphTargets: <bool>,
  *  morphNormals: <bool>
  *  morphNormals: <bool>
  * }
  * }
@@ -85,7 +84,6 @@ class MeshToonMaterial extends Material {
 		this.wireframeLinecap = 'round';
 		this.wireframeLinecap = 'round';
 		this.wireframeLinejoin = 'round';
 		this.wireframeLinejoin = 'round';
 
 
-		this.skinning = false;
 		this.morphTargets = false;
 		this.morphTargets = false;
 		this.morphNormals = false;
 		this.morphNormals = false;
 
 
@@ -130,7 +128,6 @@ class MeshToonMaterial extends Material {
 		this.wireframeLinecap = source.wireframeLinecap;
 		this.wireframeLinecap = source.wireframeLinecap;
 		this.wireframeLinejoin = source.wireframeLinejoin;
 		this.wireframeLinejoin = source.wireframeLinejoin;
 
 
-		this.skinning = source.skinning;
 		this.morphTargets = source.morphTargets;
 		this.morphTargets = source.morphTargets;
 		this.morphNormals = source.morphNormals;
 		this.morphNormals = source.morphNormals;
 
 

+ 0 - 4
src/materials/ShaderMaterial.js

@@ -17,7 +17,6 @@ import default_fragment from '../renderers/shaders/ShaderChunk/default_fragment.
  *
  *
  *  lights: <bool>,
  *  lights: <bool>,
  *
  *
- *  skinning: <bool>,
  *  morphTargets: <bool>,
  *  morphTargets: <bool>,
  *  morphNormals: <bool>
  *  morphNormals: <bool>
  * }
  * }
@@ -46,7 +45,6 @@ class ShaderMaterial extends Material {
 		this.lights = false; // set to use scene lights
 		this.lights = false; // set to use scene lights
 		this.clipping = false; // set to use user-defined clipping planes
 		this.clipping = false; // set to use user-defined clipping planes
 
 
-		this.skinning = false; // set to use skinning attribute streams
 		this.morphTargets = false; // set to use morph targets
 		this.morphTargets = false; // set to use morph targets
 		this.morphNormals = false; // set to use morph normals
 		this.morphNormals = false; // set to use morph normals
 
 
@@ -101,8 +99,6 @@ class ShaderMaterial extends Material {
 		this.lights = source.lights;
 		this.lights = source.lights;
 		this.clipping = source.clipping;
 		this.clipping = source.clipping;
 
 
-		this.skinning = source.skinning;
-
 		this.morphTargets = source.morphTargets;
 		this.morphTargets = source.morphTargets;
 		this.morphNormals = source.morphNormals;
 		this.morphNormals = source.morphNormals;
 
 

+ 1 - 1
src/objects/Mesh.js

@@ -366,7 +366,7 @@ function checkBufferGeometryIntersection( object, material, raycaster, ray, posi
 
 
 	}
 	}
 
 
-	if ( object.isSkinnedMesh && material.skinning ) {
+	if ( object.isSkinnedMesh ) {
 
 
 		object.boneTransform( a, _vA );
 		object.boneTransform( a, _vA );
 		object.boneTransform( b, _vB );
 		object.boneTransform( b, _vB );

+ 11 - 2
src/renderers/WebGLRenderer.js

@@ -1430,6 +1430,7 @@ function WebGLRenderer( parameters ) {
 
 
 		materialProperties.outputEncoding = parameters.outputEncoding;
 		materialProperties.outputEncoding = parameters.outputEncoding;
 		materialProperties.instancing = parameters.instancing;
 		materialProperties.instancing = parameters.instancing;
+		materialProperties.skinning = parameters.skinning;
 		materialProperties.numClippingPlanes = parameters.numClippingPlanes;
 		materialProperties.numClippingPlanes = parameters.numClippingPlanes;
 		materialProperties.numIntersection = parameters.numClipIntersection;
 		materialProperties.numIntersection = parameters.numClipIntersection;
 		materialProperties.vertexAlphas = parameters.vertexAlphas;
 		materialProperties.vertexAlphas = parameters.vertexAlphas;
@@ -1490,6 +1491,14 @@ function WebGLRenderer( parameters ) {
 
 
 				needsProgramChange = true;
 				needsProgramChange = true;
 
 
+			} else if ( object.isSkinnedMesh && materialProperties.skinning === false ) {
+
+				needsProgramChange = true;
+
+			} else if ( ! object.isSkinnedMesh && materialProperties.skinning === true ) {
+
+				needsProgramChange = true;
+
 			} else if ( materialProperties.envMap !== envMap ) {
 			} else if ( materialProperties.envMap !== envMap ) {
 
 
 				needsProgramChange = true;
 				needsProgramChange = true;
@@ -1612,7 +1621,7 @@ function WebGLRenderer( parameters ) {
 				material.isMeshStandardMaterial ||
 				material.isMeshStandardMaterial ||
 				material.isShaderMaterial ||
 				material.isShaderMaterial ||
 				material.isShadowMaterial ||
 				material.isShadowMaterial ||
-				material.skinning ) {
+				object.isSkinnedMesh ) {
 
 
 				p_uniforms.setValue( _gl, 'viewMatrix', camera.matrixWorldInverse );
 				p_uniforms.setValue( _gl, 'viewMatrix', camera.matrixWorldInverse );
 
 
@@ -1624,7 +1633,7 @@ function WebGLRenderer( parameters ) {
 		// auto-setting of texture unit for bone texture must go before other textures
 		// auto-setting of texture unit for bone texture must go before other textures
 		// otherwise textures used for skinning can take over texture units reserved for other material textures
 		// otherwise textures used for skinning can take over texture units reserved for other material textures
 
 
-		if ( material.skinning ) {
+		if ( object.isSkinnedMesh ) {
 
 
 			p_uniforms.setOptional( _gl, object, 'bindMatrix' );
 			p_uniforms.setOptional( _gl, object, 'bindMatrix' );
 			p_uniforms.setOptional( _gl, object, 'bindMatrixInverse' );
 			p_uniforms.setOptional( _gl, object, 'bindMatrixInverse' );

+ 1 - 1
src/renderers/webgl/WebGLPrograms.js

@@ -221,7 +221,7 @@ function WebGLPrograms( renderer, cubemaps, extensions, capabilities, bindingSta
 			sizeAttenuation: material.sizeAttenuation,
 			sizeAttenuation: material.sizeAttenuation,
 			logarithmicDepthBuffer: logarithmicDepthBuffer,
 			logarithmicDepthBuffer: logarithmicDepthBuffer,
 
 
-			skinning: material.skinning && maxBones > 0,
+			skinning: object.isSkinnedMesh === true && maxBones > 0,
 			maxBones: maxBones,
 			maxBones: maxBones,
 			useVertexTexture: floatVertexTextures,
 			useVertexTexture: floatVertexTextures,
 
 

+ 7 - 27
src/renderers/webgl/WebGLShadowMap.js

@@ -228,9 +228,9 @@ function WebGLShadowMap( _renderer, _objects, _capabilities ) {
 
 
 	}
 	}
 
 
-	function getDepthMaterialVariant( useMorphing, useSkinning, useInstancing ) {
+	function getDepthMaterialVariant( useMorphing ) {
 
 
-		const index = useMorphing << 0 | useSkinning << 1 | useInstancing << 2;
+		const index = useMorphing << 0;
 
 
 		let material = _depthMaterials[ index ];
 		let material = _depthMaterials[ index ];
 
 
@@ -240,8 +240,7 @@ function WebGLShadowMap( _renderer, _objects, _capabilities ) {
 
 
 				depthPacking: RGBADepthPacking,
 				depthPacking: RGBADepthPacking,
 
 
-				morphTargets: useMorphing,
-				skinning: useSkinning
+				morphTargets: useMorphing
 
 
 			} );
 			} );
 
 
@@ -253,9 +252,9 @@ function WebGLShadowMap( _renderer, _objects, _capabilities ) {
 
 
 	}
 	}
 
 
-	function getDistanceMaterialVariant( useMorphing, useSkinning, useInstancing ) {
+	function getDistanceMaterialVariant( useMorphing ) {
 
 
-		const index = useMorphing << 0 | useSkinning << 1 | useInstancing << 2;
+		const index = useMorphing << 0;
 
 
 		let material = _distanceMaterials[ index ];
 		let material = _distanceMaterials[ index ];
 
 
@@ -263,8 +262,7 @@ function WebGLShadowMap( _renderer, _objects, _capabilities ) {
 
 
 			material = new MeshDistanceMaterial( {
 			material = new MeshDistanceMaterial( {
 
 
-				morphTargets: useMorphing,
-				skinning: useSkinning
+				morphTargets: useMorphing
 
 
 			} );
 			} );
 
 
@@ -300,25 +298,7 @@ function WebGLShadowMap( _renderer, _objects, _capabilities ) {
 
 
 			}
 			}
 
 
-			let useSkinning = false;
-
-			if ( object.isSkinnedMesh === true ) {
-
-				if ( material.skinning === true ) {
-
-					useSkinning = true;
-
-				} else {
-
-					console.warn( 'THREE.WebGLShadowMap: THREE.SkinnedMesh with material.skinning set to false:', object );
-
-				}
-
-			}
-
-			const useInstancing = object.isInstancedMesh === true;
-
-			result = getMaterialVariant( useMorphing, useSkinning, useInstancing );
+			result = getMaterialVariant( useMorphing );
 
 
 		} else {
 		} else {