U3D中坐标位置的表示

====1===
物体A前后左右上下7米处坐标表达
          Vector3 qian = A.transform.position + A.transform.forward * 7f;//物体A前方7米的坐标.
          Vector3 hou = transform.position +  (transform.rotation * Vector3.back)*7f;
          Vector3 zuo = transform.position + (transform.rotation * Vector3.left)*7f;
          Vector3 you = transform.position + transform.right * 7f;
          Vector3 shang = transform.position + transform.up * 7f;
          Vector3 xia = transform.position +  (transform.rotation * Vector3.down)*7f;

          Debug.DrawLine (transform.position,qian,Color.red);
          Debug.DrawLine (transform.position,hou,Color.blue);
          Debug.DrawLine (transform.position,zuo,Color.black);
          Debug.DrawLine (transform.position,you,Color.green);
          Debug.DrawLine (transform.position,shang,Color.gray);
          Debug.DrawLine (transform.position,xia,Color.white);

=====2===
角色Y轴80度方向,前方5米处的坐标
float angle = 80f;
float length = 5f;
Quaternion q = Quaternion.Euler(transform.rotation.eulerAngles.x,angle, transform.rotation.eulerAngles.z); ///求出第i个点的旋转角度
Vector3 Point = transform.position +(q*transform.forward) * length;
更多注释
//360代表(360度,把360分成多少分,第几份).如果a = 4前方a=2后方a= 3右方a=1左方
//Quaternion q = Quaternion.Euler(transform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y - (360/4 * a), transform.rotation.eulerAngles.z); ///求出第i个点的旋转角度


//运行代码
void Update () 
{
Vector3 qian = transform.position + transform.forward * 7f;
Vector3 hou = transform.position +  (transform.rotation * Vector3.back)*7f;
Vector3 zuo = transform.position + (transform.rotation * Vector3.left)*7f;
Vector3 you = transform.position + transform.right * 7f;
Vector3 shang = transform.position + transform.up * 7f;
Vector3 xia = transform.position +  (transform.rotation * Vector3.down)*7f;
Debug.DrawLine (transform.position,qian,Color.red);
Debug.DrawLine (transform.position,hou,Color.blue);
Debug.DrawLine (transform.position,zuo,Color.black);
Debug.DrawLine (transform.position,you,Color.green);
Debug.DrawLine (transform.position,shang,Color.gray);
Debug.DrawLine (transform.position,xia,Color.white);

float angle = 80f;
float length = 5f;
Quaternion q = Quaternion.Euler(transform.rotation.eulerAngles.x,angle, transform.rotation.eulerAngles.z); ///求出第i个点的旋转角度
Vector3 Point = transform.position +(q*transform.forward) * length;
Debug.DrawLine (transform.position, Point, Color.yellow);

}

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值