在Assets目录下添加一个渲染器纹理,步骤:新建→渲染器纹理
首先在创建一个平面,想让视频在平面上显示。在平面上添加一个组件 Video Player
然后将视频文件拖拽到视频剪辑位置上,把渲染模式改为渲染器纹理,再将之前创建的渲染器纹理拖拽过来。
现在视频播放的所以内容都会显示在这个纹路当中,现在只用把这个渲染器纹理拖拽到这个平面上即可,效果如下:
player = GetComponent<VideoPlayer>();
if( Input.GetKeyDown(KeyCode.Space ) ){
if( player.isPlaying){
}else{
player.Play();
}
}
创建一个物体当作玩家,为该物体添加角色控制组件Character Controller。
private CharacterController player;
player = GetComponent<CharacterController>();
现在希望用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
现在拿到这个方向就可以开始移动了,朝向该方向移动
1.剔除:视椎剔除、遮挡剔除、层级等规则。将不想看到和看不到的物体排除掉。
2.渲染顺序:按距离、渲染队列等规则。为剩下的物体确认一个渲染的顺序。
4.调用Shader :SetPassCall、Drawcall。
5.GPU渲染管线:会把3D的模型数据渲染成2D的图像。将这些图像输出到一个叫帧缓冲区的一个地方 。
6.后处理;通过CPU端去拿到帧缓冲区的一个图像,然后再调用Shade在进入我们的GUP渲染管线对帧缓冲区的图像进行二次的修改(比如:说调色、Bloom之类的后处理效果),最终显示到平面面前。
1.顶点处理阶段(Vertex Shader)。
2.图元装配及光栅化阶段(硬件阶段)。
3.片元处理(Fragment Shader)。
4.输出合并。
1.剔除Culling
视锥体是指摄像机根据FOV参数、远、近裁面这几个参数共同组成的一个金字塔形状的立方体
视椎体剔除就是我们的模型会跟这个视椎体做一个碰撞检查,如果它跟我们的视椎体有相交的部分就说名应该被绘制,如果完全没有相交就说明这个模型是我们看不到的,就应该被剔除掉 。
②层级剔除(Layer Culling Mask)、遮挡剔除(Occlusion Culling)等等。
层级剔除:可以根据某一些特定层级的物体,对它进行一个选择性的排除。比如给物体单独设定一个层级,然后在Camera组件上找到一个Culling Mask选项,将之前设定的层级关闭,这样可以把这一层上面的所以物体剔除了。
对于不透明队列(RenderQueue < 2500)的情况,按摄像机距离从前到后排序
对于半透明队列(RenderQueue > 2500)的情况,按摄像机距离从后到前排序
然后将会按照渲染的顺序逐个的把场景里面所有的物体的数据给提交到GPU端。
这些打包发送给我们的GPU端的数据包含如下内容,打包好了之后回调用两个指令,GUP渲染管线收到这两个指令之后就会开始工作了。
原文地址:https://blog.csdn.net/2301_79022588/article/details/134677438
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_5167.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!