掌控灯光和摄像头!

好的,既然我们已经在场景中放置了对象并看到了所有基本的变换,那么我们将能够继续进行灯光和摄影机部分! 

像网格一样,相机和灯光可以使用   position 和   rotation,但   scaling 对它们没有影响。

 让它发光!

BabylonJS有很多类型的光源。为了工作他们,我们将留在   Arena.js

首先,非常重要的一点是要注意只有三个灯光可以接触网格。目前,这意味着我们不能定义三个以上的灯光。稍后,我将解释如何解决此问题。

一种光总是有两个值来定义,   diffuse 并且   specular 尽管默认定义。  diffuse 用于定义光的颜色   specular 及其亮度的强度(该值越接近白色,则对象越亮;该值越接近黑色,则它越哑光)。如果未指定这些值,则两者都将设置为(1,1,1),与Color3中的白色相对应。

您也可以使用降低照明强度   intensity

半球光

在WebGL中创建自己的FPS:4掌控灯光和摄像头!

半球形光是我们当前在场景中拥有的光。它的区别在于照明非常接近天空,柔和的阴影。由无限平面表示,此光沿一个方向照亮。

参数为:

  • 灯的名称;

  • 照明的位置;

  • 当前场景。

定向光

定向光非常接近半球形光。但是,您不能定义定向光的位置,而只能定义其发光方向。

在WebGL中创建自己的FPS:4掌控灯光和摄像头!

参数为:

  • 灯的名称;

  • 光的方向;

  • 当前场景。

  •  

 在WebGL中创建自己的FPS:4掌控灯光和摄像头!

在WebGL中创建自己的FPS:4掌控灯光和摄像头! 

 

在WebGL中创建自己的FPS:4掌控灯光和摄像头! 

 在WebGL中创建自己的FPS:4掌控灯光和摄像头!

在WebGL中创建自己的FPS:4掌控灯光和摄像头! 

背景始终为白色。Game.js  用   定义   scene.clearColor

如果您想找点乐子,我可以让您发现的效果  range ,该功能可让您定义灯光生效的最大距离。这是最显着的效果在WebGL中创建自己的FPS:4掌控灯光和摄像头! 

每盏灯都有其特质和缺点。由您决定要使用哪种灯光,具体取决于您要赋予的效果。尝试不同的组合以查看其影响,不要忘记可以使用的最大灯光数量是3个 ! 在WebGL中创建自己的FPS:4掌控灯光和摄像头!

引擎,它运行!

BabylonJS上有两个基本相机。但是,已经针对特殊情况创建了许多摄像头(立体摄影机,Occulus,跟随目标的摄像头等)。如果您想了解所有这些小奇迹,请不要犹豫,看一下教程 解释所有相机的官员。  在WebGL中创建自己的FPS:4掌控灯光和摄像头!

指示文件   Player.js !在那里,我们将可以使用具有此功能的相机进行播放_initCamera

在WebGL中创建自己的FPS:4掌控灯光和摄像头!

在WebGL中创建自己的FPS:4掌控灯光和摄像头!

 

 Alpha和Beta是两个值,以弧度表示,指示围绕相关点的旋转。下图显示了这些值对应的内容:

在WebGL中创建自己的FPS:4掌控灯光和摄像头! 

使用这两个摄像机,可能有很多用例。如您所知,我们将为FPS使用免费的相机,因为它给我们带来的可能性对于我们所需要的非常有趣。

  

恭喜你!您已经通过了课程的第一部分!既然您已经了解了BabylonJS的可能性,那么您将能够在下一部分中具体应用它们:您将开始在FPS上工作。

但是在此之前,是时候通过测验和练习来评估您在本部分中学到的知识。祝你好运!:p‌‌

转自https://openclassrooms.com/en/courses/3979376-creez-votre-propre-fps-en-webgl/3991561-prenez-en-main-les-lumieres-et-les-cameras

 

相关文章:

  • 2021-10-20
  • 2021-12-05
  • 2022-12-23
  • 2021-12-16
  • 2022-01-23
  • 2021-12-17
  • 2021-08-30
猜你喜欢
  • 2021-12-25
  • 2021-04-05
  • 2021-10-07
  • 2022-01-07
  • 2021-12-23
  • 2021-06-17
  • 2021-06-05
相关资源
相似解决方案