中国纵横168网站建设系统,网上商城英文,十大it教育培训机构排名,旅游电子商务与网站建设一、视频播放功能
1.如何让视频在游戏场景中播放#xff1f;
在Assets目录下添加一个渲染器纹理#xff0c;步骤#xff1a;新建→渲染器纹理 首先在创建一个平面#xff0c;想让视频在平面上显示。在平面上添加一个组件 Video Player 然后将视频文件拖拽到视频剪辑位置上…一、视频播放功能
1.如何让视频在游戏场景中播放
在Assets目录下添加一个渲染器纹理步骤新建→渲染器纹理 首先在创建一个平面想让视频在平面上显示。在平面上添加一个组件 Video Player 然后将视频文件拖拽到视频剪辑位置上把渲染模式改为渲染器纹理再将之前创建的渲染器纹理拖拽过来。
现在视频播放的所以内容都会显示在这个纹路当中现在只用把这个渲染器纹理拖拽到这个平面上即可效果如下 运行游戏后就可以播放了。
2.用脚本控制播放
player GetComponentVideoPlayer();
void updata (){
if( Input.GetKeyDown(KeyCode.Space ) ){ if( player.isPlaying){ player.Stop(); }else{ player.Play(); } }
二、通过脚本控制物体
创建一个物体当作玩家为该物体添加角色控制组件Character Controller。 在脚本中得到这个组件
private CharacterController player; player GetComponentCharacterController();
现在希望用W、A、S、D去控制角色由于这些方向按键会获取两个轴向数值
水平轴float horizontal Input.GetAxis(Horizontal);
垂直轴float vertical lnput.GetAxis(Vertical);
当我们按了A D的时候就会返回-1和1的数值 并且这些数值是渐进的过程。
然后通过这两个轴向就可以知道是否按了哪个方向键了。
再将其创建成为方向向量
Vector3 dir new Vector3(horizontal,0, vertical);
同时可以检测这个方法向量按下对于的键可以生成对应的方向向量
Debug.DrawRay(transform.position, dir,Color.red); 比如按S 现在拿到这个方向就可以开始移动了朝向该方向移动
player.SimpleMove(dir);
三、Unity Build-in渲染管线
渲染流程
首先调用Randor开始渲染
1.剔除:视椎剔除、遮挡剔除、层级等规则。将不想看到和看不到的物体排除掉。
2.渲染顺序:按距离、渲染队列等规则。为剩下的物体确认一个渲染的顺序。
3.打包数据含大量数据、参数。
4.调用Shader :SetPassCall、Drawcall。
5.GPU渲染管线会把3D的模型数据渲染成2D的图像。将这些图像输出到一个叫帧缓冲区的一个地方 。
6.后处理通过CPU端去拿到帧缓冲区的一个图像然后再调用Shade在进入我们的GUP渲染管线对帧缓冲区的图像进行二次的修改比如说调色、Bloom之类的后处理效果最终显示到平面面前。 其中GPU渲染管线内容一共四个步骤
1.顶点处理阶段(Vertex Shader)。 2.图元装配及光栅化阶段(硬件阶段)。 3.片元处理(Fragment Shader)。 4.输出合并。 简略介绍CUP应用程序阶段
1.剔除Culling
①视椎体剔除(Frustum Culling)
视锥体是指摄像机根据FOV参数、远、近裁面这几个参数共同组成的一个金字塔形状的立方体
视椎体剔除就是我们的模型会跟这个视椎体做一个碰撞检查如果它跟我们的视椎体有相交的部分就说名应该被绘制如果完全没有相交就说明这个模型是我们看不到的就应该被剔除掉 。
对于复杂模型的表面会生成一个AABB的包围盒 就用简单的一个AABB包围盒跟这个视椎体做一个碰撞检测。
②层级剔除(Layer Culling Mask)、遮挡剔除(Occlusion Culling)等等。
层级剔除可以根据某一些特定层级的物体对它进行一个选择性的排除。比如给物体单独设定一个层级然后在Camera组件上找到一个Culling Mask选项将之前设定的层级关闭这样可以把这一层上面的所以物体剔除了。
2.排序Sort
①渲染队列 RenderQueue。 这个数值越小就表明越先渲染 。如果数值相等就分以下两种情况
对于不透明队列(RenderQueue 2500)的情况按摄像机距离从前到后排序
对于半透明队列(RenderQueue 2500)的情况按摄像机距离从后到前排序
然后将会按照渲染的顺序逐个的把场景里面所有的物体的数据给提交到GPU端。
这些打包发送给我们的GPU端的数据包含如下内容打包好了之后回调用两个指令GUP渲染管线收到这两个指令之后就会开始工作了。