@pixiv/three-vrm-materials-v0compat 3.3.3 → 3.3.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2019-2024 pixiv Inc.
1
+ Copyright (c) 2019-2025 pixiv Inc.
2
2
 
3
3
  MIT License
4
4
 
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * @pixiv/three-vrm-materials-v0compat v3.3.3
2
+ * @pixiv/three-vrm-materials-v0compat v3.3.4
3
3
  * VRM0.0 materials compatibility layer plugin for @pixiv/three-vrm
4
4
  *
5
- * Copyright (c) 2019-2024 pixiv Inc.
5
+ * Copyright (c) 2019-2025 pixiv Inc.
6
6
  * @pixiv/three-vrm-materials-v0compat is distributed under MIT License
7
7
  * https://github.com/pixiv/three-vrm/blob/release/LICENSE
8
8
  */
@@ -1,2 +1,2 @@
1
- /*! (c) 2019-2024 pixiv Inc. - https://github.com/pixiv/three-vrm/blob/release/LICENSE */
1
+ /*! (c) 2019-2025 pixiv Inc. - https://github.com/pixiv/three-vrm/blob/release/LICENSE */
2
2
  "use strict";var dn=Object.create;var T=Object.defineProperty,pn=Object.defineProperties,Mn=Object.getOwnPropertyDescriptor,fn=Object.getOwnPropertyDescriptors,hn=Object.getOwnPropertyNames,Oe=Object.getOwnPropertySymbols,Tn=Object.getPrototypeOf,Ie=Object.prototype.hasOwnProperty,xn=Object.prototype.propertyIsEnumerable;var Ge=(t,e,n)=>e in t?T(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,d=(t,e)=>{for(var n in e||(e={}))Ie.call(e,n)&&Ge(t,n,e[n]);if(Oe)for(var n of Oe(e))xn.call(e,n)&&Ge(t,n,e[n]);return t},W=(t,e)=>pn(t,fn(e));var _n=(t,e)=>{for(var n in e)T(t,n,{get:e[n],enumerable:!0})},Ne=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of hn(e))!Ie.call(t,o)&&o!==n&&T(t,o,{get:()=>e[o],enumerable:!(r=Mn(e,o))||r.enumerable});return t};var mn=(t,e,n)=>(n=t!=null?dn(Tn(t)):{},Ne(e||!t||!t.__esModule?T(n,"default",{value:t,enumerable:!0}):n,t)),Rn=t=>Ne(T({},"__esModule",{value:!0}),t);var Pe=(t,e,n)=>new Promise((r,o)=>{var s=a=>{try{u(n.next(a))}catch(l){o(l)}},i=a=>{try{u(n.throw(a))}catch(l){o(l)}},u=a=>a.done?r(a.value):Promise.resolve(a.value).then(s,i);u((n=n.apply(t,e)).next())});var Vn={};_n(Vn,{VRMMaterialsV0CompatPlugin:()=>L});module.exports=Rn(Vn);var He=mn(require("three"),1);function M(t){return Math.pow(t,2.2)}var L=class{get name(){return"VRMMaterialsV0CompatPlugin"}constructor(e){var r;this.parser=e,this._renderQueueMapTransparent=new Map,this._renderQueueMapTransparentZWrite=new Map;let n=this.parser.json;n.extensionsUsed=(r=n.extensionsUsed)!=null?r:[],n.extensionsUsed.indexOf("KHR_texture_transform")===-1&&n.extensionsUsed.push("KHR_texture_transform")}beforeRoot(){return Pe(this,null,function*(){var o;let e=this.parser.json,n=(o=e.extensions)==null?void 0:o.VRM,r=n==null?void 0:n.materialProperties;r&&(this._populateRenderQueueMap(r),r.forEach((s,i)=>{var a,l;let u=(a=e.materials)==null?void 0:a[i];if(u==null){console.warn(`VRMMaterialsV0CompatPlugin: Attempt to use materials[${i}] of glTF but the material doesn't exist`);return}if(s.shader==="VRM/MToon"){let c=this._parseV0MToonProperties(s,u);e.materials[i]=c}else if((l=s.shader)!=null&&l.startsWith("VRM/Unlit")){let c=this._parseV0UnlitProperties(s,u);e.materials[i]=c}else s.shader==="VRM_USE_GLTFSHADER"||console.warn(`VRMMaterialsV0CompatPlugin: Unknown shader: ${s.shader}`)}))})}_parseV0MToonProperties(e,n){var w,Z,O,G,I,N,P,H,k,B,D,j,z,q,K,$,X,Y,J,ee,ne,te,oe,re,se,ae,ie,ue,le,ce,de,pe,Me,fe,he,Te,xe,_e,me,Re,Ve,Fe,Ce,Le,Se,be,ge,We,ve,ye,Ae,Ee,Qe,Ue,we;let r=(Z=(w=e.keywordMap)==null?void 0:w._ALPHABLEND_ON)!=null?Z:!1,s=((O=e.floatProperties)==null?void 0:O._ZWrite)===1&&r,i=this._v0ParseRenderQueue(e),u=(I=(G=e.keywordMap)==null?void 0:G._ALPHATEST_ON)!=null?I:!1,a=r?"BLEND":u?"MASK":"OPAQUE",l=u?(P=(N=e.floatProperties)==null?void 0:N._Cutoff)!=null?P:.5:void 0,x=((k=(H=e.floatProperties)==null?void 0:H._CullMode)!=null?k:2)===0,p=this._portTextureTransform(e),S=((D=(B=e.vectorProperties)==null?void 0:B._Color)!=null?D:[1,1,1,1]).map((Ze,cn)=>cn===3?Ze:M(Ze)),f=(j=e.textureProperties)==null?void 0:j._MainTex,_=f!=null?{index:f,extensions:d({},p)}:void 0,m=(q=(z=e.floatProperties)==null?void 0:z._BumpScale)!=null?q:1,h=(K=e.textureProperties)==null?void 0:K._BumpMap,R=h!=null?{index:h,scale:m,extensions:d({},p)}:void 0,ke=((X=($=e.vectorProperties)==null?void 0:$._EmissionColor)!=null?X:[0,0,0,1]).map(M),v=(Y=e.textureProperties)==null?void 0:Y._EmissionMap,Be=v!=null?{index:v,extensions:d({},p)}:void 0,De=((ee=(J=e.vectorProperties)==null?void 0:J._ShadeColor)!=null?ee:[.97,.81,.86,1]).map(M),y=(ne=e.textureProperties)==null?void 0:ne._ShadeTexture,je=y!=null?{index:y,extensions:d({},p)}:void 0,V=(oe=(te=e.floatProperties)==null?void 0:te._ShadeShift)!=null?oe:0,F=(se=(re=e.floatProperties)==null?void 0:re._ShadeToony)!=null?se:.9;F=He.MathUtils.lerp(F,1,.5+.5*V),V=-V-(1-F);let A=(ie=(ae=e.floatProperties)==null?void 0:ae._IndirectLightIntensity)!=null?ie:.1,ze=A?1-A:void 0,b=(ue=e.textureProperties)==null?void 0:ue._SphereAdd,qe=b!=null?[1,1,1]:void 0,Ke=b!=null?{index:b}:void 0,$e=(ce=(le=e.floatProperties)==null?void 0:le._RimLightingMix)!=null?ce:0,E=(de=e.textureProperties)==null?void 0:de._RimTexture,Xe=E!=null?{index:E,extensions:d({},p)}:void 0,Ye=((Me=(pe=e.vectorProperties)==null?void 0:pe._RimColor)!=null?Me:[0,0,0,1]).map(M),Je=(he=(fe=e.floatProperties)==null?void 0:fe._RimFresnelPower)!=null?he:1,en=(xe=(Te=e.floatProperties)==null?void 0:Te._RimLift)!=null?xe:0,nn=["none","worldCoordinates","screenCoordinates"][(me=(_e=e.floatProperties)==null?void 0:_e._OutlineWidthMode)!=null?me:0],g=(Ve=(Re=e.floatProperties)==null?void 0:Re._OutlineWidth)!=null?Ve:0;g=.01*g;let Q=(Fe=e.textureProperties)==null?void 0:Fe._OutlineWidthTexture,tn=Q!=null?{index:Q,extensions:d({},p)}:void 0,on=((Le=(Ce=e.vectorProperties)==null?void 0:Ce._OutlineColor)!=null?Le:[0,0,0]).map(M),rn=((be=(Se=e.floatProperties)==null?void 0:Se._OutlineColorMode)!=null?be:0)===1?(We=(ge=e.floatProperties)==null?void 0:ge._OutlineLightingMix)!=null?We:1:0,U=(ve=e.textureProperties)==null?void 0:ve._UvAnimMaskTexture,sn=U!=null?{index:U,extensions:d({},p)}:void 0,an=(Ae=(ye=e.floatProperties)==null?void 0:ye._UvAnimScrollX)!=null?Ae:0,C=(Qe=(Ee=e.floatProperties)==null?void 0:Ee._UvAnimScrollY)!=null?Qe:0;C!=null&&(C=-C);let un=(we=(Ue=e.floatProperties)==null?void 0:Ue._UvAnimRotation)!=null?we:0,ln={specVersion:"1.0",transparentWithZWrite:s,renderQueueOffsetNumber:i,shadeColorFactor:De,shadeMultiplyTexture:je,shadingShiftFactor:V,shadingToonyFactor:F,giEqualizationFactor:ze,matcapFactor:qe,matcapTexture:Ke,rimLightingMixFactor:$e,rimMultiplyTexture:Xe,parametricRimColorFactor:Ye,parametricRimFresnelPowerFactor:Je,parametricRimLiftFactor:en,outlineWidthMode:nn,outlineWidthFactor:g,outlineWidthMultiplyTexture:tn,outlineColorFactor:on,outlineLightingMixFactor:rn,uvAnimationMaskTexture:sn,uvAnimationScrollXSpeedFactor:an,uvAnimationScrollYSpeedFactor:C,uvAnimationRotationSpeedFactor:un};return W(d({},n),{pbrMetallicRoughness:{baseColorFactor:S,baseColorTexture:_},normalTexture:R,emissiveTexture:Be,emissiveFactor:ke,alphaMode:a,alphaCutoff:l,doubleSided:x,extensions:{VRMC_materials_mtoon:ln}})}_parseV0UnlitProperties(e,n){var f,_,m,h,R;let r=e.shader==="VRM/UnlitTransparentZWrite",o=e.shader==="VRM/UnlitTransparent"||r,s=this._v0ParseRenderQueue(e),i=e.shader==="VRM/UnlitCutout",u=o?"BLEND":i?"MASK":"OPAQUE",a=i?(_=(f=e.floatProperties)==null?void 0:f._Cutoff)!=null?_:.5:void 0,l=this._portTextureTransform(e),c=((h=(m=e.vectorProperties)==null?void 0:m._Color)!=null?h:[1,1,1,1]).map(M),x=(R=e.textureProperties)==null?void 0:R._MainTex,p=x!=null?{index:x,extensions:d({},l)}:void 0,S={specVersion:"1.0",transparentWithZWrite:r,renderQueueOffsetNumber:s,shadeColorFactor:c,shadeMultiplyTexture:p};return W(d({},n),{pbrMetallicRoughness:{baseColorFactor:c,baseColorTexture:p},alphaMode:u,alphaCutoff:a,extensions:{VRMC_materials_mtoon:S}})}_portTextureTransform(e){var s,i,u,a,l;let n=(s=e.vectorProperties)==null?void 0:s._MainTex;if(n==null)return{};let r=[(i=n==null?void 0:n[0])!=null?i:0,(u=n==null?void 0:n[1])!=null?u:0],o=[(a=n==null?void 0:n[2])!=null?a:1,(l=n==null?void 0:n[3])!=null?l:1];return r[1]=1-o[1]-r[1],{KHR_texture_transform:{offset:r,scale:o}}}_v0ParseRenderQueue(e){var i,u;let n=e.shader==="VRM/UnlitTransparentZWrite",r=((i=e.keywordMap)==null?void 0:i._ALPHABLEND_ON)!=null||e.shader==="VRM/UnlitTransparent"||n,o=((u=e.floatProperties)==null?void 0:u._ZWrite)===1||n,s=0;if(r){let a=e.renderQueue;a!=null&&(o?s=this._renderQueueMapTransparentZWrite.get(a):s=this._renderQueueMapTransparent.get(a))}return s}_populateRenderQueueMap(e){let n=new Set,r=new Set;e.forEach(o=>{var a,l;let s=o.shader==="VRM/UnlitTransparentZWrite",i=((a=o.keywordMap)==null?void 0:a._ALPHABLEND_ON)!=null||o.shader==="VRM/UnlitTransparent"||s,u=((l=o.floatProperties)==null?void 0:l._ZWrite)===1||s;if(i){let c=o.renderQueue;c!=null&&(u?r.add(c):n.add(c))}}),n.size>10&&console.warn(`VRMMaterialsV0CompatPlugin: This VRM uses ${n.size} render queues for Transparent materials while VRM 1.0 only supports up to 10 render queues. The model might not be rendered correctly.`),r.size>10&&console.warn(`VRMMaterialsV0CompatPlugin: This VRM uses ${r.size} render queues for TransparentZWrite materials while VRM 1.0 only supports up to 10 render queues. The model might not be rendered correctly.`),Array.from(n).sort().forEach((o,s)=>{let i=Math.min(Math.max(s-n.size+1,-9),0);this._renderQueueMapTransparent.set(o,i)}),Array.from(r).sort().forEach((o,s)=>{let i=Math.min(Math.max(s,0),9);this._renderQueueMapTransparentZWrite.set(o,i)})}};
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * @pixiv/three-vrm-materials-v0compat v3.3.3
2
+ * @pixiv/three-vrm-materials-v0compat v3.3.4
3
3
  * VRM0.0 materials compatibility layer plugin for @pixiv/three-vrm
