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

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

[复制链接]

5552

主题

2

听众

8万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
11

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

跳转到指定楼层
楼主
发表于 2012-8-20 15:08:32 |只看该作者 |倒序浏览
例2-2:TUTORIAL2_2.HTML(相机的移动)
在上一节、实现了物体的移动动画效果、按照同样的步骤也可以来移动相机(视点)。 在例2的基础上,追加了相机(视点)的移动。
var t=0;

function loop() {

  t++;

  renderer.clear();

  cube[0].rotation.set( t/100, 0, 0 );

  cube[1].rotation.set( 0, t/100, 0 );

  cube[2].rotation.set( 0, 0, t/100 );

  camera.position.set( 400*Math.cos(t/100), 400*Math.sin(t/200), 50*Math.cos(t/50));

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

  renderer.render(scene, camera);

  window.requestAnimationFrame(loop);

}

可以看到相机(视点)发生了移动。 关于代码中,调用了Javascript中[Math]类的一些方法, 这些方法应该曾经在学校数学中学习过。(一览点击这里) 比如
Math.PI               //pi

Math.cos(theta)       //cos(        heta)

Math.asin(x)          //arcsin(x)

Math.pow(x,2)         //x^2

Math.sqrt(x)          //sqrt{x}

Math.exp(x)           //exp{x}>等。 更改相机参数的时候、一定要在「camera.lookAt」函数之前进行。 因为「camera.lookAt」函数、不仅仅是设置视点的中心、还能够让设置的相机参数发生实际的效果。
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

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

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

GMT+8, 2025-7-23 00:04 , Processed in 0.060068 second(s), 29 queries .

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

© 2008-2019 Narkii Inc.

回顶部