web 端的 VR (1)

作者 : 开心源码 本文共1116个字,预计阅读时间需要3分钟 发布时间: 2022-05-12 共191人阅读

简单地解释一下我们是如何在计算机上看到 3D 效果的。

005.JPG

1 向量
2 面
3 fragment
首先我们在 3D 世界里需要形状,那么 shape 是怎样来的呢?我们几个向量点(第一个阶段),这些点组合在一起就组成了面(面),我之前是一名优秀的建模师,其实 3dmax 我们使用应用提供建工具,即便创立的是四边形,其实也是由两个三角面组成的。所以我们在计算机中所有几何图形和几何体都是由三角形组成的,这是有理论根据的,感兴趣大家可以自己查少量资料深入研究,这里就简单详情,而后就是我们面的 shader 了,不要简单了解为上色,shader 还具备少量材质特性,例如玻璃材质对光的折射和反射和金属是不同的。

大家可能焦急了,你不是要讲web 3D 吗?赶紧上代码演示 magic demo。其实现在我在研究 vue 代码,现在越来越发现 coding 不算事,重要的是我们知道应用该怎样做。

006.JPG
scene-de-theatre.jpg

我们要作为 3D,要做 VR 基本就是搭建 3D 场景。我们需要大家 sence 也就是舞台,我们角色和道具都放到我们舞台上,他们都是 mesh 形式出现。而后我们需要摄像机来从远从近,从不同角度来观察我们的舞台。最后我们 webGL 这些渲染到我们的屏幕上。

th.jpg

var scene = new THREE.Scence()var camera = new THREE.PerspectiveCamera(...)var render = new THREE.WebGLRenderer()var box = new THREE.Mesh(...)scence.add(box)requestAnimationFrame(function render(){  renderer,render(scene, camera)requestAnimationFrame(render)})

20120824035714387.jpg

让后想象一下我们要拍摄一个加勒比海盗,我们道具备一条船,船上有一位船长还有一个桌子。桌子和船长是跟随船一起运动的。桌子上会有铁球,跟随桌子一起运动

  • ship
    • captain
    • table
      • ball
<three-scene>  <three-camera position="0 1.6 5" rotation="0 45 0"></three-camera><three-mesh position="0 0 -5">  <three-geometry type="box"></three-geometry><three-material type="basic" color="0x00ff00"></three-material></three-mesh></three-scene>

(待续)

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » web 端的 VR (1)

发表回复