unity sprite bounds3d中任意方向bounds的提取

推荐这篇日记的豆列
&&&&&&&&&&&&unity3D技术之Bounds.IntersectRay 相交射线?
functionIntesectRay(ay:Ray):oolDesciption描述Doesayintesectthisoundingox?射线与这个边界框相交么???C#JavaSciptCeatesaaythatpointsfomtheoigintotheinfinityamongthezAxis.Andpintsifthetansfomtouchedtheay.沿着z轴,从原点到无限远,创建一条射线并且如果变换碰到射线,打印消息vaa:Ray=newRay(Vecto3.zeo,Vecto3.fowad);functionUpdate(){Coloainthesceneedito.在场景编辑器,给射线一个颜狗刨学习网色Deug.DawRay(Vecto3.zeo,Vecto3.fowad*999,Colo.geen);}.functionIntesectRay(ay:Ray,outdistance:float):oolvaounds:Bounds=tansfom.collide.if(ounds.IntesectRay(a))Deug.Log("Touchedtheay");Desciption描述Doesayintesectthisoundingox?射线与这个边界框相交么?
& 果果文库所有资源均来源于互联网,仅供网友学习交流,若侵犯了您的权益,请联系我们予以删除。
18383&&人浏览
18000&&人浏览
2938&&人浏览
1698&&人浏览
14287&&人浏览
18675&&人浏览
541&&人浏览
15696&&人浏览
547&&人浏览
16247&&人浏览
12364&&人浏览
9684&&人浏览
3715&&人浏览
8218&&人浏览
3606&&人浏览
本文标题:unity3D技术之Bounds.IntersectRay 相交射线? 链接地址:
copyright@ 2013- Inc. All Rights Reserved 果果文库 版权所有 联系站长: ; 经营许可证编号:浙ICP备号在Unity3D中,&Vector3.Dot&表示求两个向量的点积;&Vector3.Cross&表示求两个向量的叉积。&& 点积计算的结果为数值,而叉积计算的结果为向量。两者要注意区别开来。&& 在几何数学中:
&&&1.点积&& 点积的计算方式为:&&a&b=|a|&|b|cos&a,b&&&其中|a|和|b|表示向量的模,&a,b&表示两个向量的夹角。另外在&点积&中,&a,b&和&b,a& 夹角是不分顺序的。&& 所以通过点积,我们其实是可以计算两个向量的夹角的。&& 另外通过点积的计算我们可以简单粗略的判断当前物体是否朝向另外一个物体: 只需要计算当前物体的transform.forward向量与 (otherObj.transform.position & transform.position)的点积即可, 大于0则面对,否则则背对着。当然这个计算也会有一点误差,但大致够用。&
&2.叉积&& 叉积的定义:&c =a x b&&其中a,b,c均为向量。即两个向量的叉积得到的还是向量!&& 性质1:&c&a,c&b,即向量c垂直与向量a,b所在的平面&。&& 性质2:&模长|c|=|a||b|sin&a,b&&& 性质3:&满足右手法则&。从这点我们有axb & bxa,而axb = & bxa。所以我们可以使用叉积的正负值来判断向量a,b的相对位置,即向量b是处于向量a的顺时针方向还是逆时针方向。&& 根据上面的性质2,我们也同样的可以计算出两个向量的夹角。&& 下面是示例代码:
using UnityE
using System.C
public class MainScript : MonoBehaviour
private Vector3
private Vector3
void Start ()
//向量的初始化
a = new Vector3 (1, 2, 1);
b = new Vector3 (5, 6, 0);
void OnGUI ()
//点积的返回值
float c = Vector3.Dot (a, b);
//向量a,b的夹角,得到的值为弧度,我们将其转换为角度,便于查看!
float angle = Mathf.Acos (Vector3.Dot (a.normalized, b.normalized)) * Mathf.Rad2D
GUILayout.Label ("向量a,b的点积为:" + c);
GUILayout.Label ("向量a,b的夹角为:" + angle);
//叉积的返回值
Vector3 e = Vector3.Cross (a, b);
Vector3 d = Vector3.Cross (b, a);
//向量a,b的夹角,得到的值为弧度,我们将其转换为角度,便于查看!
angle = Mathf.Asin (Vector3.Distance (Vector3.zero, Vector3.Cross (a.normalized, b.normalized))) * Mathf.Rad2D
GUILayout.Label ("向量axb为:" + e);
GUILayout.Label ("向量bxa为:" + d);
GUILayout.Label ("向量a,b的夹角为:" + angle);
&上面的示例中,我们定义了两个向量a和b。分别求出了他们的点积和叉积,并通过点积和叉积来反过来计算他们的夹角。&& 这里要&说明&的是:&
& 1.&a.normalized&&和&&b.normalized&&表示的是两个向量的单位向量, 因为在公式里,有向量和模的除法,得出来的结果就是单位向量,所以我们这里和后面都直接用单位向量来计算,省去不少麻烦。&& 2.&Mathf.Rad2Deg&表示的是 单位弧度的度数。详情请见作者文章:&&&& 3.通过叉积计算度数是通过公式&|c|=|a||b|sin&a,b&&来逆向求值。|c| 其实就是叉积的模,换句话说,也代表着&Vector3.Distance (Vector3.zero, Vector3.Cross (a.normalized, b.normalized))的值。&& 结果图如下:&
阅读(...) 评论()学习需要从游戏中提取出来的模型分享一下吧【unity3d吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:73,470贴子:
学习需要从游戏中提取出来的模型分享一下吧收藏
FBX格式的文件,放到资源文件夹就能用,但是我没给模型加动作,需要动作的自己加吧。(就是这家伙,有认识他的吗?)贴吧不让上传附件啊,汗,没办法上个网盘连接吧帕克斯 网盘下载地址:
帮顶~~~ 如果有动画就更好啦~~ 方便学习呐~~
求,提取工具,小弟qq
登录百度帐号推荐应用}

我要回帖

更多关于 unity sprite bounds 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信