我的世界网易电脑版mc渲染距离离太大?

  大学时一直很喜欢玩minecraft这一款游戏,毕业之后便没有太多的时间玩游戏,但是对其的关注确一直没有减少,当网易获得我的世界代理权时,看到网易官网做的炫酷的3Dbanner。非常炫酷,于是萌生了做一个简单的网页版的世界的想法。

Canvas提供硬件3D加速渲染,这样Web开发人员就可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型了,还能创建复杂的导航和数据视觉化.

  WebPack是一个模块打包工具,它可以分析你的项目结构,找到JavaScript模块以及其它的一些浏览器不能直接运行的拓展语言(Scss,TypeScript等),并将其转换和打包为合适的格式供浏览器使用。 

  环境搭建,可以看我之前的一篇博文,这里不再赘述。

  对于THREE.JS的一些基本知识本章不重点叙述,园子里很多博文写得非常很清楚,大家自行查找。本文只叙述实现本节相关的代码。以下连接是官方提供的一个简单的在3D空间中生成立方体的例子,简单的叙述了如何使用three.js的基本用法和怎么产生方块。读懂它对本例的理解会有非常大的帮助。

  构建地面我们要做什么

1 > 在3D空间中以(0.0.0)为基准产生一串连续的数组作为地形坐标

  地面生成算法,这里引用了 ,three官方例子 ,参考THREE.JS的例子,本例做出了一些调整。由于作者这方面的基础不是很好,不多做叙述。

2 > 在每个点的位置填充方块

  细节1:只渲染可见的面 

  例如上图A方块,他的前后左右都有方块,那他的前后左右的面都可以不用渲染,B方块它的后面和右面都有方块,它的后面和右面就不用渲染。只渲染需要的面,能够缩小渲染时间,提高帧率。

  细节2:为暗面添加阴影

  如果一个方块四周的方块都比他低,那它是最亮的。如果他的四周的方块都高于他,那他就会暗一些。如上图的绿色区域,绿色区域就会相对较暗。下面是效果对比。

  我们所看到的画面是摄像机拍摄的画面,我们将摄像机当作玩家的眼睛,玩家使用键盘产生的动作来驱动摄像机移动,即可产生第一人称的效果。

  它可以访问原始的鼠标运动,把鼠标事件的目标锁定到一个单独的元素,这就消除了鼠标在一个单独的方向上到底可以移动多远这方面的限制,并从视图中删去光标。这样就可以让我们通过移动鼠标而不需要点击任何按钮就可以控制视角。

  THREE.JS提供了PointerLockControls控制器,实例化之后可以通过控制器对象的getObject()获取到控制对象,设置控制对象的位置,在使用其提供的update函数实现人物的视角旋转。

  通过监听键盘的按键和控制相机的位置来控制人物的移动。

  找到物体的大致思路如1下图

由于它们的Z轴坐标是0和1,则转变到投影坐标系的话,一定分别是前剪切平面上的点和后剪切平面上的点,也就是说,在投影坐标系中,A点一定在能看见的所有模型的最前面,B点一定在能看见的所有的模型的最后边,将AB点连成线,AB线穿过的物体就是被点击的物体。而 Three.js提供一个射线类Raycasting来拾取场景里面的物体。更方便的使用鼠标来操作3D场景。(在本例我们组成射线的两个点是摄像机所在视点的相对位置与人物移动方向形成的射线)
详细的官方文档: 

origin — 光线投射的起点向量。 near — 投射近点,用来限定返回比near要远的结果。near不能为负数。缺省为0。 far — 投射远点,用来限定返回比far要近的结果。far不能比near要小。缺省为无穷大。 origin 初始化为(0,0,0),移动时在刷新 direction 初始化设置为Y方向,防止无限下坠,

  通过获取到控制器对象的位置(相机的位置),将视线位置的Y值-200,就可以获取到史蒂夫脚方块的位置,如果脚的位置到地面的位置小于等于50(方块宽度的一半),则说明史蒂夫的脚碰到的地面,就停止相机的下坠。对于碰撞也是相同的做法,如果脚方块与移动方向前50PX内无方块,则可以移动,否则停止。移动的方向我们通过摄像头的方向(史蒂夫在三维空间视觉方向的矢量)和按键来确定,如果往前移动,那么检测的方向就是视觉方向,如果往左移动,则需要将矢量逆时针旋转90度后作为检测的方向。

 控制器核心代码如下:

//相机距离地面的相对高度 //将摄像头面对的相对方向置入cameradir变量,用于检测障碍物. //确认移动的方向,以便检测障碍物 //以下为了保证有过渡效果

   这样就能够完成一个基础的我的世界了,请期待后续。

