Unity学习笔记 - 第一个Hello World都算不上的项目

一、Unity安装

        这里不细说安装了,首先需要Visual Studio,然后要安装Unity Hub,Unity Hub就像一个管理平台,安装完它之后,可以在它的界面上选择安装各个版本的编辑器。

开始您的创意项目并下载 Unity Hub | Unity通过 3 个简单的步骤下载 Unity,开始使用世界上颇受欢迎的开发平台,打造 2D 和 3D 多平台体验和游戏。icon-default.png?t=N7T8https://unity.com/cn/download        我安装了一个最新的,还有一个比较古老的,之前为了看一个古老的项目里面的东西,所以装了一下。

         有意思的是,Unity Hub还附带一个叫Tuanjie Hub的东西,是专门为中国提供的,为了适应微信、鸿蒙等,不过这里暂时不关心。

二、创建项目

        我们还是在Unity Hub的界面就可以直接创建项目,

        你可以看到下面有很多的选项,不用担心选错,也不需要纠结,这些选项只是决定了编辑器的一些设定,之后随时可以更改。通常选择2D或者3D就成。

        PS:HDRP(High Definition Render Pipeline,高清渲染管线)和URP(Universal Render Pipeline,通用渲染管线)都是Unity 可编程渲染管线(Scriptable Rendering Pipeline)中的一种,它们使开发者可以自己控制项目的渲染效果,说实话不是很明白。

        点击创建项目,选择路径等之后,会进入加载界面,实际上是生成文件的过程,还挺大的,耐心等待。

三、熟悉IDE

1、主界面

        上一步创建好项目之后,一进来是这样的一个界面。

        1、上图左上的Project部分,任何为项目服务的东西(文件、代码、纹理、模型等)都能在项目视图中找到。在其下的Assets文件夹中的每一个文件都是一个资源,包括纹理、网格、声音、代码等;而游戏对象是指一个场景或某一个关卡中的物体,你可以用游戏对象新建资源,也可以用资源新建游戏对象。

        单击Favorites(包含已有的搜索标签)选项可以快速浏览指定文件类型的所有资源,这样就可以快速查看你的各种资源。单击Favorites下的某个选项[如All Models(所有模型)]或在内置的搜索栏中进行搜索,就可以将搜索结果缩小至特定资源或资源包中,只用小小练习一下,就能迅速找到你想要的文件了。

        2、上图左下的Hierarchy视图看起来和Project视图很相似,但层级视图中只会显示当前场景所包含的分项,而不是整个项目的所有分项。在Unity中新建项目的话,它会包含一个默认场景,其中只有Main Camera(主摄影机)和Directional Light(定向光)两个游戏对象,添加的其他对象也会在层级视图中显示。和项目视图一样,通过Create下拉列表可以在场景中快速添加其他游戏对象,也可以通过内置的搜索栏进行搜索,拖动就可以移动、管理、嵌套收纳各对象。

        Unity用场景来描述常规概念中的关卡或地图。在Unity项目的开发过程中,不同的对象及其行为表现应该属于不同的场景,比如说,你的游戏需要开发一个有雪的关卡和一个丛林关卡,那它们就是分开的两个场景。在网上的一些问答中,场景和关卡两个词时常是被混用的。

        3、主界面右侧的是Inspector视图,检查器视图中会显示目前选中对象的所有属性,在项目视图或层级视图中选中任意资源或对象,检查器视图会自动显示其信息。

2、场景视图

        在Unity中,场景视图是非常重要的一个视图,你可以实时看到你所搭建的游戏的样式,通过鼠标和一些快捷键,你就可以在场景中漫游查看,并且把游戏对象放到你设想的地方,因此场景视图算是一个沉浸式的控制界面。

3、游戏视图

        本质上来说,游戏视图可以完整还原当前场景,让我们在编辑器中也能“玩”上游戏,该视图中所有游戏元素或功能的表现就是项目生成后会有的表现。

四、添加对象

        首先我们先添加一个平面

        然后我们在添加一个正方体和一个球,发现它们都叠在一起,我们下面调整它们的位置。

        我们选中一个对象,然后调整Inspector视图里面的XYZ的信息,你就会发现它们的位置发生了变化。

        调整好位置后,我们可以继续调整相机的位置和角度,让这几个对象都能比较舒服的显示。

