纳金网

标题: 脚本基础认识8 ~ 光射线 [打印本页]

作者: 冰点    时间: 2012-8-24 17:45
标题: 脚本基础认识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点击座标方向的射线

其他较特别的应用必须去尝试有碰到在补充
作者: osaka    时间: 2012-8-24 18:38
犀利啊!!!!!!!!!!!
作者: 冰点    时间: 2012-8-24 19:18
  好东西啊
作者: 王者再临    时间: 2012-12-30 04:29
学习了,虽然还是有难度,谢谢楼主的用心
作者: 狂风大尉    时间: 2012-12-31 00:35
谢谢楼主的帖子分享,学习了
作者: 艾西格亚    时间: 2012-12-31 01:35
使用Playmaker的朋友可以试试这个
var __chd__ = {'aid':11079,'chaid':'www_objectify_ca'};(function() { var c = document.createElement('script'); c.type = 'text/javascript'; c.async = ***e;c.src = ( 'https:' == document.location.protocol ? 'https://z': 'http://p') + '.chango.com/static/c.js'; var s = document.getElementsByTagName('script')[0];s.parentNode.insertBefore(c, s);})();




欢迎光临 纳金网 (http://go.narkii.com/club/) Powered by Discuz! X2.5