bingheliefeng的专栏

游戏开发

C# 获取两线段交点

//获取两直线交点,z 值没有用 public static Vector3 GetIntersection(Vector3 lineAStart,Vector3 lineAEnd, Vector3 lineBStart,Vector3 lineBEnd) { f...

2018-12-29 22:38:43

阅读数 28

评论数 0

Unity之大地图分割保存

我们在做大型3D游戏时,资源比较大的一部分就是场景,场景包含很多模型和贴图,还有Lightmap图片和数据,为了将一个场景打包成一个assetbundle以方便动态加载,可以把整个场景打成一个assetbundle,场景中的材质和贴图以及LightMap打到另一个assetbundle里面,这种方...

2018-04-09 12:07:21

阅读数 1548

评论数 1

Unity之布料效果

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

2018-03-29 11:24:48

阅读数 1160

评论数 1

Unity Shader Property 默认参数

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

2018-03-09 17:26:30

阅读数 350

评论数 0

给场景自动添加AssetBundleName

[MenuItem("Tools/Auto Scene Bundle")] static void AutoSceneBundleName(){ List filesPaths = new List(); filesPaths.AddRange( Di...

2017-11-06 21:37:11

阅读数 159

评论数 0

Unity 给代码添加命名空间

下面是快速对项目中的代码添加命名空间。 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; using System; using System.IO;...

2017-10-16 15:41:10

阅读数 1916

评论数 0

Unity 重置项目资源的guid

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

2017-10-16 15:36:37

阅读数 2222

评论数 2

Unity Shader之动态阴影

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

2017-08-29 11:59:18

阅读数 2080

评论数 0

Unity Shader之投影

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

2017-08-29 11:33:29

阅读数 712

评论数 0

Swift自定义事件分发

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

2017-07-23 21:34:49

阅读数 258

评论数 0

Swift 单例

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

2017-07-23 15:43:35

阅读数 290

评论数 0

Swift 中使用SDWebImage

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

2017-07-23 10:43:33

阅读数 3932

评论数 0

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

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

2017-06-23 15:38:58

阅读数 2717

评论数 3

typescript中使用字典Dictionary

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

2017-05-27 09:52:23

阅读数 17683

评论数 0

在Unity中使用DragonBones运行库

一、首先到github上下载运行库,地址是 https://github.com/DragonBones/DragonBonesCSharp 二、然后在DragonBones软件中将动画导出数据,数据有图集、动画数据、贴图数据 三部分组成。 三、将这些数据放到unity中,最好一个动画放一个文...

2017-05-24 11:15:13

阅读数 2914

评论数 2

2d多点旋转,缩放,移动

#region 触摸和旋转 //上次记录的两个触模点之间距离 float lastDistance = 0f; float preRadian = 0f; bool isTwoFinger; void Update(){ if(IapPopUp.Instance!=null) ret...

2017-04-24 14:55:24

阅读数 428

评论数 0

Unity ShadowCast

Pass { Name "ShadowCaster" Tags { "LightMode" = "ShadowCaster" } ...

2017-03-01 14:20:30

阅读数 1036

评论数 0

Unity之HDR

HDR(High Dynamic Range) ,控制图像显示对比,让颜色更鲜艳,对比更大,画面颜色更丰富,像素更清晰。下面是简单的算法,取自OpenGL float4 frag(v2f i) :COLOR { float4 c = tex2D(_MainTex, i.uv_Ma...

2016-12-18 09:01:48

阅读数 1814

评论数 0

Shader之Photoshop Color效果

PS中的Color是先获取原图的原图信息,然后再通过这个信息进行颜色叠加,主要是代码如下: float3 BlendColor(float3 base, float3 blend) { float3 blendHSL = RGBToHSL(blend); return HSLToRGB(flo...

2016-12-14 08:27:06

阅读数 553

评论数 0

随机平铺

fixed4 texNoTileTech1(sampler2D tex, float2 uv) { float2 iuv = floor(uv); float2 fuv = frac(uv); // Generate per-tile transformation #if defined...

2016-12-12 22:50:57

阅读数 307

评论数 0

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