自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 unity 中带贴图以及动画的模型文件转为 lowpoly 风格的方法

这里的内容是在这篇文章的基础上进行的修改:https://blog.csdn.net/final5788/article/details/50574055原文章中主要是没有提到UV以及骨骼与定点的绑定方法。由于实现lowpoly的风格其实就是将原来的1个点复制为多个点,所以我们只要在复制定点的过程中将相应的顶点属性一同复制即可。这里直接给出完整代码:using UnityEngine;using...

2018-05-11 10:18:35 2640 1

原创 The Balance Jump app support

If you have any questions regarding this app,contact me.email:zgjllf@msn.cn

2018-05-09 23:50:51 265

原创 unity shader中点光源(point light)的光照衰减处理

unity 的shader提供了2种光照模式:ForwardBase和ForwardAdd。如果我们的shader想要处理多种光照,那么这两种光照模式就都要被实现到不同的pass中。其中ForwardBase中处理的必然是平行光,所以想要处理点光源等其它光源需要在ForwardAdd中进行处理。网上很多讲解点光源的文章,很多都特别复杂或者根本运行不了,其实处理起来非常简单,unity已经给我们提供...

2018-03-22 15:03:56 4506 3

原创 untiy 程序生成一个扇形sprite

最近做一个潜入游戏其中有一些敌人面前会有一个扇形的检测范围,不同的敌人检测范围不同,需要策划同学来自行配置来控制扇形的范围。所以这里就选择了使用程序来成成扇形检测范围的纹理。直接给出代码:    /// <summary> /// Generates the sprite. /// </summary> /// <param name="sr"...

2018-03-09 12:28:00 1135 1

原创 判断点是否在扇形范围内

最近做一个潜入游戏其中有一种敌人面前会有一个扇形的检测范围,并且此扇形范围会来回旋转移动,所以就遇到了一个如何判断主角是否在扇形范围内的问题。在网上找了一些方法,但是感觉都太复杂,所以这里自己实现了一下。思路如下:我的扇形的生成方式是从中心方向像两边展开若干角度。所以我们只要算出扇形的中心向量与角色向量的夹脚是否大于扇形的展开角度即可。步骤:扇形的来回摆动是有程序控制,所以这里可以很容易得到扇形当...

2018-03-09 11:53:31 5771

原创 unity 移动平台打包丢失shader的问题

自己写了个shader,并且是从代码里面来进行加载,编辑器中并没有引用。在编辑器中运行项目没有问题,但是当我发布到iso和android平台之后发现游戏中并不能找到我自己的shader,猜想是unity在打包过程中进行了一些优化,没有用到的shader不会被打到游戏包内。我找到了2个解决办法1.随意创建一个物体并添加使用了此shader的材质。并不推荐此方法,正确的方法应该是第二种。2.在Grap...

2018-03-09 11:10:55 4631 3

原创 unity 中使用HSV 颜色模型进行颜色的随机变化

经常能看到一些游戏中背景或是场景颜色的变换,每次进入游戏都能看到不一样的效果,像我之前介绍的游戏Polyforge一样:实现一个这样的效果,可以直接使用rgb颜色来随机,因为平时我们接触到的大部分都是rgb颜色,但是这样的话带来的效果就是有时候亮有时候暗,甚至有纯白纯黑。而我们想要的是鲜艳一些的,有没有办法只获取色系中的彩色部分呢?这时候HSV颜色模型就派上用场了!关于颜色模型有很多种,这里我就不...

2018-02-27 18:25:40 1571

原创 unity 消融效果shader 以及世界空间uv

在腾讯GAD上看到一篇文章http://gad.qq.com/program/translateview/7187984。由于文章中并没有给出源码,所以自己尝试实现了一下,文章最后有完整shader代码。消融效果很简单,只要在fragment中丢弃无效的像素点即可 fixed4 color = tex2D(_MainTex,uv); i...

2018-02-27 13:50:56 1583

原创 unity中实现一个类似x光扫描效果

