掌控灯光和摄像头!
好的,既然我们已经在场景中放置了对象并看到了所有基本的变换,那么我们将能够继续进行灯光和摄影机部分!
像网格一样,相机和灯光可以使用 position 和 rotation,但 scaling 对它们没有影响。
让它发光!
BabylonJS有很多类型的光源。为了工作他们,我们将留在 Arena.js。
首先,非常重要的一点是要注意只有三个灯光可以接触网格。目前,这意味着我们不能定义三个以上的灯光。稍后,我将解释如何解决此问题。
一种光总是有两个值来定义, diffuse 并且 specular 尽管默认定义。 diffuse 用于定义光的颜色 specular 及其亮度的强度(该值越接近白色,则对象越亮;该值越接近黑色,则它越哑光)。如果未指定这些值,则两者都将设置为(1,1,1),与Color3中的白色相对应。
您也可以使用降低照明强度 intensity。
半球光

半球形光是我们当前在场景中拥有的光。它的区别在于照明非常接近天空,柔和的阴影。由无限平面表示,此光沿一个方向照亮。
参数为:
-
灯的名称;
-
照明的位置;
-
当前场景。
定向光
定向光非常接近半球形光。但是,您不能定义定向光的位置,而只能定义其发光方向。

参数为:
-
灯的名称;
-
光的方向;
-
当前场景。
-


背景始终为白色。Game.js 用 定义 scene.clearColor。
如果您想找点乐子,我可以让您发现的效果 range ,该功能可让您定义灯光生效的最大距离。这是最显着的效果
每盏灯都有其特质和缺点。由您决定要使用哪种灯光,具体取决于您要赋予的效果。尝试不同的组合以查看其影响,不要忘记可以使用的最大灯光数量是3个 ! 
引擎,它运行!
BabylonJS上有两个基本相机。但是,已经针对特殊情况创建了许多摄像头(立体摄影机,Occulus,跟随目标的摄像头等)。如果您想了解所有这些小奇迹,请不要犹豫,看一下教程 解释所有相机的官员。 
指示文件 Player.js !在那里,我们将可以使用具有此功能的相机进行播放_initCamera。


Alpha和Beta是两个值,以弧度表示,指示围绕相关点的旋转。下图显示了这些值对应的内容:
使用这两个摄像机,可能有很多用例。如您所知,我们将为FPS使用免费的相机,因为它给我们带来的可能性对于我们所需要的非常有趣。
恭喜你!您已经通过了课程的第一部分!既然您已经了解了BabylonJS的可能性,那么您将能够在下一部分中具体应用它们:您将开始在FPS上工作。
但是在此之前,是时候通过测验和练习来评估您在本部分中学到的知识。祝你好运!:p
本文详细介绍了在BabylonJS中如何使用不同类型的灯光,包括半球光和定向光,以及如何利用灯光的特性创造各种效果。同时,文章还探讨了两种基本相机类型,并介绍了如何在特定场景中选择合适的相机。

被折叠的 条评论
为什么被折叠?



