目录

新能源汽车小米su7

小米su7汽车

复制代码
function init() {

   const container = document.querySelector( '#container' );

   camera = new THREE.PerspectiveCamera( 20, window.innerWidth / window.innerHeight, 1, 50000 );
   camera.position.set( 0, 700, 7000 );

   scene = new THREE.Scene();
   scene.background = new THREE.Color( 0x000104 );
   scene.fog = new THREE.FogExp2( 0x000104, 0.0000675 );

   camera.lookAt( scene.position );

   const loader = new OBJLoader();

   loader.load( 'models/obj/male02/male02.obj', function ( object ) {

      const positions = combineBuffer( object, 'position' );

      createMesh( positions, scene, 4.05, - 500, - 350, 600, 0xff7744 );
      createMesh( positions, scene, 4.05, 500, - 350, 0, 0xff5522 );
      createMesh( positions, scene, 4.05, - 250, - 350, 1500, 0xff9922 );
      createMesh( positions, scene, 4.05, - 250, - 350, - 1500, 0xff99ff );

   } );

   loader.load( 'models/obj/female02/female02.obj', function ( object ) {

      const positions = combineBuffer( object, 'position' );

      createMesh( positions, scene, 4.05, - 1000, - 350, 0, 0xffdd44 );
      createMesh( positions, scene, 4.05, 0, - 350, 0, 0xffffff );
      createMesh( positions, scene, 4.05, 1000, - 350, 400, 0xff4422 );
      createMesh( positions, scene, 4.05, 250, - 350, 1500, 0xff9955 );
      createMesh( positions, scene, 4.05, 250, - 350, 2500, 0xff77dd );

   } );


   renderer = new THREE.WebGLRenderer();
   renderer.setPixelRatio( window.devicePixelRatio );
   renderer.setSize( window.innerWidth, window.innerHeight );
   renderer.autoClear = false;
   container.appendChild( renderer.domElement );

   parent = new THREE.Object3D();
   scene.add( parent );

   const grid = new THREE.Points( new THREE.PlaneGeometry( 15000, 15000, 64, 64 ), new THREE.PointsMaterial( { color: 0xff0000, size: 10 } ) );
   grid.position.y = - 400;
   grid.rotation.x = - Math.PI / 2;
   parent.add( grid );

   // postprocessing

   const renderModel = new RenderPass( scene, camera );
   const effectBloom = new BloomPass( 0.75 );
   const effectFilm = new FilmPass();

   effectFocus = new ShaderPass( FocusShader );

   effectFocus.uniforms[ 'screenWidth' ].value = window.innerWidth * window.devicePixelRatio;
   effectFocus.uniforms[ 'screenHeight' ].value = window.innerHeight * window.devicePixelRatio;

   const outputPass = new OutputPass();

   composer = new EffectComposer( renderer );

   composer.addPass( renderModel );
   composer.addPass( effectBloom );
   composer.addPass( effectFilm );
   composer.addPass( effectFocus );
   composer.addPass( outputPass );

   //stats
   stats = new Stats();
   container.appendChild( stats.dom );

   window.addEventListener( 'resize', onWindowResize );

}
本文是转载文章,点击查看原文
如有侵权,请联系 xyy@jishuzhan.net 删除
相关推荐
cypking6 分钟前
svelte+vite+ts+melt-ui从0到1完整框架搭建
前端
WebInfra14 分钟前
Rspack 加入 Next.js 生态:携手改进前端工具链
前端·javascript·github
三小河14 分钟前
Web Speech API实现语音的识别和播放
前端
华科云商xiao徐15 分钟前
使用libcurl编写爬虫程序指南
前端
伶俜monster15 分钟前
破解旋转死锁:Threejs 四元数魔法对抗欧拉角困局
前端·webgl·three.js
ONE_Gua16 分钟前
魔改chromium源码——canvas指纹修改 第一节
前端·chrome·浏览器
天生我材必有用_吴用17 分钟前
Vue 3 国际化实战:支持 Element Plus 组件和语言持久化
前端·javascript·vue.js
在掘金21 分钟前
【kk-utils】键值对双向映射工具——bidirectional-mapping
前端·javascript
叶小秋22 分钟前
一招解决 AI 数据格式问题:让 AI 乖乖返回你要的数据结构
前端·aigc
形影相吊23 分钟前
在项目中使用CocoaPods引入OpenVPNAdapter
前端