翻译Photon.js 3D光照引擎中文文档!

Photon.js是一个JavaScript库,在三维空间中的DOM元素添加简单的照明效果。
效果图:
光照开启效果

光照关闭效果

快速开始

官网:http://photon.attasi.com/index.html

创建一个灯光

该光对象表示一点在三维空间中,模型表面被点亮。
// 创建一个光源点 x: 0, y: 0, z: 100

var light = new Photon.Light();

定义一个面

Face对象指定哪个DOM原因应该被阴影或照亮。

// 使用最大投影 .5 创建face
var face = new Photon.Face( $('.face-1')[0] );

RENDER

应用render方法,基于创建的light(光)投影或照亮创建的face(面)。

// 它与光的关系
face.render(light, true);

参考

Light

//创建一个Light对象,默认位置直指视图。
Photon.Light( x = 0, y = 0, z = 100 )

//将光移动到一个新的坐标系中。
moveTo( x, y, z )

FACE

//创建一个新的Face对象,默认,每个元素(element)都会被微投影。
Photon.Face( element, maxShade = .5, maxTint = 0, isBackfaced = false )
  • element:object 即将被应用投影的DOM对象。
  • maxShade:float 给元素添加的最大暗度值 0-1
  • maxTint:float 给元素添加的最大亮度值 0-1
  • isBackfaced:boolean 决定元素的背面是否投影,就像它自己的这一面。经验法则:如果元素的相反面是可见的,您可能想设置为true.
  • //方法,相对于Light对象的角度让元素阴影或变亮。这些渲染应用在元素中含有photon-shader这个类名的空div上。
    render( light, getNewRotations, parentRotations )
    
  • light :Light 用来计算投影或是照亮的light对象。
  • getNewRotations :boolean 如果是true, 在阴影应用之前,一个新的旋转矢量被计算。当元素的transform属性改变的时候使用这个。
  • parentRotations :object 父对象的角度(x, y 以及 z 弧度)。这些主要应用在FaceGroup对象上。
  • //设置最大阴影值:0 - 1。
    setMaxShade( value )
    
  • value :float
  • //设置最大色彩值:0 - 1。
    setMaxTint( value )
    
  • value :float
  • FACEGROUP

    //创建一个新的FaceGroup对象,允许一次应用渲染多个面。其也计算嵌套元素的角度(如父元素旋转了,里面元素的角度会根据这个字段计算调整)。
    Photon.FaceGroup( parent, faces, maxShade = .5, maxTint = 0, isBackfaced = false )
    
  • parent:object 包含N多面的容器元素。注意:这个元素,本身不会阴影。
  • faces:array parent对象中要被阴影化的DOM元素数组。
  • maxShade:float 多个面上添加的最大黑色程度:0-1
  • maxTint:float 多个面上添加的最大白色程度:0-1
  • isBackfaced:boolean 决定faces的背面是否投影,就像它自己的这一面。经验法则:如果元素的相反面是可见的,您可能得设置为true.
  • //方法,相对于Light对象的角度让元素阴影或变亮。这些渲染应用在元素中含有photon-shader这个类名的空div上。
    render( light, getNewGroupRotations, getNewFaceRotations )
    
  • light :Light 光对象使用计算阴影或着色。
  • getNewGroupRotations :boolean 如果是true, 在parent元素的阴影应用之前,新的矢量会影响所有faces的角度。当parent的transform属性改变的时候使用这个。
  • getNewFaceRotations :boolean 如果为true, 所有faces的角度矢量将被计算。当faces的transform属性改变的时候使用这个。
  • //设置最大阴影值:0 - 1。
    setMaxShade( value )
    
  • value :float
  • //设置最大色彩值:0 - 1。
    setMaxTint( value )
    
  • value :float
  • 共有 0 条评论

    Top