1.使用场景
看起来屌就完事了
可以使用在FPS外挂上(?)
2.算法
2.1 逻辑
- 从相机射出一条射线(视线)指向聚焦的物体
- 如果视线上出现碰撞体,则修改其材质的透明度,并缓存(材质的渲染队列要设置为transparent)
- 如果移出碰撞的视线后,则将之前的缓存的碰撞体的材质的透明度设置回原来的,并置空
2.2 核心代码
public float FadeObjAlpha { get; set; }
private GameObject preHitObj;
void OnFadeObjectUpdate(float deltaTime)
{
Ray ray = new Ray(targetCamera.transform.position, (FocusTarget.transform.position - targetCamera.transform.position).normalized);
RaycastHit hit;
if (Physics.Raycast(ray, out hit, (FocusTarget.transform.position - targetCamera.transform.position).magnitude))