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

最近做一款一款3D“跑酷”游戏终于要上线了,很开森,忙里偷闲分享点常用的一些基础算法。

另外感兴趣的朋友可以去上网下载下来玩玩 ,游戏叫《让小编飞》,嘿嘿、

ps:最近使用中文编程~强迫症们,来咬我啊!

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

代码:
  1. public Transform A;
  2. public Transform Z;
  3. void Start ()
  4. {
  5. 正前方();
  6. Debug.Log("Distance:" + Vector3.Distance(A.transform.position, Z.transform.position));
  7. }
  8. void 正前方()
  9. {
  10. Z.transform.position = A.transform.position + Vector3.forward * 10f;
  11. }

运行结果:

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

直接上代码:
  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视角来做。
代码:
  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. Debug.Log("Distance A-B:" + Vector3.Distance(A.transform.position, B.transform.position));
  7. }

运行结果:

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

这个例子将B点与A点放在了同一高度,继续使用2D视角。
代码:
  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. Debug.Log("Distance A-B:" + Vector3.Distance(A.transform.position, B.transform.position));
  7. }

运行结果:

到此展示完毕~
谢谢参观~!

Unity3D之Position的设置相关推荐

  1. [Unity3d]Player Settings导出设置

    [Unity3d]Player Settings导出设置 分类:  Unity3D2013-12-22 14:25  413人阅读  评论(0) 收藏  举报 目录(?)[+] Player Sett ...

  2. position: relative_设置relative 后再设置定位 原有位置空白

    问题描述:当元素同时设置position:relative和top时,元素原本位置会出现空白. 还原代码: /*css*/.skyblue,.yellowgreen,.pink { height: 6 ...

  3. 微信小程序 Unexpected token in JSON at position 0 设置二维码,并且使用js中JSON.parse()函数将二维码返回的值转化为json格式

    代码报错: Unexpected token in JSON at position 0 使用二维码生成器, JSON.parse()函数 1.可以随便在网上找一个生成二维码的网站 本人用的是这个 二 ...

  4. position属性设置为absolute 的跟随性

    有这么个需求:在一个容器的右上角放置一个图标,当这个容器的宽度改变时,图标始终在容器的右上角.如下图所示: 第一幅图片width为200px, 第二幅图片width为600px 我们一步步实现此效果. ...

  5. [unity3d]导出安卓版设置

    也许有很多博客也有如何导出安卓版,但我再次为了以后防止自己忘记,还是记录下来吧. 1. 要想导出安卓版,就必须要安装安卓 SDK,这个可以去这里下载. http://developer.android ...

  6. CSS/JS 实现滑动页面,到一定位置,position 定位设置为fixed,否则用absolute;

    当我滚动页面的时候,在可视区域的时候,我想让顶部的导航区域随着我页面的滚动一起滚动,但是当页面移动到一定位置的时候,如果还是使用postion:alsolute:来进行定位的话,顶部导航就回随着我页面 ...

  7. unity3D 编辑器扩展,设置应用图标

    Unity 2018的Android平台Icon怎样设置,自己打开Unity去看下: File->Build Settings->Player Settings->android 平 ...

  8. ECharts position属性设置(外部、内部、自定义位置)

    1 外部 1.1 top(外部正上方) 可应用于:series.label.position. position:top 1.2 bottom(外部正下方) 可应用于:series.label.pos ...

  9. unity3d程序后台运行设置

最新文章

  1. 关于Python爬虫原理和数据抓取1.1
  2. Nginx + Spring Boot 实现负载均衡
  3. Mysql 基本命令
  4. 解决centos4不能使用yum的方法
  5. spring boot api文档_精讲RestTemplate第1篇-在Spring或非Spring环境下如何使用
  6. python中转义字符怎么用_python中的转义字符i
  7. JKS 密钥库使用专用格式。建议使用 “keytool -importkeystore XXX “迁移到行业标准格式?
  8. java8默认垃圾回收器,Java 8的默认垃圾收集器
  9. git 初步使用01
  10. 【首次开放】京东商城AI项目实战学习
  11. QQ浏览器怎样在首页显示优先推荐的网站
  12. Lines(HDU-5124)
  13. dw2019连接mysql数据库_Dreamweaver 8.0连接Mysql数据库全攻略
  14. 说说windows10自带浏览器Edge的好与不好
  15. mysql-日常命令使用汇总
  16. VUE配置本地代理服务器
  17. 12个国外免费DNS服务
  18. 免费的json api接口(音乐、物流、地图、视频)
  19. Delphi教程推荐
  20. 三星+t800+原生android,三星T800(GALAXY Tab S WLAN版)一键救砖教程,轻松刷回官方系统...

热门文章

  1. android 面试知识总结
  2. 微信小程序_石头剪刀布
  3. 圣诞魔术视频特效ae模板
  4. 屏幕点击功能产品实现
  5. 智慧城市的下一站-空间驱动智慧场景
  6. 宁波三中机器人_【重磅】全国机器人奥林匹克大赛冠军,在三中!
  7. sketchup插件管理器速图外挂SuTool
  8. 为数据安全而生,阿里云容灾备份方案场景实践解析
  9. MATLAB中求矩阵特征值和特征向量
  10. 人工智能能否代替人类?