unity3d 脚本基础认识8-Ray 光射线

unity3d 脚本基础认识8-Ray 光射线

基本结构: Ray( Vector3 (开始座标), Vector3 (设定方向) )

会算出一条从开始座标~往设定方向持续延伸的无穷远射线

常用于某段距离之间的限制或着之外的限制

例: 假设场景里物件都距离Camera 10以内只有背景图超过10

If(Input.GetMouseButton(0)){

var ray : Ray = Camera.main.ScreenPointToRay(Input.mousePostion);

if( Physics.Raycast( ray , 10 )){ 执行距离10以内物件控制 }

if( ! Physics.Raycast( ray , 10 )){ 执行距离10以外背景控制}}

此方法必须整个场景距离10内只有一样物件

否则点击下去所有点击到距离10以内物品都算是条件内无法做针对特定的控制

想取得某特定物件被点击到的侦测

If(Input.GetMouseButton(0)){

var ray : Ray = Camera.main.ScreenPointToRay(Input.mousePostion);

var hit : RaycastHit;

if( collider.Raycast( ray , hit , 10 )){ 执行距离10以内点击到物件的控制}}

如果以此脚本来说这必须放置在被点击到的物件上

Camera.main.ScreenPointToRay(Input.mousePostion)

抓取一条从Camera座标开始往Mouse点击座标方向的射线

其他较特别的应用必须去尝试有碰到在补充

文章转自:http://www.unity3d8.com/content/%E8%84%9A%E6%9C%AC%E5%9F%BA%E7%A1%80%E8%AE%A4%E8%AF%868-%E5%85%89%E5%B0%84%E7%BA%BF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值