自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

唐宋元明清临的博客

没事写写玩

  • 博客(34)
  • 收藏
  • 关注

原创 Unity自动化之自动构建图集与压缩

为降低DrawCall,我们需要将多个图片构建在图集上。同时还有个好处,可以自动补齐图片补齐2的幂次方或正方形图,这样便可以进行ETC和PVRTC压缩了。官方解释请注意 Sprite Packer 在 Unity 2020.1 和更新版本中已弃用,并且将不再作为精灵打包模式的可用选项。现有已使用 Sprite Packer 的项目仍然可以继续使用它,但是在 2020.1 以后创建的任何新项目在打包纹理时将默认使用 Sprite Atlas 系统。

2024-04-26 08:45:00 392

原创 Unity读书系列《Unity3D游戏开发》——脚本(一)

脚本在Unity的重要程度不用多说,她是大部分软件的核心组件。我们将在此篇文章学习脚本模版及其拓展、脚本的生命周期、脚本的执行顺序、脚本序列化,下一篇为脚本编译与调试。这篇文章将介绍Unity中脚本的核心概念和重要性。我们探讨如何创建和定制脚本以满足特定需求,以及脚本的生命周期、执行顺序和序列化等内容。后面两个示例(定时器和工作线程的运用)我分别用单独的章节说明,如果需要再去学习运用;这种安排旨在强调项目驱动的学习方式,同时鼓励读者在实践中运用这些示例来更快地提升自己的技能。

2024-04-26 08:30:00 843

原创 Unity 异步与工作线程(多线程)

工作线程(多线程)是指在一个程序中同时执行多个任务的能力。多线程编程可以提高程序的性能和响应性,特别是在需要同时执行多个任务的情况下。工作线程通常用于执行耗时的任务,以避免阻塞主线程,从而保持程序的流畅性。目前很多主流游戏或软件在启动或下载等待时会使用多线程技术,应用十分广泛,本人也在工作中遇到。本篇抛砖引玉,记录一些用法,希望对大家有用。

2024-04-24 00:26:55 117

原创 Unity 定时器与间隔定时器

协程任务能够作为定时器使用,但存在一个问题:必须将其置于脚本中。然而,我们游戏的逻辑大部分都在 C# 代码中,因此需要封装一个不依赖于脚本的定时器。这篇文章介绍了在游戏开发中使用协程任务作为定时器的问题,以及两种解决方案。第一种方案是使用协程程序实现定时器功能,第二种是利用 CustomYieldInstruction 实现间隔定时器。这些方法的目的是为了在游戏开发中实现定时功能,例如在一定时间后触发特定事件或进行特定操作。希望大家可以更灵活地运用在工作和项目中,更快且有效的完成任务。

2024-04-24 00:26:33 337

原创 Unity3d使用Jenkins自动化打包(Windows)(二)

自动化打包的价值在于让程序员更轻松地创建和管理构建工具链,提高编程效率,将繁杂的工作碎片化,变成人人(游戏行业特指策划)都能快速掌握的操作。在Unity行业中,这部分工作通常由程序员负责维护,而不同于其他行业可能有专门的运维团队负责。自动化打包的大体原理是通过Jenkins调用脚本命令行执行操作,从而完成其他软件或平台的功能,使得繁杂的工作变得更加高效和可控。本文介绍了如何利用 Jenkins 实现 Unity 项目的自动化打包,并通过命令行传递参数指定版本号等内容。

2024-03-28 01:12:43 789

原创 Unity3d使用Jenkins自动化打包(Windows)(一)

本篇旨在介绍基础的安装和操作流程,只需完成一次即可。后面的篇章将深入探讨如何利用Jenkins为Unity项目进行打包。本篇文章介绍了基础的安装和操作流程,包括安装JDK、安装Jenkins以及Jenkins插件的安装和使用。通过本文,你应该了解了配置JDK环境,安装并初始化Jenkins,以及利用Jenkins进行项目管理和自动化打包的基本操作。这些内容对项目开发和管理很重要,会显著提升提高工作效率和项目质量。

2024-03-28 01:11:58 1019

原创 Unity2020.3打包ARFoundation问题记录

在Unity 2020.3版本中使用ARFoundation进行打包时,遇到一些小问题。本文简要记录了其中一些问题及解决方法,以备不时之需。记录一些ARFoundation使用过程出现的小问题,并将持续更新。

2024-01-25 19:12:05 652

原创 Unity读书系列《Unity3D游戏开发》——拓展编辑器(一)

