
Unity
Unity开发
Data菌
这个作者很懒,什么都没留下…
展开
-
Unity发布抖音小游戏:构建与发布
上篇介绍了如何将字节小游戏SDK接入Unity项目中, 本篇将介绍如何使用Unity字节小游戏构建发布工具,调试和发布字节小游戏。读者可参考教程:Docs点击菜单ByteGame-StarkSDKTools-BuildTool字节小游戏构建工具面板Unity字节构建工具,主要方便我们测试调试小游戏,可以实现真机运行测试。接下来就是发布,点击发布,会自动跳转到PublishTool发布工具面板。1)Uid获取方法如下:2)重新打开InstantGame工具,填写关于字节平...原创 2022-05-04 16:46:58 · 12819 阅读 · 10 评论 -
Unity发布抖音小游戏:SDK接入
上篇介绍Unity小游戏发布抖音平台的开发者账号注册以及小游戏创建和申请。本篇介绍字节SDK接入Unity游戏项目中。接入参考教程:Docs,下载bgdt.package包,并导入Unity项目工程。打开ByteGame菜单,弹出字节工具面板。点击下载安装另外2个字节小游戏工具。安装完毕后,ByteGame菜单下多了StarkSDKTools子菜单,子菜单下,又多了BuildingTool和PublishingTool工具,前者是运行调试工具,后者是...原创 2022-05-04 16:01:56 · 13375 阅读 · 7 评论 -
Unity发布抖音小游戏:广告ID申请
上篇介绍了小游戏的申请和认证,本篇介绍广告ID申请。点击广告中心的“流量主”菜单。申请开通流量主,流量主是指开发者在字节小游戏中通过创建、分发广告获取流量收入。原创 2022-04-14 11:57:19 · 4933 阅读 · 0 评论 -
用Unity制作一个很火的找不同游戏,包括核心玩法与关卡编辑器工具的实现
玩家们心里都清楚,其实游戏的品类超级多,有些人喜欢玩moba、射击竞技类的,有些人喜欢塔防、策略、回合制类的,而又有些人喜欢经营养成、休闲益智类的。休闲益智类游戏,虽没像moba类游戏的激烈操作带来的刺激感,但舒缓的节奏,配合唯美的美术音乐以及很棒故事主题,同样能赢得玩家的喜爱。我在一些应用商店搜索了关于找不同玩法的游戏,不管是下载量还是口碑都是蛮不错的。那找不同的游戏是如何实现的呢?这游戏的核心本质主要在于两点:其一是关卡数据如何快速高效地配置导出;其二是如何判定玩家是否找出2张相似图片中对应..原创 2022-04-08 00:06:47 · 6538 阅读 · 4 评论 -
Unity发布抖音小游戏:申请注册(包括主体认证和基础信息完善)
本篇介绍发布字节小程序开发者账号的注册和小游戏的创建审核。进入官网点击快捷登录,再点击注册,填入相应的信息完成开发者账号的注册。然后进行登录,登录后,点击创建小游戏。填写小游戏的基本信息。资料填写完整后,点击申请,等待字节审核结果。...原创 2022-03-30 08:30:48 · 8236 阅读 · 9 评论 -
Unity发布小游戏(六):小游戏的运行与测试
上篇介绍了Unity小游戏打包和上传部署到CCD服务器,本篇介绍Unity小游戏的运行和测试。首先,先下载测试工具MegaAppSample的apk,安装到Android手机上。安装成功后,点击运行,点击二维码图标,扫描小游戏发布面板生成的二维码,安装我们的项目小游戏。需要注意的是,MegaApp app中仅支持游戏自身的功能测试,广告支付等功能需要在平台方发布测试版后使用。关于嵌入对应平台广告或支付的,小游戏完整功能测试,我会在之后发...原创 2022-03-24 11:00:19 · 6845 阅读 · 0 评论 -
Unity发布小游戏(五):小游戏的打包与上传到CCD云服务器
上一篇介绍了游戏资源的打包配置过程,接下来介绍小游戏的打包和上传部署到CCD云服务器的工程。(1)CCD项目云服务配置:登录UnityCCD云服务后台,地址:Unity ID 。创建Endless_Runner项目,开启云服务,生成App ID。(2)打开Unity-Window-AutoStreaming-Cfg&Publish菜单,先简单介绍一下配置上传和发布界面信息。【特别提醒:打包和上传中间,请不要改动CCD配置,否则游戏运行时将找不到需要的资源】原创 2022-03-22 23:55:36 · 4817 阅读 · 0 评论 -
Unity发布小游戏(四):小游戏资源打包配置
上一篇介绍了项目InstantGame包的安装和一些项目设置。小游戏的最大特点是玩家不需要下载安装独立apk,大部分资源放在云服务器端,游戏首包很小,其他的资源是按需下载。因此针对小游戏资源需要做上传到云服务端的打包设置。首先,打开Unity-Window-AutoStreaming菜单,是管理和发布上传小游戏资源的面板。(1)Texture Streaming文理贴图资源配置。PlaceHolder是指Instant Game用placeholder图片替换游戏首包内的原始贴图,游戏运行时原创 2022-03-20 00:29:11 · 3509 阅读 · 2 评论 -
Unity发布小游戏(三):创建项目并安装InstantGame包以及一些项目设置
上一篇介绍了如何申请Unity小游戏的云服务,从本篇开始介绍如何把一个实际项目转换成小游戏并上传和发布。(1)创建Endless Runner项目工程,并导入EndlessRunner.unitypackage。(2)安装InstantGame包:打开PackageManager,选择Show preview packages,输入InstantGame搜索,点击Install进行安装。(3)打开BuildSettings设置面板,切换成Android平台..原创 2022-03-20 00:14:26 · 8705 阅读 · 0 评论 -
Unity发布小游戏(二):申请云服务
上一篇介绍了支持小游戏发布的Unity定制版引擎的下载安装,本篇介绍如何申请Unity游戏项目的云服务功能。首先,如果没有注册腾讯云账号,得先去注册。地址:腾讯云 - 产业智变 云启未来 注册好账号,还需要进行实名认证。接着进入Unity云服务申请界面,地址:Unity ID,进行Unity账号与腾讯云账号的绑定。在Unity账号与腾讯云服务账号绑定成功后,接着开通该云服务功能。点击开启试用云服务功能。云服务功能开启后,如果项目列表中没有,则先原创 2022-03-16 22:44:36 · 2473 阅读 · 0 评论 -
Unity发布小游戏(一):安装定制版Unity引擎
小游戏主要由CocosCreator、LayaBox以及白鹭Egret这3大引擎开发以及发布。这对之前一直使用Unity引擎开发游戏的人员来说,需要重新学习其他小游戏引擎才能发布小游戏,这是很麻烦的事儿。要是Unity支持小游戏发布那该多好啊。借用华哥一句歌词“等了好久终于等到今天,梦了好久终于把梦实现”,终于Unity Instant Game小游戏解决方案来了。本篇文章开始详细介绍Unity如何发布小游戏的全过程。本篇先介绍支持发布小游戏的定制版Unity引擎的下载安装。进入Unity Instan原创 2022-03-16 22:36:39 · 3319 阅读 · 0 评论 -
支持小游戏开发的“引擎四剑客”
2017年12月28日,微信发布了一款叫“跳一跳”的微信小程序的一个小游戏,无需下载安装,即点即玩,只需要在微信客户端的小程序界面搜索“跳一跳”,点击即可加载进入该游戏玩。游戏小而精,借助于微信巨大的社交生态传播链,一夜之间顺速扩散蔓延刷爆整个朋友圈,至今依然还能想起那时火爆的场景,成为全民热议的焦点,简直不亚于现在抖音、快手的人气。微信小游戏是既页游、手游之后的另一种新兴的形态。很多游戏公司开始关注和尝试这类型的游戏,记得当时我公司把一款自研的羽毛球高高手的游戏改编成微信小游戏,数据还不错。...原创 2022-03-04 19:06:18 · 4941 阅读 · 0 评论 -
C++制作Android版so库给Unity使用
上篇介绍Windows版dll文件制作与在Unity中调用,本篇介绍Android版so文件制作以及在Unity项目中使用。生成so库文件,需要借助NDK工具,并且需要配置环境变量。配置可参考https://www.jianshu.com/p/c3e1fe6f61c4NDK配置完成后,先讲解so文件制作的整个过程。1)测试脚本文件创建:头文件MathDll.h【注意】if 0#if 0# define _DLLExport __declspec (dllexport) //定义该函.原创 2021-08-09 15:29:09 · 2017 阅读 · 0 评论 -
C++制作Windows版动态链接库dll文件给Unity使用
前面系列文章讲解C++语言的语法及API的使用。本篇文章介绍如何制作dll文件给Unity项目使用。先介绍制作dll文件的过程:1)创建动态链接库C++工程项目2)删除模板工程脚本文件3)创建测试脚本文件创建头文件MathDll.h#if 1# define _DLLExport __declspec (dllexport) //定义该函数的dll# else # define _DLLExport __declspec (dllimport) /...原创 2021-08-09 11:04:02 · 622 阅读 · 0 评论 -
Unity-Http协议请求下载系列4:Http应用测试
上篇文章介绍完了Http协议种请求下载资源的方式,现在需要测试。关于本地搭建服务器,读者可以查看本人写的另外一篇博客Tomcat服务器。测试类HttpTestusing System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;using System.IO;/* * Author:W * http协议请求下载测试 */namespace W.GameFr原创 2021-07-13 17:07:54 · 630 阅读 · 2 评论 -
Unity-Http协议请求下载系列3:UnityWebRequest
上篇文章介绍了基于HttpWebRequest接口实现的资源请求下载方案,本篇介绍基于UnityWebRequest接口实现的方案。并且是开启协程执行的。首先,写一个全局的协程管理控制器CoroutineManager工具类using System.Collections;using System.Collections.Generic;using UnityEngine;/* * Author:W * 线程工具【全局】 */namespace W.GameFramework.Hot原创 2021-07-13 16:58:08 · 1095 阅读 · 0 评论 -
Unity-Http协议请求下载系列2:HttpWebRequest封装
上篇文章介绍了Http请求的接口封装,本篇具体介绍基于HttpWebRequest接口实现的资源请求下载。HttpWebRequestHelper实现完全重新请求下载和断点续传,并且是异步多线程执行的。using System.Collections;using System.Collections.Generic;using UnityEngine;using System.Net;using System.IO;using System.Text;using System;using原创 2021-07-13 16:50:56 · 1196 阅读 · 0 评论 -
Unity-Http协议请求下载系列1:接口封装HttpHelper
游戏请求服务器下载资源,是很常见的操作。特别是有热更的资源游戏,游戏启动会检查下载Bundle资源。使用的是Http协议。本人查看很多资料,实现服务器请求下载资源的方式大概有2种,其一是NET框架提供的HttpWebRequest接口,另外就是Unit引擎提供的UnityWebRequest接口。另外,是否支持断点续传。本人整合封装了上述2中实现方式,并且支持完全重新下载和断点续传2种下载模式。 这篇文章主要介绍实现Http请求的接口封装类:HttpHelperusing System.Co..原创 2021-07-13 16:44:11 · 802 阅读 · 0 评论 -
Unity Bundle文件加密方式三:DES算法
上篇介绍了AES算法,本篇介绍类似原理的另外一种对称算法。关于该算法的详解,请移看他人博客https://blog.youkuaiyun.com/z784561257/article/details/78174106DES算法封装实现如下:using System.Collections;using System.Collections.Generic;using UnityEngine;using System.Security.Cryptography;using System.Text;usi原创 2021-07-06 19:19:21 · 359 阅读 · 2 评论 -
Unity Bundle文件加密方式二:AES算法
上一篇介绍了原始的加密方式,本篇介绍第2种算法,AES算法,一种对称加密算法,即密钥只有一个,加密和解密都使用相同的密钥。详细原理介绍,请移看他人的博客文章https://blog.youkuaiyun.com/qq_28205153/article/details/55798628AES算法封装实现using System.Collections;using System.Collections.Generic;using UnityEngine;using System.Security.Crypt原创 2021-07-06 19:14:04 · 878 阅读 · 0 评论 -
Unity Bundle文件加密方式一:二进制加密(原始)
Bundle文件是否需要加密?加密又会带来什么影响?这要看文件的重要程度与安全级别,如果不想它被轻易获取,则我们需要对其进行加密。但是对于加密了的文件,访问时需要先进行解密,这无疑会延缓访问速度,而且不同的加密算法方式,其安全级别和解密效率也是不同的。接下来几篇文章,主要介绍一些常用加密算法。该篇文章主要介绍最原始的加密算,就是直接针对文件二进制数据进行异或编码。Byte(原始)异或 key(秘钥)= Byte(加密后),Byte(加密后) 异或 key(秘钥) = Byte(原始)。利用该原理进行加密..原创 2021-07-06 19:05:52 · 1580 阅读 · 0 评论 -
Windows系统本地搭建Tomcat文件服务器
为了模拟测试客户端热更新资源,于是自己需要在自己的电脑上搭建一个服务器,本篇博客介绍整个Tomcat服务器搭建过程。首先,需要下载Tomcat服务器安装包,原创 2021-06-20 14:16:52 · 1017 阅读 · 0 评论 -
Unity-线程工具(六)
自上篇介绍完ThreadManager类后,多线程异步任务工具基本完成。本篇介绍使用该工具,ThreadingTest.cs:线程使用测试类,供参考使用。原创 2021-06-18 10:26:34 · 429 阅读 · 2 评论 -
Unity-线程工具(五)
上篇介绍了ThreadWaitHelper类,ThreadManager.cs:游戏项目多线程管理控制器,其他外界模块系统,只需要通过该控制器开启线程执行任务函数。原创 2021-06-18 10:18:47 · 486 阅读 · 0 评论 -
Unity-线程工具(四)
上篇介绍了线程池多任务处理的脚本实现类。原创 2021-06-18 10:14:38 · 507 阅读 · 0 评论 -
Unity-线程工具(三)
上篇介绍了SingleThreadHelper类,ThreadPoolHelper.cs和MultiThreadedTaskLoadHelper.cs:前者实现使用的线程池ThresdPool和协程Coroutine来处理多任务;后者是在它基础上的再封装和扩展,以方便外界访问。原创 2021-06-18 10:08:23 · 830 阅读 · 0 评论 -
Unity-线程工具(二)
上篇文件介绍了MainThreadHelper类,本原创 2021-06-18 10:01:20 · 463 阅读 · 0 评论 -
Unity-线程工具(一)
进程、线程以及协程的特点:1)进程:一般一个程序对应一个进程,进程是操作系统级别的概念。2)线程:主线程、子线程、线程池、资源的加锁访问,并且它是并行的。单独的线程的执行由操作系统管理(这实际上取决于.NET实现)。 当有多个“逻辑”CPU时,许多线程就能够在不同的CPU上同时执行。多线程的使用情况:大量耗时的数据计算、网络请求(http请求、Socket等)、文件I/O操作、AI、寻路等。3)协程:Unity主线程的协程,不是独立的线程,它是并发的。协程方法可以一段接一段时间地执行,但“节奏”原创 2021-06-18 09:52:53 · 1135 阅读 · 0 评论 -
Unity-Excel表全能转换工具
游戏项目避免不了需要配置各种数据,而这些配置文件一般是由策划来负责编写的。一般他们最喜欢也最熟悉的办公软件就是Excel表了。那怎样把策划编在Excel表中配置的数据导入到游戏项目中来呢?游戏项目中直接使用Excel表可不可以呢?理论上是可以的,笔者似乎也看到过这样的资源插件。但Excel格式文件不是Unity项目通用常见高效地数据存储、传输格式文件如xml/json/lua/csv/db(数据库文件)。因此,一般需要我们程序员写个导表工具。本人写的导表工具有如下几个特点:支持把Excel表中数据一键转原创 2021-06-08 21:14:46 · 2587 阅读 · 14 评论 -
Unity-日志工具
游戏项目开发工程中,既基础也重要的2项重要技能:1)会Debug调试技术 2)会加Log并会看日志信息。本篇文章主要介绍后者,主要介绍在编辑器控制台有效地查看日志信息。最后介绍本人基于项目经验,自己封装扩展的编写的日志工具插件。上面是Unity编辑器日志控制台面板。这里主要介绍上方一排菜单的作用:1)Clear:顾明思义,就是清空控制台所有日志信息。2)Collapse:把相同日志信息“折叠显示”,日志信息后会带数量。3)Clear On Play:是指在编辑器点击运行游戏时,自动.原创 2021-06-01 17:52:32 · 1888 阅读 · 4 评论 -
游戏实时网络通信实现【Socket与FlatBuffer协议】(六)
上篇介绍了关于网络工具的帧调用API的注册监听实现,本篇真正介绍如何使用前面编写的网络工具实现向服务器发送消息,以及监听服务器返回的消息。测试脚本如下:using System.Collections;using System.Collections.Generic;using UnityEngine;using W.NetWork;using MyGame.Sample;using FlatBuffers;/* * Author:W * 网络通信测试 * 1.模拟向服务器发送消原创 2021-05-20 17:17:30 · 312 阅读 · 0 评论 -
游戏实时网络通信实现【Socket与FlatBuffer协议】(五)
上篇介绍完网络工具的实现,本篇介绍辅助类游戏管理器,顾名思义主要是管理控制整个游戏的一些公用的,或者游戏项目各子功能模块的交互等。这边主要介绍“帧”调用事件的注册监听。前面网络通信工具实现中,有部分API需要每帧检查执行。using System;using System.Collections;using System.Collections.Generic;using UnityEngine;/* * Author:W * 游戏管理器 */public class GameMana原创 2021-05-20 17:07:44 · 313 阅读 · 0 评论 -
游戏实时网络通信实现【Socket与FlatBuffer协议】(四)
上篇介绍了传输层Socket的扩展封装,本篇介绍游戏项目应用层对网络的封装。注意的是,使用网络通信协议是FlatBuffer。如果读者不太熟悉该协议,请阅读笔者关于该协议的博客。1)服务器连接的建立与关闭;2)客户端消息的拼接、序列化以及发送;3)服务器返回的消息的监听、反序列化以及派送。using System;using System.Collections;using System.Collections.Generic;using UnityEngine;using FlatBuffe原创 2021-05-18 21:13:18 · 540 阅读 · 0 评论 -
游戏实时网络通信实现【Socket与FlatBuffer协议】(三)
上篇文章介绍了Socket传输单元Byte数组的封装。本篇介绍对网络套接字Socket的扩展封装。1)连接建立与关闭 ;2)byte数据的发送;3)服务器返回的byte数据的监听与接收【使用队列实现缓存】using System.Collections;using System.Collections.Generic;using UnityEngine;using System.Net.Sockets;using System.IO;using System.Threading;using原创 2021-05-18 20:54:07 · 630 阅读 · 0 评论 -
游戏实时网络通信实现【Socket与FlatBuffer协议】(二)
上篇介绍了字节与基本类型数据转换工具的编写。本篇来介绍Byte数组类的实现,Socket网络通信传输的就单元是字节数组,因此有必要对其进行封装。ByteArray既实现了对基本类型数据转换成Byte数组封装;也实现了对Byte数组转换成基本数据类型的封装。using System.Collections;using System.Collections.Generic;using UnityEngine;using System.IO;using System; /* * Author原创 2021-05-18 20:44:44 · 599 阅读 · 0 评论 -
游戏实时网络通信实现【Socket与FlatBuffer协议】(一)
游戏项目基本很难避免不与服务器端通信交互传输数据,除非你只做单机版的游戏。一般的网络游戏在游戏刚启动的时候,需要做资源热更检查处理。这里一般使用http协议,如UnityWebRequest/WWW以及HttpWebRequest等已经封装好的接口来实现。而针对在网络游戏战斗部分,则必须实现长链接,保证数据实时传输发送与接收。一般使用TCP传输协议或者“改善”的UDP协议来实现。这边使用TCP协议。详细的网络通信原理,该系列文章不做介绍,站在项目实用的角度,讲解如何一步一步地实现。本篇文章主要介绍字节与原创 2021-05-18 20:33:43 · 1781 阅读 · 0 评论 -
通信协议-FlatBuffer-Lua对象的序列化与反序列化
上篇文章介绍了FlatBuffer描述文件编写和转换,本篇介绍Lua代码中如何实现协议的序列化和反序列化操作。另外为了可以在Unity中可以执行Lua代码,把XLua插件导入测试工程。测试脚本using System.Collections;using System.Collections.Generic;using System.IO;using UnityEngine;using XLua; /* * Author:W * Lua脚本中关于FlatBuffer协议的序列化原创 2021-05-13 19:35:22 · 1151 阅读 · 0 评论 -
通信协议-FlatBuffer-C#对象序列化与反序列化
上篇文章介绍了FlatBuffer协议的描述文件的编写和转换。本篇介绍C#版协议的序列化与反序列化操作。新建测试脚本ReadAndWriteTest脚本using System.Collections;using System.Collections.Generic;using UnityEngine;using MyGame.Sample;using FlatBuffers; /* * Author:W * FlatBuffer C#消息的序列化与反序列化操作 */p原创 2021-05-13 11:37:27 · 732 阅读 · 0 评论 -
通信协议-FlatBuffer-协议描述文件的编写和批量转换
对于强联网实时需要在服务器端和客户端传输数据的游戏项目,越高效快速解析、内存消耗越低数据传输,对游戏的流畅度体验影响也是很大的。目前针对移动端主流的数据传输格式有Json/ProctoBuf/FlatBuffer。而本篇介绍的FlatBuffer是Google特别针对游戏项目开发的。关于它们之间的优缺点比较,读者可以参考http://google.github.io/flatbuffers/md__benchmarks.html本篇文章主要详细介绍FlatBuffer的协议编写,协议特定语言版本...原创 2021-05-12 20:29:27 · 773 阅读 · 0 评论 -
BestHttp插件
Unity商店有一款评分很高的网络通信插件BestHttp。笔者做了一些简单测试。官方地址:https://assetstore.unity.com/packages/tools/network/best-http-2-155981Demo工程及插件,会在文章末尾提供。using System.Collections;using System.Collections.Generic;using UnityEngine;using BestHTTP;using BestHTTP.Authen原创 2021-05-12 15:49:07 · 9178 阅读 · 7 评论