Transaction d63898bb10e43d941a4074879329bbba76a93f6a918f773f83b90edc72d89d4a
1 Input
-
e9ce756f8e5b4b4e73870dba775f249b4b71c5ee24109d65880739e288941d18:1
OP_DATA_32(32) 50f7faeed8a37cd632d2e41be51a4e878db94cbfa74122cbc0600f6ba4d10971OP_CHECKSIG(172)OP_0(0)OP_IF(99)OP_DATA_3(3) ordOP_DATA_1(1)OP_DATA_15(15) text/javascriptOP_0(0)OP_PUSHDATA2(77) var Terrain=pc.createScript("terrain");Terrain.prototype.initialize=function(){this.maxHeight=parseFloat(this.entity.tElevation);var t=new SimplexNoise(this.entity.tSeed),e=parseFloat(this.entity.tDensity)<1?50:Math.round((50+parseFloat(this.entity.tElevation))*(parseFloat(this.entity.tDensity)/2));this.noiseScale=parseFloat(this.entity.tDensity),this.falloff=30-parseFloat(this.entity.tFalloff);var i=this.createTerrainVertexData(t,e,100,100,0,this.maxHeight,this.noiseScale),t=new pc.Mesh(this.app.graphicsDevice);t.OP_PUSHDATA2(77) setPositions(i.positions),t.setNormals(i.normals),t.setUvs(0,i.uvs),t.setIndices(i.indices),t.update(),this.entity.addComponent("render",{meshInstances:[new pc.MeshInstance(t,new pc.StandardMaterial)]}),this.entity.addComponent("collision",{type:"mesh"});e=new pc.GraphNode,i=new pc.MeshInstance(e,t,new pc.StandardMaterial),t=new pc.Model;t.graph=e,t.meshInstances.push(i),this.entity.collision.model=t,this.entity.addComponent("rigidbody",{friction:1,restitution:0,type:"static"}),this.entity.mat&&"color"===this.entitOP_PUSHDATA2(77) y.mat&&this.entity.script.create("terrainColor"),this.entity.mat&&"texture"===this.entity.mat&&this.entity.script.create("terrainAsset")},Terrain.prototype.createTerrainVertexData=function(t,e,i,s,a,n,r){for(var o=[],h=[],p=[],l=0;l<=e;l++)for(var c=0;c<=e;c++){var y=c*i/e-i/2,f=s-l*s/e-s/2,d=y/i*2*r,m=f/s*2*r,m=(t.noise2D(d,m)+1)/2;m*=this.smoothFalloff(y,i/2,this.falloff)*this.smoothFalloff(f,s/2,this.falloff),o.push(y,a+(n-a)*m,f),h.push(c/e,1-l/e)}for(l=0;l<e;l++)for(c=0;c<e;c++)p.push(c+l*(e+1)),p.push(c+1+l*(OP_PUSHDATA2(77) e+1)),p.push(c+1+(l+1)*(e+1)),p.push(c+l*(e+1)),p.push(c+1+(l+1)*(e+1)),p.push(c+(l+1)*(e+1));return{indices:p,positions:o,normals:pc.calculateNormals(o,p),uvs:h}},Terrain.prototype.smoothFalloff=function(t,e,i){t=Math.abs(t),e=Math.abs(e);i=(t-(i=Math.abs(i)))/(e-i);return i<0?1:1-i*i*(3-2*i)};OP_ENDIF(104)
1 Outputs
- d63898bb10e43d941a4074879329bbba76a93f6a918f773f83b90edc72d89d4a:0
value 330
address bc1pvlhrdze7vltj7q04ml2crnx7l3lh2w7gldxnch09vptten36mupswcsmm4