先来看下效果:原理很简单,首先获取顶点到摄像机的观察方向,然后与顶点的法线方向进行点积算出投影的长度最后再乘以我们设置的颜色值即为最终要输出的颜色。这里要注意观察方向与法线方向要进行归一化。shader代码:Shader "Custom/XLight" { Properties { _Color ("Color", Color) = (1,1,1,1) _MainTex ("Albedo...

2018-02-26 14:47:59 3357

原创 unity 中实现的一个优先队列(堆结构)

之前在我写的关于A*寻路算法的一篇文章中,提到过可以对open列表进行优化,当时只是使用了List并在插入数据的时候进行排序,很明显这是一个典型的优先队列,所以这里我实现了一个优先队列的类,分享出来。文章最后我会给出完整代码,也可以到我的github中获取完整的算法以及测试代码:https://github.com/LiuFeng1011/Test/tree/master/Assets/Prior...

2018-02-26 11:06:21 656

原创 unity中的一个简单易用的A*寻路算法类

以前项目中用到了寻路,就写了个A*寻路的算法类,感觉还不错,这里分享出来。这里有可运行的测试项目:https://github.com/LiuFeng1011/Test/tree/master/Assets/AStarA*算法的原理网上有很多,这里只简单说一下我这个算法的逻辑:*我的这个算法里面没有关闭列表,因为我会根据地图数据创建一个对应的节点数据的数组,每个节点数据记录自己当前的状态,是开启还...

2018-02-24 16:55:22 1812

原创 unity 场景向屏幕中心塌陷的shader

完整代码在我的github中:https://github.com/LiuFeng1011/Test/tree/master/Assets/CollapseTest先来看下效果:shader代码:Shader "Custom/CollapseShader" { Properties { _MainTex ("Maintex", 2D) = "white" {} _Progre...

2018-02-13 00:10:42 1250

原创 unity 屏幕坐标&世界坐标相互转换

世界坐标转屏幕坐标:Vector3 screenPos = Camera.main.WorldToScreenPoint(pos); 屏幕坐标转世界坐标:Vector3 worldPos = Camera.main.ScreenToWorldPoint(pos);

2018-02-11 21:04:53 22113

原创 unity 在编辑器中始终从固定场景开始执行

unity开发过程中,有时候游戏需要一些初始化工作,所以场景需要按照顺序来启动。这样当我们在编辑中间某个场景想要运行时,就必须切换到第一个场景。这时候我们可以使用RuntimeInitializeOnLoadMethod属性,当unity每次开始运行场景时,会首先调用使用此属性标记的方法,我们在该方法中执行一下跳转场景的方法,这样我们就不用每次都要切换场景了。像下面这样:using UnityEn...

2018-02-11 19:18:18 3014

翻译 unity 使用LineRenderer实现飘带飞舞的效果

核心就是控制飘带上的每一个点,计算出相应的位置,然后使用LineRenderer把这些点连成线。首先创建一个物体作为飘带的父物体,这里我使用了一个简单的Sphere。然后给父物体添加Line Render脚本: 赋予Line Render一个材质球,否怎Line Render会显示为洋红色,调整Line Render的一些属性,这里我把width属性改为0.3,原来的1会让我们的线看起来不那么苗条...

2018-02-11 12:08:36 4857 2

原创 untiy Input 获取鼠标以及触摸操作

以下代码放到任意GameObject物体上 public void Update () { Control() ; } private void Control() { if (Input.GetMouseButtonDown(0)) { Debug.Log("MouseButtonDown position: " + Input.mousePosition); }...

2018-02-11 00:31:34 633

原创 unity 接收键盘事件

在任意GameObject脚本中加入以下代码既可: public void Update () { Control() ; KeyControl() ; } private void KeyControl(){ if (Input.GetKeyDown (KeyCode.W)) { Debug.Log("press W"); } if (Input...

2018-02-11 00:11:27 4743 2

原创 unity 代码动态加载材质求 (Material)

首先新建一个shader,在progect面板中右键Create->Shader->Standard Surface Shader.右键刚才新建的shader,选择Create->Material,unity会自动创建一个名称格式为Custom_shadername的材质。接下来就可以在程序中加载这个Material了,2种方式:1.Material mat = Resource...

2018-02-10 22:47:07 12268

原创 unity 程序生成mesh并实现2D山丘地形

首先看一下最终效果:这里我假设读者已经了解并知道如何使用Mesh。如果不懂的话可以百度一下,有很多文章。实现起来其实非常简单,思路:每两个顶点为一组,这两个点的x坐标相同,一个在上一个在下,下边的y坐标固定为0,上边的y坐标从曲线编辑器中取值。然后把生成的mesh赋予物体的MeshCollider。下面给出完整代码:using System.Collections;using System.Co...

2018-02-10 21:49:41 2423

原创 大量兑换码的生成与验证方案(Java)

由于以前也做过很多兑换码的功能,但是也没有考虑过大量的兑换码的情况,所以这里尝试实现了一个生成与兑换的方案,分享出来。当然这不一定是最好的解决方案,这里仅供大家参考。有什么问题或可以优化的地方欢迎留言讨论。*此方案可以根据输入的兑换码数量以及兑换码的字符长度来生成兑换码,每次生成兑换码的最大数量为int的最大值,一般为2147483647,即21亿个。*此方案不需要数据库存储已生成的兑换码,直接使...

2018-02-10 17:14:45 28558 10

原创 unity 编辑mesh顶点位置

在某些特殊情况下,不得不对模型进行一些简单的修改,所以写了个简单的编辑脚本。思路就是获取mesh上的所有顶点,然后在每个顶点位置创建一个控制点,控制点可以是任意你喜欢的物体,通过判断控制点的位置信息来修改mesh的顶点位置。在unity中,mesh上的顶点与几个面相交,就会有几个坐标点,估计是把点为每一个三角形面复制了一份,所以这里在生成控制点时要注意剔除重复的点,不要重复生成。这里我是把每个顶点...

2018-02-10 17:09:49 10572 4

转载 Unity中保存简单数据到prefab的meta文件中

原文:http://www.xuanyusong.com/archives/4227[MenuItem("1/1")] static public void Test() { string path = AssetDatabase.GetAssetPath(Selection.activeObject); AssetImporter import ...

2018-02-10 14:44:55 1515

转载 2017阿里技术年度精选集

阿里公众号里看到的干货,分享一下:《2017阿里技术年度精选集上》下载链接:http://techforum-img.cn-hangzhou.oss-pub.aliyun-inc.com/1515133502691/2017alitech_01.pdf《2017阿里技术年度精选集下》下载链接:http://techforum-img.cn-hangzhou.oss-pub.aliyun-inc.c...

2018-02-10 12:31:24 254

原创 Unity使用git管理项目时场景中丢失脚本的问题

之前使用git忽略文件的配置就是忽略了Temp和Library两个文件夹,后来在网上看到一个unity忽略文件的配置,感觉很全,比自己的好多了,于是就拿来用了,文件是这样的:/[Ll]ibrary//[Tt]emp//[Oo]bj//[Bb]uild/# Autogenerated VS/MD solution and project files*.csproj*.unityproj...

2018-02-10 11:23:30 1438

原创 根据Base24算法衍生的byte[]转字符串的方法

想要找一个可以使用任意长度编码表对二进制数据进行编码的算法,在网上找了很久没有非常适合的,后来想到Base24算法,于是参考Base24的算法自己实现了一个,这里分享一下。这个算法里每个byte固定使用2个字符表示,每个byte先与编码表的长度进行与操作作为第一个字符的索引,然后再进行除操作作为第二个字符的索引。因为每个byte的最大值为127,所以我们编码表的最小长度为(127/编码表长度 &l...

2018-02-09 21:41:22 788

原创 mac系统查看本地php页面直接显示源码的解决方案

新装的mac系统各种一般自带apache服务以及php环境,但是当我们访问本地php页面时会发现php并没有执行而是直接显示源码,这是因为apache服务并没有加载php模块。进行如下的操作就可以解决此问题。1.在/private/etc/apache2目录下找到并打开httpd.conf文件2.找到这一行#LoadModule php7_module libexec/apache2/libphp...

2018-02-08 20:16:13 3420 1

原创 PHP的一个日志记录工具类

接入微信支付SDK的时候,在提供的DEMO里面发现了一个这个log日志的工具类,感觉还挺方便的,所以拿来稍微修改了一下,用在一些小的php项目中还是很好用的。完整的log.php文件:<?php//设置时区ini_set('date.timezone','Asia/Shanghai');//以下为日志interface ILogHandler{ public function ...

2018-02-08 14:53:01 3547

原创 js实现文件拖拽上传并显示待上传的文件列表

此文章中完整的代码在我的github中:https://github.com/LiuFeng1011/WebTest/tree/master/upload首先实现html页面的内容:<body> <div name="single" style="text-align: center; "> <A class=btn_addPic href="...

2018-02-08 14:28:01 7985 1

原创 在html指定元素中显示独立网页内容

这里讲一下如果我们已经有一个完整html页面,现在想要在某个元素内显示另外一个独立的页面应该怎么实现。首先写第一个页面:<!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8" /> <title>test</title>

2018-02-08 12:24:17 897

原创 PHP读取excel并导出xml文件

项目需求是策划从网页里上传excel文件到服务器,服务器把excel转换为xml并进行存储,客户端读取配置表直接获取服务器的xml文件即可。下面分享一下对前端上传的excel文件进行转换的方法:这里需要下载phpexcel插件:https://github.com/PHPOffice/PHPExcel/tree/1.8/Classes完整代码:<?php require_once "ba...

2018-02-08 11:42:08 646

原创 unity 使用超椭圆方程对图片进行裁切制作圆角矩形

今天无意间在网上发现了一个公式,叫做超椭圆方程,效果就是圆角矩形:原文地址:http://blog.csdn.net/tom_221x/article/details/50924154原文中是使用shader来实现,这里我使用这个公式来尝试直接读取图片文件生成sprite。步骤1.读取texture文件Texture2D tex = (Texture2D)Resources.Load(filepa...

2018-02-08 00:11:57 689 1

原创 unity 接入fyber广告SDK

最近集成fyber SDK,这里记录一下:后台配置方面的内容是其它人弄好的,我没有参与,所以这里不讨论,有需要直接参考官方文档即可:https://unity.fyber.com/docs/welcome1.下载unity 包:https://unity.fyber.com/docs/download-unity-plugin点击最下面的按钮即可下载下载后是个uni

2018-02-07 18:28:05 3047 3

原创 unity中接入Google Play SDK

参考:Google Play Games plugin for Unity:https://github.com/playgameservices/play-games-plugin-for-unity#paste-the-game-resources-into-the-plugin-setup-dialogSetting Up Google Play Games Services

2018-02-07 17:48:15 7825 4

原创 unity通过降低分辨率来提高游戏运行效率

之前做了一个小游戏,功能很简单,内容很少,但是游戏使用了1个后期shader,导致在一些低端的android机器上连30帧都跑不到,偏偏游戏又要在高帧率下才能有非常好的体验(跑酷类游戏),真是让人头疼,想要优化却没有什么头绪,游戏本身就很小,没啥逻辑,也没啥图,也不想要去掉shader,因为还要靠这个来给游戏效果加分。shader也很简单,没有复杂的运算,就算把shader的所有逻辑去掉,直接原样

2018-02-07 17:21:17 3897

原创 java中程序动态配置log4j日志

上一篇讲了如何配置log4j,但是都是固定的输出方式,如果我们想要动态的改变输入方式该怎么办呢?比如我们有一个网络游戏在测试阶段,而这个游戏中玩家是以房间的形式组合在一起,这时我们如果想要测试房间内的逻辑是否正常,输出log的话都会存放在同一个日志文件内,如果遇到bug想要找起来非常困难,所以我们需要对每一个房间生成一个独立的log文件来进行保存。代码: public stati

2018-02-07 15:59:27 2795

原创 java 中的日志记录 log4j的使用

我们在编写代码的时候有各种需要打印日志的需求,这里记录一下如何使用log4j记录日志。我的项目都是使用maven来管理的,所以只要在pom.xml文件中添加以下内容即可: log4j log4j 1.2.12 org.slf4j slf4j-log4j12 1.7.21 org.lazyluke lo

2018-02-07 13:53:21 158

原创 java mina通信框架中断包粘包的处理

关于mina的断包粘包问题网上有很多,但是大部分都感觉写的有些复杂而且不够美观,这里分享一个我的解决方案:直接给出doDecode方法 protected boolean doDecode(IoSession is, IoBuffer ib, ProtocolDecoderOutput pdo) throws Exception { int remain = ib.rem

2018-02-07 11:38:30 201

原创 java服务器开发:基于mina的网络通信模块

项目已分享到我的github上:https://github.com/LiuFeng1011/DGServer客户端测试项目使用的是unity,之前的文章中已经有介绍地址:http://blog.csdn.net/zgjllf1011/article/details/79216072为了将业务层与网络层分离,使开发人员不必关心底层部分的内容,这里将此模块剥离为独立项目。此项

2018-02-07 10:38:24 648

原创 mac 搭建android开发环境

这里推荐一个网站,各种android相关的东西基本都可以找到。1.下载并安装jdk,都是安装包,直接安装就行,完事在终端输入java -version命令查看是否安装成功2.下载adt bundle,是个压缩包,直接解压。解压后里面包含SDK和eclipse.并且eclipse中已经包含了ADT,不需要额外安装。3.打开eclipse。这时候eclipse中应该看不到and

2018-02-07 01:41:53 191

原创 unity excel配置表导出工具

很久之前写的一个工具,用于把excel导出为二进制文件,供游戏读取。完整项目在我的github中:https://github.com/LiuFeng1011/Test/tree/master/Assets/ExcelTools使用方法将ExcelTools放在项目Assets文件夹中创建配置表:同一张表中可以有多个工作簿,第一行为注释,程序中不会读取,第二行为字段

2018-02-06 21:56:00 4653

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