zoukankan      html  css  js  c++  java
  • threejs学习笔记(1)


    demo地址:http://www.adanghome.com/js_demo/31/

    需要支持webgl的浏览器,比如pc上的chrome。


    先吐个槽,threejs的学习资料真心少,官方的文档和教程几乎可以忽略不计。。。


    好了,笔记开始。


    1)threejs的基本思路是,有一个render,通常选用THREE.WebGLRenderer类,有一个camera,通常选用THREE.PerspectiveCamera类,然后有一个scene(我怀疑应该可以多有个scene,并可以在scene之间切换来着,只是现在看到的示例全都只实例化了一个scene),然后scene可以添加多个mesh。render类似于as的stage,mesh类似于sprite。mesh在实例化时,需要传入两个参数,一个是形状,一个是材质。形状保存着顶点信息,材质保存着如何反光等信息。另外,还有一个光源对象,点光源,平行光源什么的。最后还有一个mamera对象,设置视线、近截面远截面信息什么的。mesh、light和camera都可以被添加到scene上。在主循环里,不停渲染renderer.render(scene,camera);


    2)camera有OrthographicCamera和PerspectiveCamera两种,后者使用更频繁。两者接受的参数不同,OrthographicCamera相关的资料少,还没试过。PerspectiveCamera接收四个参数,第一个是视角,从下往上,视角的角度是多少。角度越大,mesh显示得越小。第二个参数没看懂,资料上都说这里应该填舞台的长宽比。第三个是近截面,第四个是远截面。


    3)mesh的形状参数可以完全自定义,也可以使用threejs的预设值,立方体、球体什么的(CubeGeometry,SphereGeometry).


    4)材质有个参数wireframe,设为true,可以让形状只显示成“线框图”。


    5)x左负右正,y下负上正,z里负外正。

  • 相关阅读:
    过滤器详解
    Servlet-----response.getWriter().write()与out.print()的区别
    电子凭证 : Java 生成 Pdf
    Servlet生命周期与工作原理(转载)
    【转载】(String)、toString、String.valueOf的区别
    开发过程中关于JSON的那些事
    UEditor问题整理
    SUBSTR函数
    SQL中 decode()函数简介
    合并单元格相关问题
  • 原文地址:https://www.cnblogs.com/cly84920/p/4426441.html
Copyright © 2011-2022 走看看