查看: 1165|回复: 0
打印 上一主题 下一主题

[WEBGL] 利用HTML5构筑物理模拟环境2.22

[复制链接]

1602

主题

1

听众

2万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
24658
精华
6

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-8-17 15:05:56 |只看该作者 |倒序浏览
2.设置相机

OpenGL(WebGL)中、三维空间中的物体投影到二维空间的方式中,存在***投影和正投影两种相机。 ***投影就是、从视点开始越近的物体越大、远处的物体绘制的较小的一种方式、和日常生活中我们看物体的方式是一致的。 正投影就是不管物体和视点距离,都按照统一的大小进行绘制、在建筑和设计等领域需要从各个角度来绘制物体,因此这种投影被广泛应用。在 Three.js 也能够指定***投影和正投影两种方式的相机。 本文按照以下的步骤设置***投影方式。
(0) 声明全局的变量(对象)

(1) 设置***投影的相机

(2) 设置相机的位置坐标

(3) 设置相机的上为「z」轴方向

(4) 设置视野的中心坐标
var camera;                //(0)

function initCamera() {

  var camera = new THREE.PerspectiveCamera( 45 , width / height , 1 , 10000 ); //(1)

  camera.position.x = 100;   //(2)

  camera.position.y = 20;    //(2)

  camera.position.z = 50;    //(2)

  camera.up.x = 0;           //(3)

  camera.up.y = 0;           //(3)

  camera.up.z = 1;           //(3)

  camera.lookAt( {x:0, y:0, z:0 } ); //(4)

}***投影模式下相机的设置

***投影中,会把称为视体积领域中的物体作成投影图。 视体积是通过以下4个参数来指定。

视野角:fov

纵横比:aspect

相机离视体积最近的距离:near

相机离视体积最远的距离:far

通过上面4个参数确定的***投影设置相机。 默认情况下相机的上方向为Y轴,右方向为X轴,沿着Z轴朝里。
var camera = new THREE.PerspectiveCamera( fov , aspect , near , far );通过 Three.js 的 「PerspectiveCamera」类声明对象[camera],同时我们可以修改对象[camera]的各种属性值来设置相机的详细属性。
设置相机的位置坐标

相机的位置坐标和视野的中心坐标,按照(2)那样的方式进行设置。 和上面(2)的方式一样,下面这样的方法也可以。
camera.position.set(50,50,100); //(2)设置相机的上方向

相机的上方向按照(3)这样的方式设置对象的属性。
设置相机的视野中心

利用[lookAt]方法来设置相机的视野中心。 「lookAt()」的参数是一个属性包含中心坐标「x」「y」「z」的对象。 「lookAt()」方法不仅是用来设置视点的中心坐标、 在此之前设置的相机属性要发生实际作用,也需要调用 [lookAt] 方法。
动作确认

请尝试修改(1),(2),(3),(4),(5)、来确认相机各个设定的实际作用。
其他投影方式

在 Three.js 中、有各种各样的类,用来来实现***投影、正投影或者复合投影(***投影和正投影)这样的相机。
var camera = THREE.OrthographicCamera = function ( left, right, top, bottom, near, far ) //正投影

var camera = THREE.CombinedCamera = function ( width, height, fov, near, far

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-7-22 18:36 , Processed in 0.167829 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部