Unity3d开发中遇到的问题记录

摘要:
下载时安装Unity官方提供的功能齐全的免费社区版本和Visual Studio非常方便。Unity的官方文件非常权威!https://docs.unity3d.com/ScriptReference/index.html实际问题1。场景切换有时需要使用SceneManager。LoadScene()切换场景。此函数使用场景编号。在Inspector中,将画布画布的渲染模式更改为屏幕空间摄影机。然而,这可能会导致UI被普通对象阻塞。虽然可以通过设置画布到摄影机的距离来指定画布,但最好使用默认设置。但我还没有找到更好的方法。

安装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开发中遇到的问题记录》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Internal error: (org.jdom.input.JDOMParseException) Error on line 1: 文件提前结束。输入框获取焦点时value值隐藏与失去焦点时显示下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

解决Maven无法下载fastdfs-client-java依赖,Dependency 'org.csource:fastdfs-client-java:1.27-SNAPSHOT' not found.

然后,您成功地将fastdfs客户端java打包到本地Maven仓库,更新项目Maven,pom.xml文件将不会找不到fastdfs客户机java依赖项。...

Uni-app v-on监听事件

使用标记上的v-on监视事件。缩写为@click common click events方法:方法:{Focus(){console.log;},blur(){console.log;},confirm(){console.log;},click(){console.log;},tap(){console.log;},longpress(){console....

JRebel激活服务搭建

前言因为平时的开发工具是使用IntelliJIDEA,所以热部署项目代码的时候,使用的Jrebel。因为Jrebel是收费的,所以以前用的时候都是在网上找破解方法,在网上找到的办法是输入一个在线激活服务,来进行激活。由于简单方便就一直这样用的,今天早上打开IDEA后发现,Jrebel激活失效了。JRebel很好用,也是离不开大家的支持,所以如果条件允许的话,...

Oracle的分条件计数COUNT(我的条件),由浅入深

@目录本文涉及关键字COUNT、CASEWHEN和DECODE。Oracle COUNT内置函数。复杂计数。常规操作。中间操作。对中间操作的反思。高级操作。高级操作的修订版本。(你需要根据你的业务知识灵活轮换。)总结。本文涉及关键字COUNT、CASEWHEN和DECODE。Oracle计数。所有操作都基于下表作为操作对象。创建一个名为sqlcreateta...

如何使用PHP生成图片

$str)返回$result;159160$strlen=strlen;161162//每行的实际字节长度为163$oneRowNumber=$number*3;164对于{165if{166$result[$r]=mg_cn_substr。'…';167}否则{168$result[$sr]=mg_cn_substra;169}170ifbreak;171...

Nginx MIME类型配置

本文档记录Nginx静态web服务器中的MIME类型配置项。类型{text/html html;text/html-conf;image/gifgif;image/jpegjpg;}2.默认MIMEType语法:Default_typeMIME类型;默认值:Default_ typetext/plain;配置块:http、server、location当找不...