4
4
  *
5
- * Copyright (c) 2019-2024 pixiv Inc.
5
+ * Copyright (c) 2019-2025 pixiv Inc.
6
6
  * @pixiv/three-vrm-materials-v0compat is distributed under MIT License
7
7
  * https://github.com/pixiv/three-vrm/blob/release/LICENSE
8
8
  */
@@ -1,2 +1,2 @@
1
- /*! (c) 2019-2024 pixiv Inc. - https://github.com/pixiv/three-vrm/blob/release/LICENSE */
1
+ /*! (c) 2019-2025 pixiv Inc. - https://github.com/pixiv/three-vrm/blob/release/LICENSE */
2
2
  var un=Object.defineProperty,ln=Object.defineProperties;var cn=Object.getOwnPropertyDescriptors;var Ze=Object.getOwnPropertySymbols;var dn=Object.prototype.hasOwnProperty,pn=Object.prototype.propertyIsEnumerable;var Oe=(l,e,n)=>e in l?un(l,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):l[e]=n,d=(l,e)=>{for(var n in e||(e={}))dn.call(e,n)&&Oe(l,n,e[n]);if(Ze)for(var n of Ze(e))pn.call(e,n)&&Oe(l,n,e[n]);return l},b=(l,e)=>ln(l,cn(e));var Ge=(l,e,n)=>new Promise((o,s)=>{var t=r=>{try{i(n.next(r))}catch(u){s(u)}},a=r=>{try{i(n.throw(r))}catch(u){s(u)}},i=r=>r.done?o(r.value):Promise.resolve(r.value).then(t,a);i((n=n.apply(l,e)).next())});import*as Ie from"three";function M(l){return Math.pow(l,2.2)}var g=class{get name(){return"VRMMaterialsV0CompatPlugin"}constructor(e){var o;this.parser=e,this._renderQueueMapTransparent=new Map,this._renderQueueMapTransparentZWrite=new Map;let n=this.parser.json;n.extensionsUsed=(o=n.extensionsUsed)!=null?o:[],n.extensionsUsed.indexOf("KHR_texture_transform")===-1&&n.extensionsUsed.push("KHR_texture_transform")}beforeRoot(){return Ge(this,null,function*(){var s;let e=this.parser.json,n=(s=e.extensions)==null?void 0:s.VRM,o=n==null?void 0:n.materialProperties;o&&(this._populateRenderQueueMap(o),o.forEach((t,a)=>{var r,u;let i=(r=e.materials)==null?void 0:r[a];if(i==null){console.warn(`VRMMaterialsV0CompatPlugin: Attempt to use materials[${a}] of glTF but the material doesn't exist`);return}if(t.shader==="VRM/MToon"){let c=this._parseV0MToonProperties(t,i);e.materials[a]=c}else if((u=t.shader)!=null&&u.startsWith("VRM/Unlit")){let c=this._parseV0UnlitProperties(t,i);e.materials[a]=c}else t.shader==="VRM_USE_GLTFSHADER"||console.warn(`VRMMaterialsV0CompatPlugin: Unknown shader: ${t.shader}`)}))})}_parseV0MToonProperties(e,n){var U,w,Z,O,G,I,N,P,H,k,B,D,j,z,q,K,$,X,Y,J,ee,ne,te,oe,re,se,ae,ie,ue,le,ce,de,pe,Me,fe,he,Te,xe,_e,me,Re,Ve,Fe,Ce,Le,Se,be,ge,We,ve,ye,Ae,Ee,Qe,Ue;let o=(w=(U=e.keywordMap)==null?void 0:U._ALPHABLEND_ON)!=null?w:!1,t=((Z=e.floatProperties)==null?void 0:Z._ZWrite)===1&&o,a=this._v0ParseRenderQueue(e),i=(G=(O=e.keywordMap)==null?void 0:O._ALPHATEST_ON)!=null?G:!1,r=o?"BLEND":i?"MASK":"OPAQUE",u=i?(N=(I=e.floatProperties)==null?void 0:I._Cutoff)!=null?N:.5:void 0,T=((H=(P=e.floatProperties)==null?void 0:P._CullMode)!=null?H:2)===0,p=this._portTextureTransform(e),C=((B=(k=e.vectorProperties)==null?void 0:k._Color)!=null?B:[1,1,1,1]).map((we,an)=>an===3?we:M(we)),f=(D=e.textureProperties)==null?void 0:D._MainTex,x=f!=null?{index:f,extensions:d({},p)}:void 0,_=(z=(j=e.floatProperties)==null?void 0:j._BumpScale)!=null?z:1,h=(q=e.textureProperties)==null?void 0:q._BumpMap,m=h!=null?{index:h,scale:_,extensions:d({},p)}:void 0,Ne=(($=(K=e.vectorProperties)==null?void 0:K._EmissionColor)!=null?$:[0,0,0,1]).map(M),W=(X=e.textureProperties)==null?void 0:X._EmissionMap,Pe=W!=null?{index:W,extensions:d({},p)}:void 0,He=((J=(Y=e.vectorProperties)==null?void 0:Y._ShadeColor)!=null?J:[.97,.81,.86,1]).map(M),v=(ee=e.textureProperties)==null?void 0:ee._ShadeTexture,ke=v!=null?{index:v,extensions:d({},p)}:void 0,R=(te=(ne=e.floatProperties)==null?void 0:ne._ShadeShift)!=null?te:0,V=(re=(oe=e.floatProperties)==null?void 0:oe._ShadeToony)!=null?re:.9;V=Ie.MathUtils.lerp(V,1,.5+.5*R),R=-R-(1-V);let y=(ae=(se=e.floatProperties)==null?void 0:se._IndirectLightIntensity)!=null?ae:.1,Be=y?1-y:void 0,L=(ie=e.textureProperties)==null?void 0:ie._SphereAdd,De=L!=null?[1,1,1]:void 0,je=L!=null?{index:L}:void 0,ze=(le=(ue=e.floatProperties)==null?void 0:ue._RimLightingMix)!=null?le:0,A=(ce=e.textureProperties)==null?void 0:ce._RimTexture,qe=A!=null?{index:A,extensions:d({},p)}:void 0,Ke=((pe=(de=e.vectorProperties)==null?void 0:de._RimColor)!=null?pe:[0,0,0,1]).map(M),$e=(fe=(Me=e.floatProperties)==null?void 0:Me._RimFresnelPower)!=null?fe:1,Xe=(Te=(he=e.floatProperties)==null?void 0:he._RimLift)!=null?Te:0,Ye=["none","worldCoordinates","screenCoordinates"][(_e=(xe=e.floatProperties)==null?void 0:xe._OutlineWidthMode)!=null?_e:0],S=(Re=(me=e.floatProperties)==null?void 0:me._OutlineWidth)!=null?Re:0;S=.01*S;let E=(Ve=e.textureProperties)==null?void 0:Ve._OutlineWidthTexture,Je=E!=null?{index:E,extensions:d({},p)}:void 0,en=((Ce=(Fe=e.vectorProperties)==null?void 0:Fe._OutlineColor)!=null?Ce:[0,0,0]).map(M),nn=((Se=(Le=e.floatProperties)==null?void 0:Le._OutlineColorMode)!=null?Se:0)===1?(ge=(be=e.floatProperties)==null?void 0:be._OutlineLightingMix)!=null?ge:1:0,Q=(We=e.textureProperties)==null?void 0:We._UvAnimMaskTexture,tn=Q!=null?{index:Q,extensions:d({},p)}:void 0,on=(ye=(ve=e.floatProperties)==null?void 0:ve._UvAnimScrollX)!=null?ye:0,F=(Ee=(Ae=e.floatProperties)==null?void 0:Ae._UvAnimScrollY)!=null?Ee:0;F!=null&&(F=-F);let rn=(Ue=(Qe=e.floatProperties)==null?void 0:Qe._UvAnimRotation)!=null?Ue:0,sn={specVersion:"1.0",transparentWithZWrite:t,renderQueueOffsetNumber:a,shadeColorFactor:He,shadeMultiplyTexture:ke,shadingShiftFactor:R,shadingToonyFactor:V,giEqualizationFactor:Be,matcapFactor:De,matcapTexture:je,rimLightingMixFactor:ze,rimMultiplyTexture:qe,parametricRimColorFactor:Ke,parametricRimFresnelPowerFactor:$e,parametricRimLiftFactor:Xe,outlineWidthMode:Ye,outlineWidthFactor:S,outlineWidthMultiplyTexture:Je,outlineColorFactor:en,outlineLightingMixFactor:nn,uvAnimationMaskTexture:tn,uvAnimationScrollXSpeedFactor:on,uvAnimationScrollYSpeedFactor:F,uvAnimationRotationSpeedFactor:rn};return b(d({},n),{pbrMetallicRoughness:{baseColorFactor:C,baseColorTexture:x},normalTexture:m,emissiveTexture:Pe,emissiveFactor:Ne,alphaMode:r,alphaCutoff:u,doubleSided:T,extensions:{VRMC_materials_mtoon:sn}})}_parseV0UnlitProperties(e,n){var f,x,_,h,m;let o=e.shader==="VRM/UnlitTransparentZWrite",s=e.shader==="VRM/UnlitTransparent"||o,t=this._v0ParseRenderQueue(e),a=e.shader==="VRM/UnlitCutout",i=s?"BLEND":a?"MASK":"OPAQUE",r=a?(x=(f=e.floatProperties)==null?void 0:f._Cutoff)!=null?x:.5:void 0,u=this._portTextureTransform(e),c=((h=(_=e.vectorProperties)==null?void 0:_._Color)!=null?h:[1,1,1,1]).map(M),T=(m=e.textureProperties)==null?void 0:m._MainTex,p=T!=null?{index:T,extensions:d({},u)}:void 0,C={specVersion:"1.0",transparentWithZWrite:o,renderQueueOffsetNumber:t,shadeColorFactor:c,shadeMultiplyTexture:p};return b(d({},n),{pbrMetallicRoughness:{baseColorFactor:c,baseColorTexture:p},alphaMode:i,alphaCutoff:r,extensions:{VRMC_materials_mtoon:C}})}_portTextureTransform(e){var t,a,i,r,u;let n=(t=e.vectorProperties)==null?void 0:t._MainTex;if(n==null)return{};let o=[(a=n==null?void 0:n[0])!=null?a:0,(i=n==null?void 0:n[1])!=null?i:0],s=[(r=n==null?void 0:n[2])!=null?r:1,(u=n==null?void 0:n[3])!=null?u:1];return o[1]=1-s[1]-o[1],{KHR_texture_transform:{offset:o,scale:s}}}_v0ParseRenderQueue(e){var a,i;let n=e.shader==="VRM/UnlitTransparentZWrite",o=((a=e.keywordMap)==null?void 0:a._ALPHABLEND_ON)!=null||e.shader==="VRM/UnlitTransparent"||n,s=((i=e.floatProperties)==null?void 0:i._ZWrite)===1||n,t=0;if(o){let r=e.renderQueue;r!=null&&(s?t=this._renderQueueMapTransparentZWrite.get(r):t=this._renderQueueMapTransparent.get(r))}return t}_populateRenderQueueMap(e){let n=new Set,o=new Set;e.forEach(s=>{var r,u;let t=s.shader==="VRM/UnlitTransparentZWrite",a=((r=s.keywordMap)==null?void 0:r._ALPHABLEND_ON)!=null||s.shader==="VRM/UnlitTransparent"||t,i=((u=s.floatProperties)==null?void 0:u._ZWrite)===1||t;if(a){let c=s.renderQueue;c!=null&&(i?o.add(c):n.add(c))}}),n.size>10&&console.warn(`VRMMaterialsV0CompatPlugin: This VRM uses ${n.size} render queues for Transparent materials while VRM 1.0 only supports up to 10 render queues. The model might not be rendered correctly.`),o.size>10&&console.warn(`VRMMaterialsV0CompatPlugin: This VRM uses ${o.size} render queues for TransparentZWrite materials while VRM 1.0 only supports up to 10 render queues. The model might not be rendered correctly.`),Array.from(n).sort().forEach((s,t)=>{let a=Math.min(Math.max(t-n.size+1,-9),0);this._renderQueueMapTransparent.set(s,a)}),Array.from(o).sort().forEach((s,t)=>{let a=Math.min(Math.max(t,0),9);this._renderQueueMapTransparentZWrite.set(s,a)})}};export{g as VRMMaterialsV0CompatPlugin};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixiv/three-vrm-materials-v0compat",
3
- "version": "3.3.3",
3
+ "version": "3.3.4",
4
4
  "description": "VRM0.0 materials compatibility layer plugin for @pixiv/three-vrm",
5
5
  "license": "MIT",
6
6
  "author": "pixiv",
@@ -46,8 +46,8 @@
46
46
  ]
47
47
  },
48
48
  "dependencies": {
49
- "@pixiv/types-vrm-0.0": "3.3.3",
50
- "@pixiv/types-vrmc-materials-mtoon-1.0": "3.3.3"
49
+ "@pixiv/types-vrm-0.0": "3.3.4",
50
+ "@pixiv/types-vrmc-materials-mtoon-1.0": "3.3.4"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@types/three": "^0.169.0",
@@ -56,5 +56,5 @@
56
56
  "peerDependencies": {
57
57
  "three": ">=0.137"
58
58
  },
59
- "gitHead": "b3c49efe2f6a8e6807cef0d3b22d6a4ec0b43af3"
59
+ "gitHead": "776c2823dcf3453d689a2d56aa82b289fdf963cf"
60
60
  }