
技术实现
文章平均质量分 70
@onelei
《游戏AI程序设计实战》作者
展开
-
Jenkins自动化打包
Jenkins自动化打包原创 2024-01-30 17:40:16 · 1330 阅读 · 0 评论 -
Unity图片转字符画
将一张图不断的放大, 最后会显示成一个个色块, 这个其实就是图片的像素点, 图片都是由像素点组成的. 那么我们将对应的颜色替换成相应的字符, 即可实现字符画颜色的色值通常是RGB组成, 将0~255的颜色先进行灰度调整, 然后把每个位置对应的像素点和字符做个对应即可.先定义一下需要的字符(按照从稠密到稀疏的方向做排序, 反过来也可以,影响的只是底图的显示)然后灰度处理色块和字符映射Unity的rgb是0-1范围,这里为了处理方便转换到0-255了,然后字符的下标为了避免超出范围,这里是除以256最后看原创 2022-06-29 19:09:44 · 727 阅读 · 0 评论 -
手把手教你实现抖音里面的漫画脸
手把手教你实现抖音里面的漫画脸抖音里面有一个漫画脸特效,上传一个自拍的头像,会自动给你生成一个漫画脸。市面上有些拍照软件提供了漫画脸的功能,不过需要付费。相信很多人都想拥有一个属于自己的漫画头像。本篇文章将为你解开漫画风格的图像是如何生成的。提到漫画风格自然离不开机器学习、图像处理等各种算法。这里不会介绍复杂的理论和各种数学公式,而是针对目前的开源方案ganilla进行讲解如何操作。使用效果武康路在这里插入图片描述风景千岛湖大话西游如何实现1.从Github上面下载https原创 2021-02-27 16:21:15 · 3099 阅读 · 2 评论 -
Go语言开发Excel导表工具(上)
Go语言开发Excel导表工具(上)前言游戏开发中经常会遇到将Excel文件导出配置的需求,鉴于之前的导表工具面对数据比较多的表格(尤其是多语言表格)导致导表速度很慢,因此想自己实现一个导表工具。调研目前市面上编程语言比较多:Node、Python、C#、Go… 以前项目中有用C#的也有用Python的,对比发现Python导表还是挺快的。(后来发现其实使用不同的Excel读取插件,执行效率还各有不同)在前期调研中发现了网站https://zhuanlan.zhihu.com/p/29847628原创 2021-01-15 20:34:21 · 639 阅读 · 0 评论 -
OneTweenPro:OneTween Pro版
OneTweenPro:OneTween Pro版OneTweenPro不仅包含了OneTween的所有功能,同时包含了DOTween的所有功能。目前来说基本上能满足市面上所有Tween的功能,下面将详细列出。OneTweenPro 是一个更方便高效的无GC的Unity下的Tween动画插件。不仅仅所见即所得,同时包含了市面主流Tween的功能。特点OneTweenPro 不仅包含OneTween的所见即所得等所有功能,同时还有如下的独特之处:支持DOMove、DOMoveX、DOMoveY原创 2020-10-09 22:26:09 · 346 阅读 · 0 评论 -
临时字符串0GC解决方案--OneString
OneString 是一个 0 GC ToString 解决方案。传统的数字或者bool变量转换成string的时候会产生GC。由于string是不可变的,每次修改string的值,内部都会生成一个新的string。如果我们需要临时打印某个值,使用系统提供的 ToString 函数就会不可避免地产生一个新的string,我们其实并不需要保存这个string的值,仅仅是为了打印一下,这是我们不想看到的结果。因此如果有一个临时字符串在我们使用之后,自动回收重复利用,并且不会产生GC就好了。OneString .原创 2020-05-29 11:02:34 · 1693 阅读 · 0 评论 -
3D世界屏蔽UI的响应事件
3D世界中屏蔽UI的响应事件在Unity游戏开发中,我们会经常遇到这样一个问题:拖拽3D场景来预览当前的世界。即通过拖拽鼠标来控制相机的位置。但是场景中一般都会有UI界面悬浮在最上层。当我们滑动UI界面上面的滚动列表的时候,会发现此时的场景会跟着移动。这是我们不想看到的。正确的结果应该是拖动场景的时候相机才移动,这才符合我们的设定。因此就需要一个接口来判断当前鼠标是否点击到了UI上面。public bool IsPointerOverGameObject() { if (Inp原创 2020-05-15 14:40:23 · 544 阅读 · 0 评论 -
Unity下所见即所得动画方案–OneTween
Unity下所见即所得动画方案–OneTween做过游戏UI动画的都知道UI动画一般包含Position, Scale, Rotation, Alpha等。一般都是使用DoTween等插件,通过代码设置UI的参数。但是市面上的UI动画插件总是缺少一个所见即所得的功能。就是在编辑器模式下编辑动画,就能够直接看到动画效果,而不需要运行游戏就可以预览动画。这就是下面要介绍的所见即所得的UI动画插件On...原创 2020-05-05 19:58:39 · 844 阅读 · 0 评论 -
华为手机安卓9以上获取系统多语言出错的解决方案
华为手机安卓9以上获取系统多语言出错的解决方案事情的起因是做海外项目的时候需要进行多语言处理。我们通过Unity自带的Application.systemLanguage接口获取手机的语言环境一直没啥问题。但是在华为手机的安卓9系统的时候,我们在切换到繁体中文之后,通过Unity的接口发现使用显示是ChineseSimplified简体中文。一开始我们想的是Unity引擎可能没有兼容到,所以...原创 2020-03-23 14:27:31 · 2060 阅读 · 0 评论 -
字符串优化加强版–StringPool
字符串优化加强版–StringPool之前写过一篇string字符串优化相关的文章,但是里面是使用一个static静态变量。先看下之前的代码using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Lemon{ public class QStrin...原创 2020-02-17 12:53:59 · 600 阅读 · 0 评论 -
[Unity Shader]凌波微步效果
[Unity Shader]凌波微步效果相信很多人都看过天龙八部,里面的段誉有一个技能就是凌波微步:移动的时候人先到,衣角跟随其后。说白了就是移动时有一个残影跟着他。下面先看下最终效果下面我们看如何实现上面的效果。思路:1.既然需要移动,那么就需要一个3维(x,y,z三个方向)的数据存储,同时还需要一个变量用来表示偏移强度。2.需要一个2d贴图来做采样因此Shader代码很快就出来了...原创 2020-02-10 21:31:07 · 814 阅读 · 0 评论 -
UGUI自动化–正篇UIBaseGenerate
UGUI自动化–正篇UIBaseGenerate通过UGUI自动化的前面几篇文章介绍的常用UGUI控件的封装,接下来终于要步入正题了。没错今天就开始介绍如何根据UI控件的名字自动生成变量然后自动将控件和变量序列化。废话不多说,先上图。UISample_UI如上图的界面所示,我们搭建一个简单界面如上所示,一个按钮以及一个界面标题。接下来我们看下其对应的Prefab结构。请注意Prefab...原创 2020-02-06 20:27:28 · 353 阅读 · 0 评论 -
UGUI自动化–QButton&QToggleButton&QToggleButtonGroup
UGUI自动化–QButton&QToggleButton&QToggleButtonGroup本系列来自https://github.com/onelei/Lemon/tree/master/Assets/QGUI 今天接着介绍UGUI自动化中的Button和ToggleButton控件,相信读了前几篇文章的渐渐理解了设计思路。QButton继承自UGUI的Button组件,Q...原创 2020-02-06 16:00:27 · 435 阅读 · 0 评论 -
Unity Debug Dll 编写
Unity Debug Dll 编写Debug.Log存在的问题在Unity调试代码的时候,我们经常要用到Debug.Log函数。 UnityEngine.Debug.Log(message);平时开发的时候需要打印Log,但是出包的时候需要屏蔽掉对应的Log打印。这时候有人或许说了,Unity提供了UNITY_DDITOR编辑器下的宏,我们调用Log函数的时候可以通过添加宏来控制显示。...原创 2019-12-02 21:46:41 · 386 阅读 · 0 评论 -
Unity红点系统的实现
Unity红点系统的实现在使用Unity开发游戏的时候经常用到红点系统,当玩家点击之后,或者收到服务器数据之后,都需要刷新红点的显示。如果每个人都自己写自己的红点模块,会增加不少的重复任务量,因此迫切需要一个通用的红点系统,其他模块只需要编写自己模块的红点类型和对应的是否显示红点的判断即可。因此RedDotManager应运而生。案例下面通过一个邮件红点来演示如何操作使用。如下图,当点击系统...原创 2019-11-13 16:42:32 · 6283 阅读 · 4 评论 -
Unity FlappyBird游戏实现
Unity FlappyBird游戏实现FlappyBird下面看看实现效果实现我们需要规划一下Bird的位置为坐标(0,0),Bird不用在水平方向上移动,只需要将整个背景向左移动即可。首先地板BackGround分为两块,两块地板一起向左移动,当地板超出视野的时候将其移动到最右边,然后接着向左移动,以此来实现循环滚动的效果。BackGround_Left坐标是(0,0,0),B...原创 2019-10-16 15:20:38 · 915 阅读 · 0 评论 -
Unity UGUI 数字使用图片显示-BMFont
Unity UGUI 数字使用图片显示-BMFontBMFont之前使用Cocos引擎的时候需要用到艺术字也就是将数字使用美术给的图片来代替显示,也就是要做一个新字体专门用来显示艺术字,当时用的是BMFont来制作字体。那么问题来了,在Unity下面的UGUI能否使用呢?答案当然是OK的啦。下面我们来看下如何使用BMFont。从网站https://www.angelcode.com/pro...原创 2019-10-15 18:17:40 · 3307 阅读 · 7 评论 -
Unity AssetBundle 教程
Unity AssetBundle 教程AssetBundle是Unity用来处理资源热更新的,下面简单介绍AssetBundle的所有操作。本教程使用的Unity版本:Unity 2018.2.12f1 (64-bit)AssetBundle打包设置AssetBundle名字手动设置打包之前按照上图所示的方法,设置一下AssetBundle的名字。自动设置将需要进行AssetBu...原创 2019-10-12 20:54:23 · 550 阅读 · 0 评论 -
【Unity Image Effect】Vignetting 光晕效果
【Unity Image Effect】Vignetting 光晕效果Vignetting 光晕效果 :可以实现场景中的聚焦,以及对中心之外的物体做模糊处理是什么上图是王者荣耀的游戏截图,王者荣耀在战斗结束的时候都会做背景模糊处理,场景模糊的效果很赞。怎么做Unity的 Image Effect插件有很多自带的各种效果处理。因此我们先来看看有没有合适的。导入Unity的 Image ...原创 2019-09-23 21:10:57 · 2488 阅读 · 0 评论 -
【Unity Image Effect】Blur 模糊效果
Unity背景模糊效果实现技术最开始是想自己写Shader做模糊处理,网上也参考了很多Shader的实现,发现效果都不理想。C#代码做高斯模糊处理效果也差强人意。而且UI界面打开的时候如果做背景模糊,处理耗时太长。后来发现Unity的assetstore里面的Legacy Image Effects插件有相机模糊处理功能,因此打算尝试一下。将该插件导入原创 2019-09-23 20:29:32 · 5014 阅读 · 0 评论 -
【MonumentVally】纪念碑谷技术实现
【MonumentVally】纪念碑谷技术实现是什么《纪念碑谷》(Monument Valley) 是一款由Ustwo独立游戏工作室在2014年开发和发行的解谜游戏。在游戏中,玩家引导主人公“公主”艾达在错视和不可能的几何物体构成的迷宫中行走,达到每个关卡的目的地。依靠强大的视觉错位设计获得2014年苹果设计奖,并获得苹果2014年最佳iPad游戏的提名。下面将针对游戏中如何实现视觉错位进行剖...原创 2019-09-04 18:07:43 · 3829 阅读 · 1 评论 -
Unity数据存储Sqlite的使用
Unity数据存储Sqlite的使用是什么Sqlite是一个SQL数据库引擎。为什么之前的项目中基本都是使用PlayerPrefs来存储数据,但是由于后期数据结构复杂的情况下,比如存储一个List的结构数据,通常是自己控制写法添加逗号,分号来将数据分隔开。如果哪里写错了,整个数据就会错位导致数据错乱,维护起来非常麻烦。由于服务器的数据存储都是使用数据库SQL,因此打算在前端也使用数据库存储...原创 2019-09-12 22:11:48 · 1473 阅读 · 0 评论