Skip to content

Commit 67216f5

Browse files
committed
snowFlakes
1 parent 41dc89c commit 67216f5

File tree

6 files changed

+85
-7
lines changed

6 files changed

+85
-7
lines changed
861 Bytes
Loading
1.29 KB
Loading
1.36 KB
Loading
664 Bytes
Loading
893 Bytes
Loading

index.html

Lines changed: 85 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,12 @@ <h3>Gra zatrzymana</h3>
8080
import * as THREE from './module/build/three.module.js';
8181
import {BufferGeometryUtils} from './module/jsm/utils/BufferGeometryUtils.js';
8282
import {SkeletonUtils} from './module/jsm/utils/SkeletonUtils.js';
83+
import {FBXLoader} from './module/jsm/loaders/FBXLoader.js';
8384
import Stats from './module/jsm/libs/stats.module.js';
84-
import {FBXLoader} from './module/jsm/loaders/FBXLoader.js?1';
8585

8686

8787
var canvas,renderer,scene,camera,stats,raycaster,
88-
gameState,world,cube,FPC,socket,playerObject,textureAtlasMapping;
88+
gameState,world,cube,FPC,socket,playerObject,textureAtlasMapping,materials,parameters;
8989

9090

9191
class Terrain {
@@ -590,10 +590,9 @@ <h3>Gra zatrzymana</h3>
590590
PixelRatio:window.devicePixelRatio
591591
});
592592
scene = new THREE.Scene();
593-
scene.background = new THREE.Color(0xb0b0b0);
594-
const color = new THREE.Color(0xb0b0b0);
593+
scene.background = new THREE.Color("lightblue");
595594
const density = 0.01;
596-
scene.fog = new THREE.FogExp2(color, density);
595+
// scene.fog = new THREE.FogExp2(new THREE.Color(0xb0b0b0), density);
597596
camera = new THREE.PerspectiveCamera(75, 2, 0.1, 1000);
598597
camera.rotation.order = "YXZ"
599598
camera.position.set(26, 26, 26)
@@ -614,6 +613,63 @@ <h3>Gra zatrzymana</h3>
614613

615614

616615
var loader = new FBXLoader();
616+
var textureLoader = new THREE.TextureLoader();
617+
618+
var geometry = new THREE.BufferGeometry();
619+
var vertices = [];
620+
materials=[]
621+
var sprite1 = textureLoader.load( 'assets/images/snowflakes/snowflake1.png' );
622+
var sprite2 = textureLoader.load( 'assets/images/snowflakes/snowflake2.png' );
623+
var sprite3 = textureLoader.load( 'assets/images/snowflakes/snowflake3.png' );
624+
var sprite4 = textureLoader.load( 'assets/images/snowflakes/snowflake4.png' );
625+
var sprite5 = textureLoader.load( 'assets/images/snowflakes/snowflake5.png' );
626+
627+
for ( var i = 0; i < 100; i ++ ) {
628+
629+
var x = Math.random() * 2000 - 1000;
630+
var y = Math.random() * 2000 - 1000;
631+
var z = Math.random() * 2000 - 1000;
632+
633+
vertices.push( x, y, z );
634+
635+
}
636+
637+
geometry.setAttribute( 'position', new THREE.Float32BufferAttribute( vertices, 3 ) );
638+
639+
parameters = [
640+
[[ 1.0, 0.2, 0.5 ], sprite2, 20 ],
641+
[[ 0.95, 0.1, 0.5 ], sprite3, 15 ],
642+
[[ 0.90, 0.05, 0.5 ], sprite1, 10 ],
643+
[[ 0.85, 0, 0.5 ], sprite5, 8 ],
644+
[[ 0.80, 0, 0.5 ], sprite4, 5 ]
645+
];
646+
647+
for ( var i = 0; i < parameters.length; i ++ ) {
648+
649+
var color = parameters[ i ][ 0 ];
650+
var sprite = parameters[ i ][ 1 ];
651+
var size = parameters[ i ][ 2 ];
652+
653+
materials[ i ] = new THREE.PointsMaterial( { size: size, map: sprite, blending: THREE.AdditiveBlending, depthTest: false, transparent: true } );
654+
materials[ i ].color.setHSL( color[ 0 ], color[ 1 ], color[ 2 ] );
655+
656+
var particles = new THREE.Points( geometry, materials[ i ] );
657+
658+
particles.rotation.x = Math.random() * 6;
659+
particles.rotation.y = Math.random() * 6;
660+
particles.rotation.z = Math.random() * 6;
661+
662+
scene.add( particles );
663+
664+
}
665+
for ( var i = 0; i < materials.length; i ++ ) {
666+
667+
materials[ i ].map = parameters[ i ][ 1 ];
668+
materials[ i ].needsUpdate = true;
669+
670+
}
671+
672+
617673
loader.load( 'assets/models/clouds/clouds.fbx', function ( object ) {
618674
object.scale.x=0.1
619675
object.scale.y=0.1
@@ -629,7 +685,6 @@ <h3>Gra zatrzymana</h3>
629685
object.children[1].material.map=texturex
630686
object.children[1].material.color=new THREE.Color( 0xffffff );
631687
// object.children[1].scale.set(0.5,0.5,0.5)
632-
console.log(object)
633688
scene.add(object)
634689

635690
var ghast2=SkeletonUtils.clone(object);
@@ -828,7 +883,6 @@ <h3>Gra zatrzymana</h3>
828883
if(f!=null){
829884
f();
830885
}
831-
832886
}
833887
});
834888
})();
@@ -849,6 +903,7 @@ <h3>Gra zatrzymana</h3>
849903
}
850904

851905

906+
852907
function uuidv4() {
853908
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
854909
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
@@ -895,6 +950,28 @@ <h3>Gra zatrzymana</h3>
895950
}
896951

897952
function render() {
953+
var time = Date.now() * 0.00005;
954+
955+
for ( var i = 0; i < scene.children.length; i ++ ) {
956+
957+
var object = scene.children[ i ];
958+
959+
if ( object instanceof THREE.Points ) {
960+
961+
object.rotation.y = time * ( i < 4 ? i + 1 : - ( i + 1 ) );
962+
963+
}
964+
965+
}
966+
967+
for ( var i = 0; i < materials.length; i ++ ) {
968+
969+
var color = parameters[ i ][ 0 ];
970+
971+
var h = ( 360 * ( color[ 0 ] + time ) % 360 ) / 360;
972+
materials[ i ].color.setHSL( h, color[ 1 ], color[ 2 ] );
973+
974+
}
898975
if (resizeRendererToDisplaySize(renderer)) {
899976
const canvas = renderer.domElement;
900977
camera.aspect = canvas.clientWidth / canvas.clientHeight;
@@ -914,6 +991,7 @@ <h3>Gra zatrzymana</h3>
914991
renderer.render(scene, camera);
915992
world.updateCells()
916993
updateCursor()
994+
917995

918996
}
919997
</script>

0 commit comments

Comments
 (0)