Unity3D 一些基础的3D图形学算法

原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 QQ群:【Unity3D(AR/VR) 334163814】【Unity3D(游戏) 119706192】 本文链接地址:Unity3D 一些基础的3D图形学算法


1..A点正前方,10米位置的坐标点


代码:
[csharp]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. public Transform A;  
  2. public Transform Z;  
  3.   
  4.   
  5. void Start ()   
  6. {  
  7.     正前方();  
  8.     Debug.Log("Distance:" + Vector3.Distance(A.transform.position, Z.transform.position));  
  9. }  
  10.   
  11. void 正前方()  
  12. {  
  13.     Z.transform.position = A.transform.position + Vector3.forward * 10f;  
  14. }  
运行结果:

2.A点前方Y轴45°,10米位置的坐标点

直接上代码:
[csharp]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. void 斜前方()  
  2. {  
  3.     Quaternion q = Quaternion.Euler(0, 45, 0);  
  4.     Z.transform.position = A.transform.position + q * Vector3.forward * 10f;  
  5. }  

运行结果:

3.A点到B点方向,10米位置的坐标点


柱子是B点。
这个例子用3D视角来做。
代码:
[csharp]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. void 到B方向正前方()  
  2. {  
  3.     Vector3 方向 = (B.transform.position - A.transform.position).normalized;  
  4.     Quaternion q = Quaternion.LookRotation(方向);  
  5.     Z.transform.position = A.transform.position + q * Vector3.forward * 10f;  
  6.   
  7.     Debug.Log("Distance A-B:" + Vector3.Distance(A.transform.position, B.transform.position));  
  8. }  
运行结果:

4.A点到B点方向Y轴偏移45°,10米位置的坐标点

这个例子将B点与A点放在了同一高度,继续使用2D视角。
代码:
[csharp]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. void 到B方向斜前方()  
  2. {  
  3.     Vector3 方向 = (B.transform.position - A.transform.position).normalized;  
  4.     Quaternion q = Quaternion.LookRotation(方向) * Quaternion.Euler(0,45,0);  
  5.     Z.transform.position = A.transform.position + q * Vector3.forward * 10f;  
  6.   
  7.     Debug.Log("Distance A-B:" + Vector3.Distance(A.transform.position, B.transform.position));  
  8. }  
运行结果:
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值