安装Unity

unity官方提供免费的community版本,功能健全,下载时还有Visual Studio,非常方便。

官方文档

Unity的官方文档非常权威!详尽!可靠!很多关于函数细节的疑惑都可直接查阅文档解决!

https://docs.unity3d.com/ScriptReference/index.html

实际遇到的问题

1.场景切换

有时候需要用SceneManager.LoadScene()切换场景(如开始界面和实际游戏界面),该函数使用的是场景编号。而场景编号需要在文件-Building and Setting中手动添加,添加后场景编号会自动显示在其右侧。

2.按钮绑定函数

将需要进行的操作写在public声明的函数中。按钮本身还需要把自己添加到自己的“鼠标单击()”事件中!然后选定自己选定的函数。

3.让Canvas动起来!

在检查器中,将Canvas画布的渲染模式改为屏幕空间-摄像机。就能很方便地让UI适应玩家屏幕了。但这可能导致UI被普通物体遮挡,虽然可以通过设定画布到摄像机距离来指定Canvas,但最好还是使用默认设置。

实际遇到的细节

1. 旋转物体指向某目标

综合尝试过后,最简单的方法是使用transform.LookAt()看向目标物体,但需注意,不同物体的高度(y轴值)可能不同,但通常我们旋转物体只是想要获得水平方向的转动(也即y值不变)。所以最好新构建一个三维向量,拥有目标物体的x和z值,但拥有自身的y值(也就是说,构建一个虚拟目标):new Vector3(target.transform.position.x, this.transform.position.y, target.transform.position.z)

2.寻找附近物体

这方法有人说性能很低,但实现起来相对简单,没有测试过大量目标的场景。

使用Physics.OverlapSphere()方法获取附近一定范围的碰撞器,可以使用一个collider的数组来获取结果。如果要获得最近物体,可对数组内物体距离进行排序。这有可能导致性能下降。但笔者暂未找到更好的方法。

持续更新

Unity3d开发中遇到的问题记录的更多相关文章

  1. react + antiDesign开发中遇到的问题记录

    react + antiDesign开发中遇到的问题记录 一:页面中子路由失效: antiDesign的官方实例中,会把路由重复的地方给去重,而且路由匹配模式不是严格模式.所以我们需要在util.js ...

  2. 个人理解---在开发中何时加入日志记录功能[java]

    是这样的:俩个月前做的一个小功能,今天经理突然问我这个'清除复投记录'功能是不是我做的,我说是,很久以前了.他说昨天一个客户找过来了,后台把人家的复投记录清除掉了,不知道何时清除的,我记得当时做的时候 ...

  3. Unity3d开发中与oc交互之类型转换

    对于非科班出身的程序来说,在没有学过C和OC的情况,用unity开发iOS相关的功能,是非常痛苦的.简单写一下自己遇到的,并且没有百度到的坑. 1.C#给OC传递字典 一般流程是,C#调用C,C调用O ...

  4. 【Django】DRF开发中的一些技巧记录

    问题记录 问题1:信号没有按预期触发 描述 编写了信号函数后,并没有如预期一般在必要时候触发,函数如下: @receiver(signals.post_save, sender=Prometheus) ...

  5. Ionic开发中常见问题和解决方案记录

    1npm按装包失败 更换源:npm config set registry https://registry.npm.taobao.org 或者使用cnpm sudo npm install -g c ...

  6. unity3d开发的android应用中增加AD系统的详细步骤

    unity3d开发的android应用中增加AD系统的详细步骤 博客分类: Unity3d unity3d  Unity3d已经支持android,怎样在程序里增加admob?  试了一下,确实能够, ...

  7. TDD在Unity3D游戏项目开发中的实践

    0x00 前言 关于TDD测试驱动开发的文章已经有很多了,但是在游戏开发尤其是使用Unity3D开发游戏时,却听不到特别多关于TDD的声音.那么本文就来简单聊一聊TDD如何在U3D项目中使用以及如何使 ...

  8. Unity3d Android Http 开发中的坑(吐槽

    在一般的U3D网络开发中,直接使用WWW类便足够正常使用,但我在发现使用WWW下载大文件时,会导致整个程序卡顿的情况(不清楚是否我个人电脑问题),所以干脆使用HttpWebRequest/HttpWe ...

  9. java 组件开发中的日志记录问题

    今天帮别人写封装几个url 请求,打成jar 包,可以以java接口的方式提供给外部访问. 遇到两个问题: 1. 是否把依赖的jar包也 打入 我要生成的jar包中,如果你不打入,别人直接调用接口会报 ...

随机推荐

  1. PPT 转 word

    可以wps  直接转 打开wps   在页面里直接点击右键  可以导出wps

  2. Spring Cloud Gateway 跨域 CORS 配置方式实现

    网上找了一堆文章全是说这样写无效 globalcors: cors-configurations: '[/**]': allowCredentials: true allowedOriginPatte ...

  3. nodejs中的文件系统

    . 目录 简介 nodejs中的文件系统模块 Promise版本的fs 文件描述符 fs.stat文件状态信息 fs的文件读写 fs的文件夹操作 path操作 简介 nodejs使用了异步IO来提升服 ...

  4. Linux面试必备

    1.Linux的体系结构

  5. Mybatis 报错java.sql.SQLException: No suitable driver found for http://www.example.com

    运行项目报错 Error querying database. Cause: java.sql.SQLException: No suitable driver found for http://ww ...

  6. 【Oracle】修改列的大小

    alter table 表名 modify column_name varchar2(32)  alter table 表名 modify (column_name1 varchar(20) defa ...

  7. LeetCode993. 二叉树的堂兄弟节点

    题目 1 class Solution { 2 public: 3 TreeNode* r1;TreeNode* r2; 4 bool isCousins(TreeNode* root, int x, ...

  8. 实操|如何将 Containerd 用作 Kubernetes runtime

    日前专为开发者提供技术分享的又拍云 OpenTalk 公开课邀请了网易有道资深运维开发工程师张晋涛,直播分享<Containerd 上手实践 >,详细介绍 Containerd 的发展历程 ...

  9. migo的BAPI示例BAPI_GOODSMVT_CREATE

    1 *&---------------------------------------------------------------------* 2 *& Report Z_BAP ...

  10. ABAP-ALV-如何去掉OO方法中的ALV的标准按钮

    SAP在做报表开发中,不同公司对报表的风格往往各异,为此经常在使用OO方法做ALV报表中需要去掉自带的工具栏而自行添加一些工具按钮,下面将简单介绍一些其实现过程与原理: 步骤一: DATA : gt_ ...