当前位置: 首页 > news >正文

Unity3D仿星露谷物语开发2之工程初始化

1、依赖包安装

进入【Window -> Package Manager】

安装如下插件:

1)Cinemachine

它是一套专门控制Unity Camera的模块,适用于各种游戏场景中物体的移动变化,解决了许多关于摄像机间的复杂控制,混合,切换等复杂数学和逻辑。对一些摄像机功能需求能快速实现,同时能结合Timeline插件来实现动画效果。

2)Timeline插件

默认情况下已经安装完毕。

它用于制作电影内容、过场动画、游戏过程序列以及复杂的粒子系统等。

2、自定义包

(1)导入自定义包

资源名称为:starterassets.unitypackage,这里面包含了Sprite、声音、动画、动画控制器等。

链接:https://download.csdn.net/download/benben044/90117305?spm=1001.2014.3001.5501

方法:【Assets -> Import Package -> CustomPackage...】

导入All,完成后Assets显示如下:

(2)Sprite Atlas图集

Sprite Atlas是一个包含多个小图像的大图像,这些小图像被称为sprites。通过使用Sprite Atlas,可以将多个小图像合并到一张大图像中。在渲染中,每次调用都需要进行顶点转换、纹理采样等操作。通过将多个sprites共享同一个纹理,unity可以减少纹理切换的次数,从而减少DrawCall的次数和内存占用,达到提高游戏的性能和效率的目的。

3、项目工程设置

进入【Edit -> Project Settings】

(1)Quality设置

在这个游戏中我们只要Low质量即可。

保留Low,将其他都删除掉:

(2)Graphics设置

我们需要设置透明排序模式。

在3D游戏中,事物是沿着Z轴排列的,这让它们在2D游戏中呈现出深度。在2D中没有使用Z轴,所以屏幕上的一切都是平面的。

我们通过沿Y轴排序来展示2D游戏的深度。

这意味着Y位置较低的Sprite将被排序并绘制在Y位置更好的Sprite前面。

4、初始化Scene

点击【File -> Save As】,将当前场景保存为PersistentScene,同时删除自带的SampleScene。

在游戏中将使用持久场景的概念。一个持久的场景会一直加载,游戏的不同位置也会一直加载。

即使用户角色在不同场景中切换,但是该持久场景会一直保持加载,所有的游戏管理器和主游戏逻辑将在持久化场景中创建。

5、创建虚拟cinemachine camera

点击【GameObject -> Cinemachine -> Virtual Camera】

创建完毕后就可以在PersistentScene中看到该相机。

我们将它重命名为:PlayerFollowVirtualCamera

接下来是改变摄像机的正投影尺寸。

我们将正交投影大小设为8.4375,刚好是屏幕大小16.875的一半。

我们基本Sprite分辨率是16像素/单位,所以我们的目标屏幕高度16.875*16=270像素,按照16:9的宽高比,则宽度为270*16/9=480像素。

Body类型选择“Framing Transposer”。

这基本上会保持游戏对象在一个帧内。其他参数配置如下:

设置Aim为Do nothing。

6、Main Camera设置

将背景设置为纯黑色(0,0,0)。

添加Pixel Perfect Camera组件。

参数配置如下:

Sprite以每单位16像素绘制,所以需要将Assets Pixels Per Unit改为16.

7、设置Snap Settings

点击如下位置:

参数设置如下:

0.0625 = 1/ 16.

相关文章:

Unity3D仿星露谷物语开发2之工程初始化

1、依赖包安装 进入【Window -> Package Manager】 安装如下插件: 1)Cinemachine 它是一套专门控制Unity Camera的模块,适用于各种游戏场景中物体的移动变化,解决了许多关于摄像机间的复杂控制,混合&#xff0c…...

Kafka篇之参数优化进而提高kafka集群性能

1. Kafka性能优化分类 Kafka集群的性能优化涉及多个方面,包括硬件资源、网络、配置文件参数等。 调优目标通常是为了提高吞吐量、减少延迟、提升稳定性和故障恢复能力。 以下是Kafka集群调优的常见策略,以及调优后的配置文件示例。 1. 硬件资源调优 C…...

