资源简介
实时遮挡剔除 无需垬焙,内附使用说明,有三个脚本,可实现遮挡剔除的效果,降低渲染压力,提升运行速度

代码片段和文件信息
using UnityEngine;
using System.Collections;
public class IOCcam : MonoBehaviour {
public layerMask layerMsk;
public string iocTag;
public int samples;
public float viewDistance;
public int hideDelay;
public bool realtimeShadows;
public float lod1Distance;
public float lod2Distance;
public float lodMargin;
private RaycastHit hit;
private Ray r;
private int layerMask;
private IOClod l;
private int haltonIndex;
private float[] hx;
private float[] hy;
private int pixels;
private Camera cam;
void Awake () {
cam = GetComponent();
hit = new RaycastHit();
if(viewDistance == 0) viewDistance = 100;
cam.farClipPlane = viewDistance;
haltonIndex = 0;
if(this.GetComponent() == null)
{
gameobject.AddComponent().GetComponent().isTrigger = true;
}
}
void Start () {
pixels = Mathf.FloorToInt(Screen.width * Screen.height / 2f);
hx = new float[pixels];
hy = new float[pixels];
for(int i=0; i < pixels; i++)
{
hx[i] = HaltonSequence(i 2);
hy[i] = HaltonSequence(i 3);
}
foreach(Gameobject go in Gameobject.FindobjectsOfType(typeof(Gameobject)))
{
if(go.tag == iocTag)
{
if(go.GetComponent() == null)
{
go.AddComponent().enabled=true;
}
}
}
}
void Update () {
for(int k=0; k <= samples; k++)
{
r = cam.ViewportPointToRay(new Vector3(hx[haltonIndex] hy[haltonIndex] 0f));
haltonIndex++;
if(haltonIndex >= pixels) haltonIndex = 0;
if(Physics.Raycast(r out hit viewDistance layerMsk.value))
{
if(l = hit.transform.GetComponent())
{
l.UnHide(hit);
}
else if(l = hit.transform.parent.GetComponent())
{
l.UnHide(hit);
}
}
}
}
private float HaltonSequence(int index int b)
{
float res = 0f;
float f = 1f / b;
int i = index;
while(i > 0)
{
res = res + f * (i % b);
i = Mathf.FloorToInt(i/b);
f = f / b;
}
return res;
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2003 2017-05-25 14:04 实时遮挡剔除\IOCcam.cs
文件 1982 2017-05-25 14:04 实时遮挡剔除\IocEditor.cs
文件 8248 2017-05-25 14:04 实时遮挡剔除\IOClod.cs
文件 302 2018-01-23 15:22 实时遮挡剔除\实时遮挡剔除说明.txt
目录 0 2018-09-04 17:55 实时遮挡剔除
----------- --------- ---------- ----- ----
12535 5
- 上一篇:AD5422芯片的C程序应用
- 下一篇:MPI并行遗传算法
相关资源
- Unity3D登录界面工程
- unity3d反编译工具
-
UnityWebPla
yerFull - Unity纪念碑谷.rar
- Unity3d实现扭动挤压浏览效果
- unity案例入门坦克大战源码
- Unity3D游戏开发.pdf 宣雨松著完整高清
- Unity3D版水果忍者
- unity3d爆炸特效包
- unity3d_见缝插针源码及报告.zip
- Unity3d车库场景模型
- unity3d 警察动画模型
- unity3D 新手引导遮罩,支持圆形和矩形
- unity3d枪支武器包FPS第一人称射击游戏
- unity3d制作贪吃蛇
- unity3D暴力街区射击大战游戏源码
- Unity3D 实战视频教程 保卫萝卜 2D 游戏
- unity3d调用中央气象局城市天气数据,
- Unity 3D Paint in 3D (1.7.3)
- 2014年最新最好的Unity3d圣典之中文脚本
- Unity3D搓牌效果支持4个方向
- Unity3D课程设计 模拟火焰效果
- 贝塞尔曲线的unity3d实现
- [资源插件]Unity3D_UGUI HUD Text v1.4.1.zip
- ShaderlabVSCode 1.1.6.unitypackage
- Camera Path Animator unity3d 插件
- Unity录屏模块封装清晰的可调AVPro Mo
- FBX格式人物模型,资源齐全,带动画
- Unity3D 3D炸弹超人Demo
- unity3d坐标轴插件
评论
共有 条评论