3 lines
8.0 KiB
JavaScript
3 lines
8.0 KiB
JavaScript
|
|
/*! (c) 2019-2025 pixiv Inc. - https://github.com/pixiv/three-vrm/blob/release/LICENSE */
|
||
|
|
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?
|