安装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. hive2

    4.hive优化 1)跑sql的时候会出现的参数: In order to change the average load for a reducer (in bytes): set hive.exe ...

  2. C++ 入门篇

    C++基础入门 1 C++初识 1.1 第一个C++程序 编写一个C++程序总共分为4个步骤 创建项目 创建文件 编写代码 运行程序 1.1.1 创建项目 ​ Visual Studio是我们用来编写 ...

  3. 【Flutter】容器类组件之Scaffold、TabBar、底部导航

    前言 一个完整的路由页可能会包含导航栏.抽屉菜单(Drawer)以及底部Tab导航菜单等.Flutter Material组件库提供了一些现成的组件来减少开发任务.Scaffold是一个路由页的骨架, ...

  4. Docker Java 镜像基础(四)

    基于官方提供的centos 7.2.1511 基础镜像构建JDK 和tomcat 镜像,先构建JDK镜像,然后在基于JDK镜像构建tomcat镜像 构建 centos:latest 基础镜像: # 下 ...

  5. C语言指针-从底层原理到花式技巧,用图文和代码帮你讲解透彻

    这是道哥的第014篇原创 目录 一.前言 二.变量与指针的本质 1. 内存地址 2. 32位与64位系统 3. 变量 4. 指针变量 5. 操作指针变量 5.1 指针变量自身的值 5.2 获取指针变量 ...

  6. 【Linux】rsync模板配置问题

    ------------------------------------------------------------------------------------------------- | ...

  7. 【EXPDP/IMPDP】ORACLE数据泵导入导出案例(expdp & impdp)

    概要: 因项目需要,通常需要将生产库下的部分数据抽取并恢复到测试库上 本文主要介绍数据泵导入导出的几种情况以及错误处理 案例环境: rhel-server-6.5-x86_64 oracle 11.2 ...

  8. Android事件分发机制二:viewGroup与view对事件的处理

    前言 很高兴遇见你~ 在上一篇文章 Android事件分发机制一:事件是如何到达activity的? 中,我们讨论了触摸信息从屏幕产生到发送给具体 的view处理的整体流程,这里先来简单回顾一下: 触 ...

  9. 处理K8S PVC删除后pod报错

    报错如下 Jun 19 17:15:18 node1 kubelet[1722]: E0619 17:15:18.381558 1722 desired_state_of_world_populato ...

  10. 深圳某小公司面试题:AQS是什么?公平锁和非公平锁?ReentrantLock?

    AQS总体来说没有想象中那么难,只要了解它的实现框架,那理解起来就不是什么问题了. AQS在Java还是占很重要的地位的,面试也是经常会问. 目前已经连载11篇啦!进度是一周更新两篇,欢迎持续关注 [ ...