Unity3D选择性渲染技术
来源:互联网 发布:淘宝店铺双十一方案 编辑:程序博客网 时间:2024/04/28 22:28
话说大学毕业快一年了,加上在学校参加比赛做的一些游戏。实际上编程时间也有三年了。以前碰到问题总是到网上搜索答案。有时能很快的找到,有时找了很久也找不到。当找了很久都找不到想要的答案确实是十分的蛋疼。。。因此从今天开始我会陆续发一些主要关于Unity3D游戏开发,cocos2dx游戏开发,IOS,andriod应用开发,网络攻防的文章,偶尔发些关于PS,maya建模,AE视频处理,flash,DW,SQL等的文章,都是自己的一些经验体会,希望对广大的程序猿和美工设计狮们有所帮助。当然,由于本人水平有限,而且是第一次写技术博客,有什么错的地方希望大家多多指正。好了,话不多说,接下来进入正题。
在用Unity搞手机上的游戏的时候遇到一个问题,就是电脑上不卡(帧率:60),手机上很卡(帧率:20),我的伙伴(代码哥一枚)觉得是GameObject的数量太多导致的,所以我负责游戏的场景优化。
将所有东西都渲染好,这样会造成资源的浪费,所以我想让场景的东西在主角附近渲染,其他地方不渲染,这样就提升了游戏的速度,给所有场景加上tag,并且将代码附加到角色身上,具体代码如下:
using UnityEngine;
using System.Collections;
public class RenderSwitch : MonoBehaviour {
private GameObject[] go;
// Use this for initialization
//written by LHH
//written by LHH
void Start () {
go=GameObject.FindGameObjectsWithTag("sence");
}
// Update is called once per frame
void Update () {
for(int i=0;i<go.Length;i++){
if(Mathf.Abs(Vector3.Distance(go[i].transform.position, this.transform.position))<=80f){
go[i].renderer.enabled=true;
}else{
go[i].renderer.enabled=false;
}
}
}
}
思想是获得所有场景物体,在80范围内开启渲染器,80外关闭渲染器,结果发现非常有效,有必要的时候就记录一下。
思想是获得所有场景物体,在80范围内开启渲染器,80外关闭渲染器,结果发现非常有效,有必要的时候就记录一下。
0 0
- Unity3D选择性渲染技术
- Unity3D引擎之高级渲染技术
- Unity3D引擎之渲染技术系列二
- Unity3D引擎之渲染技术系列三
- Unity3D引擎之渲染技术系列四
- Unity3D引擎之渲染技术系列五
- Unity3D引擎之渲染技术系列六
- Unity3D引擎之渲染技术系列
- 在Unity3D中的渲染优化-批处理技术
- 七、根据条件选择性渲染元素
- 技术干货的选择性问题
- 技术干货的选择性问题
- 渲染技术
- Unity3D双面渲染
- Unity3D渲染优化技巧
- Unity3D 渲染统计窗口
- Unity3D 渲染路径
- Unity3d PBR海水渲染
- Zookeeper注册中心安装——dubbo服务需要
- Spring源码下载
- SQLProgress 1.01.39 正式版发布
- 利用ARC解决遗忘unlock的毛病
- 云计算、数据中心如何“联姻”
- Unity3D选择性渲染技术
- java中static作用详解
- 如何诊断rac环境下sysdate 返回错误时间问题
- 【Python基本知识】 Python中,函数参数的引用和复制
- 使用瑞道dorado-JavaScript实现复制功能
- MySQL无效datetime值问题解决
- Android ActionBar的源代码分析(一)
- windows系统下在dos命令行kill掉被占用的pid
- HashMap遍历的两种方式,推荐使用entrySet()