五、添加脚本

        我们上面已经添加了一些对象,在Game视图里面也可以看到它们,但是它们不会动,虽然是第一次搞这个,怎么也得让它动起来。

        我们先添加Rigidbody组件,用来模拟物理运动,先选中下面的Cube,然后选择菜单上面的组件,找到物理,找到Rigidbody。

        所以让我们创建一个脚本。

        创建完成,就显示在下面的位置了,是个默认名字,你可以改个名字,一般来说要和绑定的对象名字一致比较好。

        然后我们双击这个文件,进行编辑,这之后会调起来VS Studio。打开之后这个文件里面只有一个Start和Update两个空方法。

        其余的是我们加的代码,我也是从别人哪里抄来的,然后Ctrl+S保存。

        然后回到Unity的编辑器,我们用鼠标拖着这个类,把他拽到下面的Cube对象上放手。

         这个时候,我们可以发现这个脚本和这个对象绑定了。

        这时候再切换到Game视图,点击运行,你会发现这个正方体,会从上方落下来,落到Plane对象上(当然你这个Cube对象的Y方向要设置合理,设置为一个正数,不能和Plane紧挨者)。

        然后我们刚才加了脚本,鼠标点击的时候,这个正方体就会跳一下,一直点就会越跳越高。

六、小结

        暂时先这样,因为了解Unity主要是为了研究测试一下结合了神经网络的遗传算法的具象呈现,Unity开发本身也挺有意思的,后面会继续深入了解一下,因为目前了解的还差太远,后面再有什么心得,再来分享。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/524065.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Qt 学习笔记】Qt 中出现乱码的解释及讨论

博客主页:Duck Bro 博客主页系列专栏:Qt 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Qt 中出现乱码的解释及讨论 文章编号:Qt 学习笔记 / 06 文…

Nginx配置之localhost和反向代理

文章目录 第一步、查看安装位置和配置文件第二步、web服务器设置第三步、localhost 指令第四步、设置反向代理 清明假期,在家练习Nginx配置,在前期【 linux环境下安装配置nginx代理服务器】已经完成nginx环境搭建,本期主要实践web服务器&…

副业选择攻略:如何找到最适合自己的那一个?

大家好,我是木薯。今天有个新人伙伴来咨询客服:新手适不适合在水牛社上做副业?什么样的副业适合自己? 这种问题其实对我们来说已经见得太多太多了,归其原因是因为自己对副业没有一个清晰的自我认知,从而感觉…

阿里千问大模型 Qwen1.5 开源 32B 模型,将开源进行到底!!!

阿里开源的千问系列模型,一直受到业界好评,之前版本有0.5B、1.8B、7B、14B、72B,但一直缺少的30B级别开源模型,这也一直是一个遗憾。 怎么说呢?72B模型太大,很多人用不起来,无论是微调&#xf…

基于JAVA+SSM+微信小程序+MySql+前后端分离的图书捐赠管理系统设计与实现

一、项目背景介绍: 在当今社会,图书捐赠是一种普遍而有益的行为,旨在促进阅读、教育和知识传播。图书捐赠可以帮助改善教育资源不足的地区、学校和社区的阅读环境,提供更多的学习机会和知识获取途径。随着互联网和移动技术的发展&…

pytorch交叉熵

目录 1. Entropy2. 交叉熵3. 二分类4. 为什么分类问题使用交叉熵5. 代码示例 1. Entropy Entropy中文是熵的意思,它代表一种不确定性,不确定性越高惊喜度也就越高。 如上图,假设熵代表中奖概率,当熵为2 的中奖概率为1/4没什么惊…

sharding‐jdbc之分库分表(mysql主从同步的数据库安装和使用)

水平分表 创建基础工程.. 引入sharding‐jdbc的maven依赖包 注意需要数据库连接池等依赖 <dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId><version>4.0.0-RC1&l…

1.0-spring入门

文章目录 前言一、版本要求二、第一个spring程序1.引入pom2.代码部分2.1 spring bean2.2 springContext.xml2.3 测试2.4 执行结果 总结 前言 最近想要系统的学习下spring相关的框架,于是乎,来到了B站(真是个好地方),spring会专门开一个专栏出来,记录学习心得,与大家共勉。 Spri…

51-37 由浅入深理解 Stable Diffusion 3

2024年3月5日&#xff0c;Stability AI公开Stable Diffusion 3论文&#xff0c;Scaling Rectified Flow Transformers for High-Resolution Image Synthesis。公司像往常一样承诺后续将开源代码&#xff0c;开源之光&#xff01;&#xff01;&#xff01; 在LDW潜在扩散模型论文…

缓存击穿以及解决方案