当我们把我的世界下载到电脑中之后,在玩的过程中总会感觉到有一些怪异,自己的电脑配置明明那么好,却还是有一些些的卡顿原因可能出现在视频设置、控制设置和资源包设置。

这三项选项没有设置好会让游戏运行不流畅。分别是视频设置控制设置和资源包设置,只有这三项设置设置到最佳状况下才能给你提供流畅的游戏体验。如何设置这个选项呢?第1步我们先按一下esc键会跳出如下的界面。确保先打开视频设置选项,我们可以看到如下界面显示的内容。其中图像品质控制着方块和材质的一些精细程度的大小。

  • 开启流畅模式,顾名思义会让品质有所下跌但流畅度会提高,比如树叶不会出现缝隙,如果我们在高品质下则可以看到树叶的缝隙。
  • 主要表示电脑能渲染多大范围的视野。相对相对来说视野看得越大,我们需要提供的计算能力就越多。如果世叶开到最大,你的电脑相对来说也会卡顿,这主要和电脑的配置有关,你需要不断的来回尝试调到最佳状态。
  • 主要是解决材质间过度的问题,在不同亮度的情况下,如果我们将该选项关闭。在亮度过度之间,画面会显得很生硬不自然开启则会相对来说自然平滑很多更适于肉眼的观看。
  • 决定游戏的刷新率是多少?一般来说显示器的刷新频率是60,刷新频率越高说明游戏越流畅。但如果过高会导致电脑卡机甚至死机,这主要还是根据电脑的配置来选择该选项,也需要不断的尝试之后,才可以决定最佳的刷新频率。
  • 该功能比较积累,主要的作用会使画面呈现出类似于三地效果般,主要让游戏画面会有些红蓝眼镜的效果。
  • 主要模拟的是真实感,比如你在行走或奔跑的时候,打开则会出现摇晃感,关闭的话人物则不会发生摇晃的感觉,这主要是模拟人正常行走的视觉感受。

一般都选择自动。它会根据你的窗口大小自动调节你的界面尺寸。避免出现界面过大字过小的情况。  

  • 这一个选项主要决定是否让游戏中出现云朵,但是云朵的样子并不是非常的好看。大多数情况来讲,高品质的云会呈现立方体,流畅情况下的云只是一层白色的方块而已。
  • 也跟你的电脑配置有关系,主要决定游戏画面中的细节,比如说跳动的小火花,药水的粒子的表现,甚至在燃烧时冒出黑烟,这种都属于颗粒效果,对于电脑配置有要求。如果电脑配置比较低的话,建议关闭好,首先得保证流畅度。
  • 该功能慎用,因为如果你的显示器刷新频率比较高,同时配置也很高,那能提升你的游戏流畅度。如果你的显示频率很高,但游戏配置不行会大大影响你的游戏体验。
  • 该选项如果电脑配置很高,性能有富余可以开启,主要会影响游戏材质清晰度的呈现,该等级越高,游戏材质呈现的效果越好。实体阴影主要表现的是脚底下是否会生成黑影的效果,根据个人喜好选择。
  • 一般来说就是你的鼠标方向和移动相反,如果发现自己鼠标出现问题,完全可以来检查这一项是否被选中。
  • 顾名思义,该选项数值越高,说明鼠标移动的速度越快,这主要根据个人的使用习惯来调节,我一般喜欢把它调到中间。
  • 该功能比较实用,如果你的习惯是遇到方块就跳跃,建议开启此功能,它主要的效果就是遇到一格高的方块后会自动跳跃。

资源包的载入功能首先我们要去我的世界官方平台,选择我们需要的材质组件。然后会在后台显示载入资源包的顺序,如果我们想让画面变得更有质感,可以选择一些材质组建,加载进入游戏,加载资源包的顺序一般来说。在左边那些加载后边的后加载。我们也可以通过调整载入资源包的顺序从而提高载入效率,这也是一个小技巧。

我的世界是具有一个充分灵活性的游戏,在操作方面也具有很大的选择,所以我们需要把各方面的配合都整理完成之后,才可以让游戏效果体验最好,同时充分发挥电脑配置的性能,如果你发现电脑运行我的世界,有些卡顿完全可以通过以上方法来检查是否让电脑发挥了其最大的性能。适当的牺牲掉一些材质光影的效果,不会影响到整体的流畅度,我觉得这样的设置是值得的。如果你的电脑配置非常的高,完全可以把电脑的效果发挥出来,避免浪费。当然了,可能这个月会增加电费哦。所以你们玩我的世界的电脑配置是怎么样的呢?

我要回帖

更多关于 mc渲染距离 的文章