本篇文章是对前文关于编辑器拓展的探讨的延伸。即使内置的Unity编辑器再强大,也无法满足所有不同产品和游戏的需求。为了解决这个问题,Unity提供了编辑器拓展的API接口。我们可以通过代码反射的方式修改内置的系统编辑器,同时,游戏开发者也可以利用EditorGUI接口编写适合自己的专属游戏编辑器。这涵盖了从简单的一键换字体、材质、一键打包、管理、优化,到复杂的技能编辑器、关卡编辑器等功能。特别需要注意的是,由于内容涉及较多且较为复杂,会分2节进行详细讨论。

2024-01-25 00:06:56 1197

原创 Unity读书系列《Unity3D游戏开发》——编辑器的结构

本篇对应标题书籍的第二章编辑器的结构,也就是unity的编辑器的使用及菜单的使用。在本章中,我重点介绍了编辑器的基本功能,并着重说明了一些容易被忽视的关键要点。除此之外,还有一些功能,如编辑器锁头等,未在详细讲解中提及。这些额外功能包括编辑器的🔒锁头、分辨率设置等,属于基础操作,我相信大家在使用Unity时能够轻松摸索出来。

2024-01-19 18:34:35 1027

原创 配置SSH+Sourcetree+Git

版本管理是众多公司多人协作制作的基石。在过去的工作中,我们发现一些同事可能对此感到陌生,而在网上查找相关文章又耗时较长。实际上,版本管理的配置并不像想象中那么复杂,只需花点时间,大概一盏茶的功夫就能搞定。在这里,我进行了总结。下面是两个主流版本管理系统的配置方法。经过考虑,我决定不采用图文方式,因为配置相对来说相当简单,只需按步骤操作即可。

2024-01-19 18:31:45 548

原创 Unity读书系列《Unity3D游戏开发》——基础知识

本篇对应标题书籍的第一章基础知识,也就是unity的基本常识和工作流的说明。Unity目前用于创建2D和3D游戏、模拟应用程序、可视化体验以及其他虚拟现实(VR)和增强现实(AR)应用,游戏工业两开花。Unity初版是在2005年发布的,开始时用unity3.X、4.X这样的名称进行版本更新及称呼;

2024-01-09 23:16:17 938

原创 Unity读书系列(序章)

欢迎来到“读书系列”!“读书系列”是一个旨在与你分享我在技术领域所阅读的书籍的项目。本篇是序章,接下来的文章我将按书籍分类,逐章分享。可能包括《Unity3D游戏开发(第二版)》、《Unity3D网络游戏实战》、《Unity3D高级编程,主程手记》、《Shader入门编程》等经典书籍。难度适中,也是我查漏补缺的好机会。最重要的是,记得在摸鱼的时候来看,哈哈。最后希望大家对我分享的书籍感兴趣,如果确实有兴趣,建议购买原版深入阅读。毕竟我只是提炼了关键内容,原著通常更详尽。期待大家从中获得启发。

2024-01-09 02:30:47 469

原创 Unity Animal Controller 快速构建控制器

动物控制器(AC)是一个基于脚本架构的动画框架控制器。它适用于任何动物或人形角色的根运动或原地动画。我对该插件的直观感受是:这或许不是一个适合你游戏的控制器,却可能是帮助你快速构建原型的工具。如果你也向我不懂动画系统,那么在使用的同时在一定程度上帮助你在动画部分有更深的认知。总之,快速构建第三人称rpg类型的游戏原型的时候,这款插件就非常合适了。插件文档说明本篇文章概述了一款rpg控制器的基本功能,无需代码开箱即用。如果需要如AI,添加玩家能力,攻击连招模式等更多功能,作者也提供了相关视频教程。

2023-10-20 17:22:16 194

原创 Unity Cesium Native源码调试

unity调用cesium包的原理是调用包文件夹里面com.cesium.unity\Editor下的dll文件(就是源码编译那篇生成的dll),如果有改写源码的需求我们修改然后发布dll进行测试即可,但是出现问题的时候很麻烦——通常使用返回值或者弹窗来提示错误信息,如果有进一步需求重新发布dll测试。既然我们拥有了源码,那么就不用受这气了,进行c++源码调试。本人使用vs2022作为unity编辑器,所以使用vscode作为调试c++的工具,当然也可以反过来。

2023-08-31 14:47:33 407

原创 Unity Cesium 源码编译

Cesium底层为Cesium Native(C++),官方制作了unity、unreal等包体供不同平台使用,但是想要更改、添加某些功能就需要在底层进行修改,这就涉及到源码编译。只有在源码修改再编译,引入平台才能实现想要的功能,unreal因为本身就是C++的官方语言有不少人进行扩展,unity发展相对慢一些,下面就介绍如何根据官方文档进行自定义修改。本文实现了Unity Cesium的源码编译过程。有细心的开发者可能发现官方文档还有封装Cesium的步骤,这个贴下下面就不做演示了。