1.定义 缓存击穿问题也叫热点Key问题&#xff0c;就是一个被高并发访问并且缓存重建业务较复杂的key突然失效了&#xff0c;无数的请求访问会在瞬间给数据库带来巨大的冲击。 问题描述&#xff1a;假设线程1在查询缓存之后&#xff0c;本来应该去查询数据库&#xff0c;然后把…

8、滑动窗口-无重复字符的最长子串

解析&#xff1a; 遍历 判断map是否包含当前字符&#xff0c;如果包含&#xff1a; 获取重复的index下标在哪里获取len长度重新设置L指针,其中L指针不回退&#xff0c;也就是如果这个重复值在L前面那就忽略&#xff0c;如果是在后面那就设置为index1。 代码如下&#xff1a; …

Java初始——IDEA-web的启动

Tomcat 文件夹作用 bin 启动 关闭的脚本文件 conf 配置 lib 依赖的jar包 logs 日志 temp 临时文件 webapps 存放的网站 Maven 1.在javaweb中&#xff0c;需要使用大量的jar包&#xff0c;手动导入 2.Maven 架构管理工具 核心&#xff1a;约定大于配置 必须按照规则 web idea-we…

Day16_IDEAJavaWeb项目下在WEB-INF添加jar包导致Tomcat无法启动的问题解决记录

0 起因 自己用的是Tomcat 9.0.69&#xff0c;老师用的是Tomcat 9.0.87。本以为都是9.0.x&#xff0c;差别不会很大&#xff0c;但是老师演示的时候他没导入mysql包查询数据库的servlet就不能运行&#xff0c;而我的却可以&#xff0c;于是问了GPT&#xff0c;得到以下答复。 …

【MATLAB源码-第180期】基于matlab的PTS,SLM,CPFilter三种降低OFDM系统的PAPR仿真。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1. 限幅和滤波&#xff08;Clipping and Filtering&#xff09; 原理简介 限幅和滤波是一种基础且直观的方法&#xff0c;用于降低OFDM信号的PAPR。在限幅阶段&#xff0c;信号的幅度在达到设定阈值时会被削减&#xff0c;…

开发项目接单报价快速计算,报价量化程序

定制化开发&#xff0c;如何计算项目预算&#xff0c;是程序开发者头疼的一个问题。 项目费用谈得过低&#xff0c;就天天加班累死赚不到钱&#xff1b;谈得过高&#xff0c;会导致顾客流失&#xff0c;信誉受损。 项目费用量化可见是多么重要。 下面是一段量化的程序&#…

item_search-按关键字搜索淘宝商品:如何通过获取以下关键字、搜索类型、排序方式参数提升用户体验、优化营销策略、提高转化率

在淘宝购物的过程中&#xff0c;搜索功能无疑是用户与商品之间的重要桥梁。通过输入关键字&#xff0c;用户可以迅速找到所需的商品&#xff0c;而搜索结果的准确性和相关性则直接关系到用户的购物体验和满意度。因此&#xff0c;如何通过优化关键字、搜索类型和排序方式参数&a…

鸿蒙内核源码分析 (内存管理篇) | 虚拟内存全景图是怎样的

初始化整个内存 OsSysMemInitOsMainmain从 main() 跟踪可看内存部分初始化是在 OsSysMemInit() 中完成的。 UINT32 OsSysMemInit(VOID) {STATUS_T ret;OsKSpaceInit();//内核空间初始化ret OsKHeapInit(OS_KHEAP_BLOCK_SIZE);// 内核动态内存初始化 512K if (ret ! LOS_OK…

Centos7下docker删除容器与镜像

个人记录 查看容器 docker ps -a停止容器运行 docker stop jenkins卸载容器 docker rm jenkins查看镜像 docker images卸载镜像 docker rmi IMAGE ID查看容器与镜像是否卸载完毕 docker images docker ps -a

Vue基础知识:Vue路由——重定向,以及?(可选符)的使用

当网页打开时&#xff0c;url默认是/路径&#xff08;根路径&#xff09;&#xff0c;未匹配到组件时&#xff0c;会出现空白&#xff0c;为了解决这个问题 就要利用重定向 重定向&#xff1a;匹配path后&#xff0c;强制跳转path路径 重定向的语法&#xff1a; {path:匹配…

k8s安全控制、授权管理介绍,全网最新

3.ABAC 4.Webhook 5.Node 6.RBAC 三.Role解释 1.Role和ClusterRole 2.Rolebinding和ClusterBinding 3.Rolebinding和ClusterRole 四.准入控制 1.命令格式 2.可配置控制器 五.例子 1.生成签署证书 2.设置用户和上下文信息 3.为sulibao用户授权 一.Kubernetes安全控…