自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 资源 (2)

原创 layabox 2d向量

这是一个以前在flash中用的向量类package utils{ public class Vector2D { private var _x:Number = 1.0; private var _y:Number; public function Vector2D(x:Number=1.0,y:Number=0) { _x = x; _y = y; } //拷贝向量 public function clone():Vector2D

2020-09-21 21:47:00 20

转载 cocos creator 类似unity Expand适配

const {ccclass, property} = cc._decorator;@ccclassexport default class CanvasLayout extends cc.Component { curDR:cc.Size = null; onLoad () { var cvs = cc.Canvas.instance; //保存原始设计分辨率,供屏幕大小变化时使用 if(!this.curDR){ .

2020-09-02 10:54:51 21

原创 unity c# 大数值处理

要求.netframework4.0private static string[] toLargeNumSign = new string[] {"K", "M", "B", "T", "AA", "AB", "AC", "AD", "AE", "AF", "AG", "AH", "AI", "AJ", "AK", "AL", "AM", "AN", "AO", "AP", "AQ", "AR", "AS", "AT", "AU", "AV", "AW", "AX", "AY", "AZ" .

2020-08-31 14:28:53 46

原创 UGUI 用图片遮罩

在UGUI或者Sprite中,有图片作为遮罩层的情况,但是因为使用了SpriteAtlas,会造成取得的遮罩的uv是错误的。所以我们需要得到正确的uv。有两种方式,其实算法都一样,目的就是获取正确的遮罩层的uv。第一种,通过外部传入一个vector4的值在c#中,对材质传递Sprite信息值if (img.sprite){ Sprite sprite = img.sprite; Vector4 result = new Vector4(sprite.textureRe

2020-07-08 10:27:31 95

原创 UGUI 文本加粗

这是用的Aril字体,通常情况下,直接用<b>达不到这样粗的效果,所以需要重新写一个字体效果,类似描边的效果。上面的图片就是效果和所设置的参数。下面是代码,参考其他人的代码改编的using UnityEngine;using System.Collections.Generic;using System.Text.RegularExpressions;using UnityEngine.UI;[RequireComponent(typeof(Text))]publ...

2020-07-01 18:34:51 182

原创 UNITY_MATRIX_IT_MV

MV transforms points from object to eye space IT_MV rotates normals from object to eye space上面是文档上的定义,可以看出IT_MV主要用于法线,那为什么法线不用MV来转换呢,那是因为法线和切线有方向,如果模型在非等比例缩放时,方向向量会变化,所以不能直接用MV...

2020-07-01 10:06:39 133

原创 Unity multi_compile_instancing

对于大量相同模型的性能优化,在shader方法,可以用gpu instancing方式。例如这个简单阴影计算的pass,注意里面有很多UNITY_开头的命令//投影的计算PassPass{ Name "Shadow" Stencil { Ref 0 Comp equal Pass incrWrap Fail keep ZFail keep } Blend SrcAlpha OneMinusSrcAlpha ZWrite Off Offset -1, 0

2020-07-01 09:50:21 173

原创 Unity导出安卓工程运行报错,或者打不出apk解决办法

在build.gradle中加checkReleaseBuilds falselintOptions { checkReleaseBuilds false abortOnError false}可以直接改Unity安卓目录中的安卓工程模板,以免每次都要手动添加

2020-07-01 09:32:24 142

原创 Unity3D描边

描边的方式有好几种一种是根据法线方向扩展模型的方式,这种方式最简单,但效果不好。第二种是将法线转到投影空间后,再扩展顶点,这种方式比第一种好一点点,但是模型的线还是会有断面第三种是在第二种基础上,重新计算法线,防止断线,而重新计算的法线数据,可以存入模型的切线数据中,这种出来的描边效果最好。下面主要是第三种的实现方式:重新计算法线的方法:private void WirteAverageNormalToTangent(Mesh mesh){ var vertics .

2020-07-01 09:28:21 85

原创 Unity顶点光照Blinn-phong

在手机游戏中,如果又想要光照,又想性能好,可以考虑用顶点光照,虽然效果上差了一点,但是如果物体属于低多边形,或者物体比较小,这两种情况下可以考虑用这种光照效果。顺便还可以给模型加顶点颜色,直接使用顶点颜色来控制模型的显示。Shader "_Game/Blinn-Phong Vertex Light" { Properties { _Specular("Specular",Color) = (1,1,1,1) _Gloss("Gloss",Range(1.0,256)) = 20

2020-06-12 10:54:00 118

原创 git在没拉取之前推送造成冲突解决办法

第一种:保留本地的更改,中止合并->重新合并->重新拉取$:git merge --abort$:git reset --merge$:git pull解决办法二:舍弃本地代码,远端版本覆盖本地版本(慎重)$:git fetch --all$:git reset --hard origin/master$:git fetch...

2020-06-10 10:40:01 318

原创 Unity旋转

只在水平方向上旋转:可以将方向向量投影到水平方向,再来计算旋转Vector3 dir = (target.position - transform.position).normalized;//投影到水平方向dir = dir - Vector3.Project(dir,Vector3.up);Quaternion quaternion = Quaternion.LookRotat...

2020-03-31 16:00:00 50

原创 Surface shader 多个Pass的写法

在surface shader中,虽然不能用pass这个词,但是最终的shader生成后,会自己生成pass。那如果我们想在Surface shader中写多个pass怎么办?其实我们只需要把一个pass的内容包含到CGPROGRAM .... ENDCG 之中就行了,例如下面的shader:Shader "Custom/MySurface"{ Properties ...

2019-12-24 14:44:27 555

原创 Layabox 头条对接

头条包括了今日头条和抖音等,头条的平台直接用一套代码支持他的全平台,不像腾讯微信和手Q还是单独的,而且有些api还不兼容。头条的 api 和 腾讯的基本一致,下面只是列出一些不一样的点供大家参考:1. 调用 tt.getUserInfo()此接口需要在 tt.authorize("scope.userInfo") 之后调用才有作用。2. 要注意头条的权限 值和腾讯的有一些不一致...

2019-08-24 17:27:25 1192

原创 layabox Native 自己下载资源并缓存

我们在开发中,不管是打的网络版还是本地版,或多或少都有可能加载一些网络上的资源,并且这些资源不想用dcc方式,毕竟现在苹果对热更新管得比较严,那如果不用dcc方式,我们在Native上面的资源用Loader去加载后,并不会缓存到本地,这样会造成网络流量的浪费。经过我对Laya生成的Native中的js脚本进行分析,以及多次尝试才做出来,而官方很不想帮忙回答这些问题,一问问题就是让你交钱成VIP...

2019-08-09 19:07:13 1356 1

原创 layabox 开发的一些坑

1. 在音乐恢复播放的坑在微信等小游戏上,在回到游戏中时,需要调用背景音乐的resume方法,但是多次切后台再回前台,调用SoundChannel的resume居然没有效果,这时需要先调用一次SoundChannel的pause,再调用resume就可以了。2. 使用graphics 作为遮罩例如我们用graphics画一个圆,并且这个圆有边线,如果此时将这个圆拿去做其他对象的遮罩...

2019-07-27 14:34:42 1827

原创 Layabox 实现画 刚体线

Layabox 的刚体里面只有一个b2PolygonShape,而为了实现画刚体线,我们需要用到复合Shape,也就是多个Shape组成一个刚体。此时如果用Layabox自带的Collider就实现不了,所以我们需要继承ColliderBase来实现复合体,下面是代码package{ import laya.physics.ColliderBase; import la...

2019-07-24 14:07:40 817 1

原创 Layabox 实现 PageView 翻页

Layabox 中没有 PageView这个组件,cocos creater中有,但是我们可以轻松地使用 List来实现PageView功能。具体方式是计算出滚动后要停在所在的Cell的索引值,使用通过 List的tweenTo方法来滚动到相应位置。先看下面的效果下面是代码:package{ import ui.PageViewTestUI; import...

2019-07-24 13:56:52 1142

原创 Android隐藏虚拟按键

View gameView = xxxxxx; //获取当前View//隐藏虚拟按键,并且全屏if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower api gameView.setSystemUiVisibility(View.GONE);} else if (...

2019-07-15 15:17:31 1847

原创 laya中使用 ttf 字体

在layabox中使用ttf相当麻烦,当前我说一下在Laya模拟器和微信小游戏中怎么使用TTF字体。在微信小要用微信自带的api来加载字体if(Browser.onMiniGame && Browser.onWeiXin){ console.log(__JS__("wx").loadFont("font/Crimewave BB.ttf")); console.lo...

2019-06-20 13:51:01 2604

原创 laya 位图字体

我们在使用laya中,或多或少会用到一些位图字体,位图字体创建的方式很多,但laya只支持导出为XML的fnt格式,而xml在微信小游戏上需要另加额外的解析库,这就导致了包大小的增加。而位图字体导出工具并不是只能导出xml格式的字体,还可以导出成文本格式,既然这样,我们为什么不直接解析文本格式呢?下面是我解析文本格式的代码,字体创建是通过http://kvazars.com/littera...

2019-06-20 13:42:23 571

原创 Unity Shader 扇形进度条

我们知道在Unity后面的版本中SpriteRenderer已经有了Tiled功能,可以实现扇形进度条的功能,不过如果我们需要多种样式的进度条,可能就需要写shader了。下面是实现扇形进度条的代码,如果需要其他样式 的,可以直接修改。Shader "My/Pie" {Properties { _MainTex ("Base (RGB) Trans (A)", 2D) = "whi...

2019-06-17 10:07:06 847

原创 Cocos Creater 获取和设置世界坐标

cocos creater当一个节点设置到另一个节点下面 时,在世界中的坐标会变化,而Unity中重新SetParent,世界坐标不会变化。我们可以先将坐标转换到世界坐标,然后设置了父节点后,再将世界坐标转成局部坐标。private getWorldPos():cc.Vec2{ return this.node.convertToWorldSpaceAR(cc.Vec2.ZERO...

2019-05-24 15:41:21 3432

原创 Unity中 清除对象的所有事件侦听

public static void ClearAllEvents(object objectHasEvents){ var events = objectHasEvents.GetType().GetEvents(); if (events == null || events.Length < 1) { return; } foreach (var info in e...

2019-03-28 12:32:13 2349

原创 Unity画面压缩

因为Google广告政策的原因,游戏中Banner广告不能遮挡游戏操作元素,一种是把操作内容移动一下,留出广告空间。另一种方法是将Unity画面压缩,把Banner广告位置显示为黑色。为此我们需要修改Camera的投影矩阵。通过获取广告的高度来计算。但是留出的位置还是会触发触摸事件,我们可以用一块黑色 的UI来遮挡using UnityEngine;using System.C...

2019-03-28 12:27:34 158

原创 C# 获取两线段交点

//获取两直线交点,z 值没有用 public static Vector3 GetIntersection(Vector3 lineAStart,Vector3 lineAEnd, Vector3 lineBStart,Vector3 lineBEnd) { float x1 = lineAStart.x, y1 = lineAStart.y; ...

2018-12-29 22:38:43 3725 1

原创 Unity之大地图分割保存

我们在做大型3D游戏时,资源比较大的一部分就是场景,场景包含很多模型和贴图,还有Lightmap图片和数据,为了将一个场景打包成一个assetbundle以方便动态加载,可以把整个场景打成一个assetbundle,场景中的材质和贴图以及LightMap打到另一个assetbundle里面,这种方式最简单,但是打出来的场景包会很大,相当于场景中所有的模型都打了进去,如果其他场景没有用到这个模型还好...

2018-04-09 12:07:21 4808 1

原创 Unity之布料效果

上面的效果是Blinn-phong 加Detail 做出来的,BlinnPhong 是常用的一种带有反射的光照算法。而为了达到布料的效果,还需要加两张贴图,一张是面料的Detail贴图,另一张是布料的法线贴图。下面的代码只是演示代码,里面的光照是写死了的,如果大家要用动态光去控制,需要自己改。至于布料相关的贴图可以在网上搜索,因为不同类型的面料Detail和DetailNormal贴图不一样。Sh...

2018-03-29 11:24:48 3239 1

原创 Unity Shader Property 默认参数

//Float类型,下面对应变量可以用flaot,half,fixed  _Name("Inspector Name", Float) = defaultValue  //Float类型,可以用一个滑动条控制范围,下面对应变量可以用float,half,fixed  _Name("Inspector Name", Range(min, max)) = defaultValue  //颜色类型,下面...

2018-03-09 17:26:30 1373

原创 给场景自动添加AssetBundleName

[MenuItem("Tools/Auto Scene Bundle")] static void AutoSceneBundleName(){ List filesPaths = new List(); filesPaths.AddRange( Directory.GetFiles(Path.GetFullPath(".") + Path.DirectorySepara

2017-11-06 21:37:11 249

原创 Unity 给代码添加命名空间

下面是快速对项目中的代码添加命名空间。using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;using System;using System.IO;/// /// 给脚本添加和修改命名空间/// public class AddNamesp

2017-10-16 15:41:10 5798

原创 Unity 重置项目资源的guid

有时需要将多个项目的资源合并到一个项目中,但有可能有些资源是共用的,它的guid是一样的,这样合并到一个项目时,可能会超成冲突。如果要让每个资源的guid都不相同,就需要重新生成guid,并且更新引用。下面是步骤1. UNITY菜单-> Editor > Project Setting - > Editor 设置 Version Controller 为Visible Meta

2017-10-16 15:36:37 5715 2

原创 Unity Shader之动态阴影

动态阴影在Unity中,默认是使用ShadowMap,原理是通过生成投影深度图来比较,但是由于在移动平台对深度浮点值计算的限制,使得ShadowMap技术在移动平台要么效果不理想,要么需要消耗大量的计算。所以常见的处理移动平台阴影的方式是使用RenderTexture + 投影,如王者荣耀中的实时阴影。具体的方式是先渲染一张RenderTexture,这张RenderTex

2017-08-29 11:59:18 2844

原创 Unity Shader之投影

投影在3D游戏中经常使用,比如弹孔,血溅到地面上,贴花等效果都可以使用投影。投影在Unity中的是一个Projector的Component,它上面的参数跟Camera的参数极为相似,其实可以理解,它的目的就是为shader提供需要的矩阵参数。最主要的参数就是unity_Projector和unity_ProjectorClip两个。unity_Projector参数是投影Cookie贴图

2017-08-29 11:33:29 2446

原创 Swift自定义事件分发

Swift自带有Notification,可以作为事件分发用,下面是自定义的一种事件分发,使用观察者模式/// 自定义消息分发类,为单例/// 注意:添加侦听后,一定要移除public final class Messager{ private static var _shared:Messager? public static var shared:M

2017-07-23 21:34:49 491

原创 Swift 单例

final public class MySingle { private static var _shared:MySingle? public static var shared:MySingle!{ get{ if _shared == nil { _shared = MySingle

2017-07-23 15:43:35 349

原创 Swift 中使用SDWebImage

SDWebImage是开发中常用的插件,主要用于加载外部图片,具有缓存图片资源的功能,然而SDWebImage是由Object-C所写。步骤:下载SDWebImage , https://github.com/rs/SDWebImage4.0版本还需要下载FLAnimatedImage, https://github.com/Flipboard/FLAnimatedImage将上面

2017-07-23 10:43:33 7247

原创 Unity Spine 换图(通过外部图片)

在spine中,如果想通过外部一张单独的来替换动画中的某个部位,需要手动创建Attachmentusing UnityEngine;using System.Collections;using Spine.Unity;public class ChangeSkin : MonoBehaviour { private SkeletonAnimation anim; public T

2017-06-23 15:38:58 4629 4

原创 typescript中使用字典Dictionary

//key为string , value为numbervar map: { [key: string]: number; } = { "t" : 3, "o" : 5, "g" :10};for(let k in map){ egret.log(map[k]);}

2017-05-27 09:52:23 32835

原创 在Unity中使用DragonBones运行库

一、首先到github上下载运行库,地址是 https://github.com/DragonBones/DragonBonesCSharp二、然后在DragonBones软件中将动画导出数据,数据有图集、动画数据、贴图数据 三部分组成。三、将这些数据放到unity中,最好一个动画放一个文件夹,注意导出时的项目名最好不要重复,否则可能和其他动画冲突四、选中ske文件,然后点右键》 Dr

2017-05-24 11:15:13 4737 2

div布局软件-主要用于div对网页进行前期的布局

主要用于div的布局,通过可视化的拖动层,可以更方便的进行网页的布局

2009-10-28

C#图片上传下载,图片和二进制之间的转换

用C#用图片的上传和下载,包括command,reader,adapter对图片的上传数据库和从数据库下载等操作。

2009-02-19

空空如也

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