2023-08-30 11:06:20 773 3

原创 unity强力配置插件Luban【Next最新版本】(一)部署

luban是一个强大、易用、优雅、稳定的游戏配置解决方案。它设计目标为满足从小型到超大型游戏项目的简单到复杂的游戏配置工作流需求。该项目在2023下半年进行了重构,旧版本命名为Classic版,新版为Next版。如果追求稳定建议使用Classic版,想学习使用可以参考我博客内的luban相关文章。Next版的意义是为了简化之前繁重的流程,将各种功能模块化、定制化,比以前更加轻量具有针对性,话不多说,走。快速上手新版luban,有多个项目需求的可以将精简的文件进行备份以便下次使用。

2023-08-22 18:16:01 1888 1

原创 Unity Cesium 加载本地数据(DEM、DOM)

cesium for unity自带数据源,联网状态下能够实时加载影响和地型等数据,十分方便。但不少项目需要离线使用,而官方只给出api并没有给出示例资源,这就需要我们自己处理数据进行加载。加载本地数据的原理非常简单,将资源转换到可用格式,然后发布成链接的形式,然后在对应的软件载体配置链接,即可看到效果。简单记录本地加载地形和影像数据。

2023-08-16 10:12:03 2002 15

原创 超好用的PC系统文件弹窗和打包程序的窗口设置

简单记录下pc端好用的工具。

2023-05-11 17:41:38 207

原创 unity强力配置插件-Luban使用(三)多态

我们通常使用oop思想应对各种千奇百怪的需求,一般的配表只能使用单一的方式配置技能、ai等再让开发再次解析数据。luban不仅能实现list、map的多层嵌套,也能直接使用继承的方式快速实现类的多层嵌套,还使用限定类型来实现多态(不同类型使用同一接口),十分方便。1、excel方式定义分别定义项目需要的父类、子类,指定子类的父类。限定列格式2、xml方式定义官方示例。

2023-05-05 14:52:43 1155

原创 unity库存系统插件-Ultimate Inventory System(四)自定义代码篇

这篇为自定义视图代码篇,本篇会从项目的角度重新规划功能添加删除物品的接口、数据联动(喝血药)、打怪爆装备的接口、加载保存接口。通常游戏中物品的属性是固定且稳定的,但从多年以前像暗黑破坏神之类的游戏越来越多,其中敌人有概率掉落一个具有随机稀有度和攻击属性的物品。随机攻击属性取决于稀有度,玩家不会想要攻击力低于普通物品的传奇物品。不幸的是,这些通常需要按游戏定制。我这里提供一种写法,需要注意该类物品需要是可变的(基本属性设置为可变的)。

2023-05-04 02:28:05 603 1

原创 unity库存系统插件-Ultimate Inventory System(三)自定义UI篇

这篇为自定义视图UI篇,我们将一起探索如何自定义各种UI,以及UI相关的功能。

2023-04-14 17:30:30 1003

原创 unity库存系统插件-Ultimate Inventory System(二)自定义物品篇

这篇为自定义物品篇,我们将一起探索如何自定义各种物品,配方。0、想好设计思路,我决定选择仙侠类,物品类型分为如下5大类,货币4类,锻造和灵药合成配方待定。

2023-04-04 17:53:20 883 5

原创 unity库存系统插件-Ultimate Inventory System(一)功能简介

如果说一个rpg游戏必不可少的功能,那就必须想到背包、商店、宝箱、交易、物品栏这些,我们可以将其统称为库存系统。可以说哪怕非rpg游戏也有库存系统的需求。本文将使用插件快速实现库存系统,抛弃掉繁杂冗余的编程开发,快速实现游戏原型(主要为rpg、arpg类型),十分适合独立游戏开发者,尤其是独狼(像我一样)。

2023-03-28 10:33:27 1553 11

原创 unity开放世界解决方案-World Streamer 2加载插件(一)

我原来想做开放世界独立游戏,是不是很大胆?整个游戏完全是开放世界,就这个游戏,就完全是这个独立游戏(团队就我一个人)。我最早和朋友说的时候,就是做独立游戏,做开放世界独立游戏,所有朋友啊都很兴奋,宫崎英高、小岛秀夫、默神啊他们啊都很兴奋,一直说开放世界独立游戏,就一直在做开放世界独立游戏的准备。所以我就和他们说的,我只要20天或者只要给我25天,两周到三周;他们说为什么,我说很简单,我每天写(代码)两行,黎明写一行,黄昏写一行,我写10天,20行我选一行,那10天就够了。

2023-03-01 17:23:53 1977

原创 unity强力配置插件-Luban使用(二)本地化