关于SAP Router连接不稳定的改良

这个也是网上看来的,之前在用的时候也在想是不是建立一个长连接,就不至于断线。今天正好看到。 关于SAP Router连接不稳定的改良 我们在使用SAPRouter时经常会碰到断线,其发生原因有很多,如:网络不稳定、操作间隔时间…...

使用pygame做游戏(2):2048游戏的进一步改造,以失败告终

前言 受《Python树莓派编程从零开始》里的示例启发,我决定将上篇的2048游戏进行“面向对象化”改造。 这次除了要建立一些对象,还要能有移动效果,并能显示中文。 另外我还发现一个bug:方块放满了不代表输了,还要检查能…...

【CSS in Depth 2 精译_078】12.6 调整字间距,提升可读性 + 12.7 本章小结

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第四部分 视觉增强技术 ✔️【第 12 章 CSS 排版与间距】 ✔️ 12.1 间距设置 12.1.1 使用 em 还是 px12.1.2 对行高的深入思考12.1.3 行内元素的间距设置 12.2 Web 字体12.3 谷歌字体12.4 font-fac…...

泷羽sec学习打卡-brupsuite7搭建IP炮台

声明 学习视频来自B站UP主 泷羽sec,如涉及侵权马上删除文章 笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都 与本人无关,切莫逾越法律红线,否则后果自负 关于brupsuite的那些事儿-Brup-IP炮台搭建 搭建炮台服务端安装zmap1、更新系统和安装基础依赖&#xff…...

使用Svelte构建轻量级应用详解

文章目录 前言一、为什么选择Svelte?二、快速上手Svelte三、理解Svelte的核心概念四、优化性能与用户体验五、案例研究:构建一个待办事项应用结语 前言 Svelte是一款新兴的前端框架,以其小巧的体积、高效的性能和直观的API赢得了开发者的青睐…...

Qt设置部件的阴影效果

QT中的比如QWidget,QLabel,QPushbutton,QCheckBox都可以设置阴影效果,就像这样: 以QWidget为例,开始尝试使用样式表的形式添加阴影,但没有效果,写法如下: QWidget#widget1::shadow{color: rgb…...

Python 助力 DBA:高效批量管理数据库服务器的多线程解决方案-多库查询汇总工具实现

批量数据库服务器连接测试与数据汇总:Python实现方案 作为数据库服务器运维人员,我们经常需要面对大量服务器的连接测试和数据汇总工作。本文将介绍一个使用Python实现的高效解决方案,可以帮助我们快速完成这些任务。 需求概述 从配置文件…...

vue响应式数据-修改对象的属性值,视图不更新

如图: 一:问题是: 我把数据处理后能console.log()打印出来,但是页面的内容不能同步的更新渲染; 二:要求: 在数组循环列表里面,我点击单个的item按钮时,需要实时加载进度…...

【OpenCV计算机视觉】图像处理——平滑

本篇文章记录我学习【OpenCV】图像处理中关于“平滑”的知识点,希望我的分享对你有所帮助。 目录 一、什么是平滑处理 1、平滑的目的是什么? 2、常见的图像噪声 (1)椒盐噪声 ​编辑(2) 高斯噪声 &a…...

C#编程报错- “ComboBox”是“...ComboBox”和“...ComboBox”之间的不明确的引用

1、问题描述 在学习使用C#中的Winform平台编写一个串口助手程序时, 在编写一个更新ComboBox列表是遇到了问题,出错的代码是 2、报错信息 CS1503 参数 2: 无法从“System.Windows.Forms.ComboBox”转换为“System.Windows.Forms.ComboBox” CS1503 …...

JAVA:访问者模式(Visitor Pattern)的技术指南

