【Unity】当摄像机被墙挡住后,墙消失,相反则出现
来源:互联网 发布:mac 文件共享 编辑:程序博客网 时间:2024/05/27 00:40
//首先,不好意思,可能标题的描述并不是很清楚
//我们现在的场景是这样的,一个摄像机在高处,场景中间有一面高墙,墙的后面有一个球形物体
//高度够高的时候我们可以看到球形物体,当摄像机的y轴下降的时候,就只能看到墙,看不到球形物体
//而我们现在的需求是,当球形物体被墙挡住的时候,我们想让墙消失,y轴够高的时候,又让墙出现
//好了,接下来看我们的代码吧~
using UnityEngine;
using System.Collections;// 首先这个脚本放到我们的球身上
public class NewBehaviourScript : MonoBehaviour {
public GameObject Wall;
void Update () {
// 这行代码并没神马用,只是为了方便观察,在球形物体和摄像机之间画一条线
Debug.DrawLine(Camera.mainCamera.transform.position,gameObject.transform.position, Color.red);
// 把球体的三维坐标转成屏幕的二维坐标,因为如果使用空间的三维坐标来计算,摄像机发射的射线很有可能是不会被墙挡住的
// 但是我们在屏幕上显示就不一样了,屏幕是二维坐标,它不管你三维空间有没有挡住啊,反正在二维坐标看起来球体就是被挡住了
// 所以我们需要进行一个三维到二维坐标的转换
Vector3 a = Camera.main.WorldToScreenPoint(gameObject.transform.position);
// 现在我们把以前常用的鼠标输入的二维坐标换成上面的a(大家原谅我简介不明了的命名规范吧 - -!)
Ray ray = Camera.main.ScreenPointToRay(a);
// 定义一个打击信息
RaycastHit hit;
// 如果射线打击到了物体
if (Physics.Raycast(ray, out hit) ){
// 这里的Wall是我给墙那个物体起的名字,如果打击到的物体名字是Wall的话
if (hit.transform.name == "Wall"){ // 让墙的网格渲染器不激活
Wall.transform.GetComponent<MeshRenderer>().enabled = false;
}
else
{ // 如果射线打击到的物体不是墙,就让墙的网格渲染器激活
Wall.transform.GetComponent<MeshRenderer>().enabled = true;
}
}
}
}
- 【Unity】当摄像机被墙挡住后,墙消失,相反则出现
- 当提交表单的时候,页面上所有内容被一几乎透明的层挡住,提交完成后这个层消失
- 如何能实现文本框默认值,鼠标单击后消失,当鼠标焦点消失默认值又出现
- Unity摄像机
- Unity 摄像机
- unity 摄像机
- 十年后,当47%工作岗位消失了,什么人不会被淘汰?
- Unity鼠标出屏幕后 摄像机跟随鼠标方向移动
- 当UITextField被系统键盘挡住的时候如何解决
- 当VC消失后,tabBar执行选中某个item代码
- 当git仓库checkout出现文件消失的处理方法
- 跳转后TabBar消失,返回后TabBar出现
- Unity实现物体逐渐消失(逐渐出现)
- DialogFragment被dissmiss()出现Activity的title栏后又消失
- 【Unity】当人物主角被障碍物遮挡后,将障碍物半透明化
- 【Unity】当人物主角被障碍物遮挡后,将障碍物半透明化
- 【Unity】当人物主角被障碍物遮挡后,将障碍物半透明化
- Unity_相机跟随避免被墙挡住的一个解决方法
- Tomcat version 6.0 only supports J2EE 1.2,1.3,1.4,and java EE 5
- Java Map按键(Key)排序和按值(Value)排序
- Theano2.1.11-基础知识之稀疏
- Android出现“R cannot be resolved to a variable"
- JavaScript 闭包学习
- 【Unity】当摄像机被墙挡住后,墙消失,相反则出现
- 如何解决web系统session劫持
- Memcache(MC)系列(八)Memcache ketama一致性哈希算法
- [mysql5.6] 主从更换ip之后重新建立同步
- 关于信号量sem
- python的多进程编程(3)
- 云服务器的配置参考
- 7个你可能不认识的CSS单位
- 关于combobox的下拉选择与键盘输入的统一