判断物体位于什么位置,用于添加方向指针
2016-09-21 17:23
274 查看
using UnityEngine;
using System.Collections;
public class TargetPoingt : MonoBehaviour
{
public Shiyepanduan shiye;
public GameObject left;
public GameObject right; //指针物体
public Transform targetTF; //目标物体,就是判断该物体位于自身的哪个方位,被判断物体,将此脚本挂在中心物体上,以他为中心判断目标物体的位置。
void Start()
{
}
void Update()
{
checkTargetDirForMe(targetTF);
}
void checkTargetDirForMe(Transform target)
{
Vector3 dir = target.position - transform.position;
Vector3 cross = Vector3.Cross(transform.right, dir.normalized);
float dot = Vector3.Dot(transform.right, dir.normalized);
if (cross.y >0)
// cross.y是判断位于左侧还是右侧
//dot>0用于判断位于上下两侧。如果要判断前后两侧,只需修改 Vector3 cross = Vector3.Cross(transform.right, dir.normalized)里面的tranform.right,改成tranform.forword 或者tranform.up.
{
right.SetActive(true);
left.SetActive(false);
}
if (cross.y < 0)
{
left.SetActive(true);
right.SetActive(false);
}
}
}
}
using System.Collections;
public class TargetPoingt : MonoBehaviour
{
public Shiyepanduan shiye;
public GameObject left;
public GameObject right; //指针物体
public Transform targetTF; //目标物体,就是判断该物体位于自身的哪个方位,被判断物体,将此脚本挂在中心物体上,以他为中心判断目标物体的位置。
void Start()
{
}
void Update()
{
checkTargetDirForMe(targetTF);
}
void checkTargetDirForMe(Transform target)
{
Vector3 dir = target.position - transform.position;
Vector3 cross = Vector3.Cross(transform.right, dir.normalized);
float dot = Vector3.Dot(transform.right, dir.normalized);
if (cross.y >0)
// cross.y是判断位于左侧还是右侧
//dot>0用于判断位于上下两侧。如果要判断前后两侧,只需修改 Vector3 cross = Vector3.Cross(transform.right, dir.normalized)里面的tranform.right,改成tranform.forword 或者tranform.up.
{
right.SetActive(true);
left.SetActive(false);
}
if (cross.y < 0)
{
left.SetActive(true);
right.SetActive(false);
}
}
}
}
相关文章推荐
- ftell函数的用法(用于获取指针位置)
- JS判断鼠标从什么方向进入一个容器实例说明
- 怎么判断mp4文件的第一个关键帧在什么位置
- ldd 命令用于判断某个可执行的binary档案含有什么动态链接库(so)
- unity 用点乘和叉乘来判断 物体与人物的相对位置
- UIView设置为自动适配屏幕时,当用户旋转设备的时候,会调用layoutSubviews方法,我们只需重写 这个方法,然后判断用户屏幕的方向。在调整每个空间的位置即可。
- 未能加载视图状态。正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配。例如,当以动态方式添加控件时,在回发期间添加的控件必须与在初始请求期间添加的控件的类型和位置相匹配
- 判断鼠标从什么方向进入元素
- 【图形】点与直线位置判断(求点位于那两条直线之间)
- 什么是HADOOP、产生背景、在大数据、云计算中的位置和关系、国内外HADOOP应用案例介绍、就业方向、生态圈以及各组成部分的简介(学习资料中的文档材料)
- JS判断鼠标从什么方向进入一个容器实例说明
- UILabel设置位置 不管是什么控件 添加到某个位置或者某控件上 都要设置它的frame值 否则是看不到的
- 判断鼠标从什么方向进入容器的算法分析
- ftell函数的用法(用于获取指针位置)
- 未能加载视图状态。正在向其中加载视图状态的控件树必须与前一请求期间用于保存视图状态的控件树相匹配。例如,当以动态方式添加控件时,在回发期间添加的控件必须与在初始请求期间添加的控件的类型和位置相匹配。
- fseek函数的用法(用于设定指针位置)
- C#如何添加鼠标滚轮事件以及判断鼠标滚轮的方向
- 低帧速下判断移动物体到达目标位置
- 两物体相对位置、追踪速度方向、朝向等计算方向以及角度
- ios 用于调试的语句,在代码中添加容易定位位置