1、简述 访问者模式(Visitor Pattern)是一种行为型设计模式,允许你将操作分离到不同的对象中,而无需修改对象本身的结构。这种模式特别适合复杂对象结构中对其元素进行操作的场景。 本文将介绍访问者模式的核心概念、优缺点,并通过详细代码示例展示如何在实际应用中实现…...

YashanDB共享集群产品能力观测:细节足见功底

本文基于前泽塔数科研发总监-王若楠2024年11月在“2024年国产数据库创新生态大会”-“根”技术专场的演讲整理形成,主要对崖山共享集群YAC的架构、功能、高可用性、性能四大方面进行全面测试,并分享了测试环境和测试结论。 年初,基于某些商业…...

【Linux】—简单实现一个shell(myshell)

大家好呀,我是残念,希望在你看完之后,能对你有所帮助,有什么不足请指正!共同学习交流哦! 本文由:残念ing原创CSDN首发,如需要转载请通知 个人主页:残念ing-CSDN博客&…...

@FeignClient用于Nacos微服务间的接口调用

依赖&#xff1a;<!-- spring-boot启动依赖 --> <!-- 提供者 --> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- openFeign --> <…...

认识javascript中的模块化

什么是模块化&#xff1f; 将程序⽂件依据⼀定规则拆分成多个文件&#xff0c;拆分出来每个⽂件就是⼀个模块&#xff0c;模块中的数据都是私有的&#xff0c;模块之间互相隔离。如果不进行隔离&#xff0c;可能会造成模块间的变量定义有冲突&#xff0c;导致程序崩溃 为啥要使…...

容器设计模式:Sidecar

文章目录 容器设计模式&#xff1a;Sidecar 模式1. 什么是 Sidecar 模式&#xff1f;2. Sidecar 模式的原理2.1 工作机制2.2 常见用途 3. Sidecar 模式示例示例&#xff1a;日志收集 4. Sidecar 模式的架构图图例&#xff1a; 5. Sidecar 模式的优点6. Sidecar 模式的局限性7. …...

ensp 静态路由配置

A公司有广州总部、重庆分部和深圳分部3个办公地点&#xff0c;各分部与总部之间使用路由器互联。广州、重庆、深圳的路由器分别为R1、R2、R3&#xff0c;为路由器配置静态路由&#xff0c;使所有计算机能够互相访问&#xff0c;实训拓扑图如图所示 绘制拓扑图 给pc机配置ip地址…...

MATLAB图卷积神经网络GCN处理分子数据集节点分类研究

全文链接&#xff1a;https://tecdat.cn/?p38570 本文主要探讨了如何利用图卷积网络&#xff08;GCN&#xff09;对图中的节点进行分类。介绍了相关的数据处理、模型构建、训练及测试等环节&#xff0c;通过对分子数据集的操作实践&#xff0c;展示了完整的节点分类流程&#…...

进程地址空间(比特课总结)

一、进程地址空间 1. 环境变量 1 &#xff09;⽤户级环境变量与系统级环境变量 全局属性&#xff1a;环境变量具有全局属性&#xff0c;会被⼦进程继承。例如当bash启动⼦进程时&#xff0c;环 境变量会⾃动传递给⼦进程。 本地变量限制&#xff1a;本地变量只在当前进程(ba…...

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする

日语学习-日语知识点小记-构建基础-JLPT-N4阶段(33):にする 1、前言(1)情况说明(2)工程师的信仰2、知识点(1) にする1,接续:名词+にする2,接续:疑问词+にする3,(A)は(B)にする。(2)復習:(1)复习句子(2)ために & ように(3)そう(4)にする3、…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略&#xff0c;并且实现了基本的选区操作&#xff0c;还调研了自绘选区的实现。那么相对的&#xff0c;我们还需要设计编辑器的选区表达&#xff0c;也可以称为模型选区。编辑器中应用变更时的操作范围&#xff0c;就是以模型选区为基准来…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

Nuxt.js 中的路由配置详解

Nuxt.js 通过其内置的路由系统简化了应用的路由配置&#xff0c;使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中&#xff0c;合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号&#xff1f; 最小权限原则&#xf…...