本地化/多语言是一个成熟游戏必备的功能,英文为localization,简称l10n。官方文档。以下操作需要第一篇文章的前置准备。Luban拥有很多强大的功能,只是鄙人用不上,只能按照自己的想法改进和讲些有的没的;luban的细节方面更多的是根据具体项目进行修改,希望大家能配置出适合自己的luban库,逃脱手写json的束缚。

2023-02-24 14:03:25 1916 3

原创 unity强力配置插件-Luban使用(一)加载保存

Luban是一种配置工具,生成c#等各种语言的代码,支持导出成bytes或json等多种格式,且能检查数据错误。unity只是其中支持的一种引擎,可以想象其功能非常强大。不但如此,在使用的时候非常简单、方便,支持类型丰富,初学者也能迅速掌握。插件地址老项目一般都用py写的打表工具,有诸多限制(一般只能是普通的数据类型,支持list、数值,如果有复杂的结构得靠多个表格堆)。Luban很好的解决了不少潜在的问题,使用中也比较稳定,欢迎大家一起使用。

2023-02-08 11:11:17 5312

原创 QFramework之架构使用

QF架构是在该框架不断迭代中出现的,不同与其他的架构,她的优点是将各个模块分层管理并且提供封装好的工具方便实现以前写起来很麻烦的功能,写起来层次分明。官方讲的也很好,想要李姐原理可以去看教程+源码。本篇是我李姐的使用方式,不涉及讲解。QF架构的基本使用,这是我李姐的使用步骤,具体有什么问题请留言。

2023-01-09 18:48:50 1169

原创 QFramework之ManagerOfManagers

这是一个把项目的系统分割成多个管理类,所有操作都有自己的管理类进行执行,各个管理之间使用消息体进行通讯,优点:各个管理类执行自己相关的操作,每个管理类的事件系统也有自己管理,耦合降低,后期修改起来如果有部分逻辑耦合能快速找到对应位置,然后利用屏蔽、方法重载、重新规划新的事件等方法快速搞定。

2023-01-04 17:35:48 194

原创 QFramework基本API汇总

QF框架内置了不少案例,并且QF文档也详细说明了使用规范。虽然如此,但考虑到说明太过详细导致有的时候翻起来不便,以及工程当中的案例我习惯都清理掉,以下选了部分常用的API记录。刚入门推荐去看官方文档,此篇 类笔记总结——QF常用API。

2022-12-27 16:03:59 701

原创 Dialogue System for Unity使用(三)本地化语言【包括声音】

本地化语言,也就是多语言切换在大点的项目里是必备的功能,通常我们用ID或字段进行标记某一段话,然后在UI初始化、更新的时候给text进行赋值。string str = UILocalizationManager . instance . GetLocalizedText("问候语");Dialogue System本地化基本使用熟悉了基本的使用方式,我们代入该对话插件,怎么能在快速迭代的版本完成后再实现多语言功能。

2022-12-20 16:53:59 722 2

原创 Dialogue System for Unity使用(二)实战

构思一个剧情、实现她!既然是实战,我们假想一个剧情:某天,你出生了。旁白:简单介绍。小孩出生一岁时家人让你抓阄,获得对应效果。每一年可以和周围的npc对话,获得某些能力提升。

2022-12-19 03:44:36 1440 1

原创 Dialogue System for Unity使用(一)基本设置和功能介绍

这个Dialogue System对话系统是用来解决游戏中的复杂的对话逻辑、支持多语言、保存、可视化流程等功能。如果是一般的单线性故事是没必要用这个的,自己写写就好。另外一提,这个系统能帮助不会代码的开发者也能做出多支线、复杂的故事流程(可视化、多种碰撞按键等集成功能),下面介绍流程我会以一个第一次接触这个插件的方式来深入(事实也差不多),也就是说会把我接手和切入一个新插件的思考流程放进去。

2022-11-17 17:40:43 3351

原创 Unity TextMeshPro中文相关使用(繁/简)

简短记录一下,希望看的人或着以后的自己能够10分钟解决这种安装问题一、使用TextMeshPro优劣优点:2021以后官方推荐使用,字体更为清晰,适合用到新的项目或VR中起到锦上添花的作用。缺陷:有学习成本,适配其他的方式和以往有区别,手机端有一定消耗(使用中文的情况下)。建议PC端使用,且备一套自己的字体文本方便随时生成修改生僻字等。

2022-11-07 15:34:26 2756

原创 Mac 编译运行ET6.0Demo

总结:mac的m1和inter版本区别只在于sdk的版本区别,其他的就是编辑器要最新的,mono版本和,net skd一定要对。

2022-10-07 21:44:00 974

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除