- 博客(41)
- 资源 (7)
- 收藏
- 关注
原创 解决PlanarShadow(平面阴影)在camera边缘被裁剪的问题
关于PlanarShadow的实现相关文章很多,这里就不列举了。PlanarShadow有一个问题就是当模型本体全部移动到camera的视椎体外侧时,留在camera内的PlanarShadow会瞬间一起消失掉。其实问题很明显,就是被Frustum Culling干掉了。解决方法其实也挺简单的,参考了这篇文章:Disabling Frustum Culling on a Game Object in Unity « Allen Pestaluky: Blog中心思想就是修改mesh的bounds使得
2022-03-17 16:19:40
2607
原创 [Unity]在第二个Camera中读取主Camara的深度图
先上结果图:scene中可以看到几个物体的排列顺序.主Camera: _camera.depthTextureMode = DepthTextureMode.Depth;
2020-09-09 11:37:46
742
原创 [Unity]在shader中自定义可随时从0开始的计时器
由于在shader中_Time是从level加载开始就一直继续走的一个不受控制的变量,有时候要从任意时刻在shader中开始一个从0开始的计时器就不能用_Time.y了.其实解决方法也简单,在C#端,Time.timeSinceLevelLoad就是与shader端的_Time.y完全一致的一个变量,只要在shader段暴露一个变量给C#端(假设叫_CustomTime),然后在需要在shader...
2020-03-08 22:30:13
1598
2
原创 Windows10架设ssh服务器
从开始菜单打开“设置”,然后选择“应用”->“应用和功能”,点击“可选功能”,“添加功能”,选择 OpenSSH 服务器即可.安装后,cmd下设置服务自动启动并启动服务:sc config sshd start= autonet start sshd...
2019-11-02 17:33:37
1549
1
原创 [Unity]记录一种大规模骨骼动画的Planar Shadow的生成方法
之前关于可batching的大规模动画总结了一篇文章https://blog.youkuaiyun.com/tlrainty/article/details/88667370主要采用了骨骼烘焙贴图来替代SkinnedMeshRenderer,从而实现可batching.之后在阴影实现时又想到,是不是可以将这个骨骼贴图传给PlanarShadow,让Planar Shadow也可以应用到带骨骼动画...
2019-10-29 11:12:51
401
原创 [Unity]记录一个安卓设备上cg step函数的诡异问题
为了表现一个边缘的效果,用step(0.00001f, value)做了个切边,放到iOS上没问题,但是到某些安卓设备上,切边没有了.这个某些,对我们的几台测试设备而言是,高通和麒麟有问题,联发科没事.最后排查出了原因,改为step(0.001f, value)就没事了.只能认为是硬件浮点数精度问题了....
2019-09-18 17:46:33
446
原创 [Unity] vertex-frag形式的shader中接受Unity内置阴影
Unity5之前,想要接受阴影需要一个名为ShadowCollector的Pass.参考这里:https://forum.unity.com/threads/i-put-a-shadowcollector-pass-in-my-shader-but-why-does-it-cant-recieves-shadow-why.160010/但是Unity5之后这个Pass已经没有用了,参见官网...
2019-04-18 16:48:03
696
原创 Unity骨骼动画的gpu instancing优化取代方案问题小结
主要参考文章为如下两篇:1.https://www.cnblogs.com/murongxiaopifu/p/7250772.html2.https://blog.youkuaiyun.com/zsy654321/article/details/80865060关于RGBAHalf转RGB24,上面第二篇文章已经提到了.但是实际操作中还存在一些问题.比如filter mode的默认格式会导致在...
2019-03-19 17:28:25
2310
5
原创 [Unity]Curvy插件随机生成装饰物
Curvy插件在生成铁轨,公路,河流等方面确实很方便。教程之前参考了下面这篇教程(这个博主的教程主要囊括了官网视频教程的前两部,第三部的Generator建议再看看视频,可以调出YouTube的字幕看一看)https://blog.youkuaiyun.com/cordova/article/details/52215079本文主要总结下Curvy中随机物体的生成方式(如路边杂草等)。因为实在是没有搜...
2019-03-06 18:55:24
1869
原创 总结一个升级XCode10后编译变慢的问题
苹果公司要求的升级最后期限要到了,最近升级了XCode10,但发现Unity做iOS版本的速度比原来慢了一倍。观察log发现是导出的XCode工程的编译速度慢了很多.经过各种瞎蒙推测后确定了问题原因,我们原来的脏话过滤系统的文本是直接放在.cs文件中的一个很长的静态List<String>,存储了各种汉字的脏话.这部分在XCode10之前编译速度是没问题的,但升级XCode10之后...
2019-02-27 16:04:37
1665
原创 简要总结Win10/Mac下通过WebServer方式共享本地文件夹的方法
1. Win10下:Win10自带了IIS.要先在"控制面板"=>"程序"=>"启用或关闭Windows功能"中开启.物理路径里选中本地文件夹就可以了.注意根目录下是否存在web.config文件,否则直接访问文件夹会报错403.2.Mac下:太长不看版: 1.Terminal里输入sudo apachectl start打开apache(之后在本机输入local...
2018-11-06 15:20:26
1730
原创 总结一个XCode Build工程失败的问题
iOS版本换了签名之后,删除了一些旧设备,然后用命令行做版本的时候提示Code Signing Error: Provisioning profile "xxxxx" doesn't include the currently selected device "xxx's iPhone".但是直接连真机到XCode上是可以build出来的.解决方法是在Mac/用户/xxx/资源库/P...
2018-09-29 17:33:12
1795
原创 关于mixed light渲染lightmap四种方式的小结
文章链接:https://catlikecoding.com/unity/tutorials/rendering/part-17/总结:1 .Subtractive(这个名字的来源个人猜想是因为计算方法中主要的两处光信息之间做了减法)比起Baked light能很好地处理静态和动态物体阴影的混合.2. Shadowmask跟Subtractive相比,Subtractive仅记录一盏...
2018-09-25 10:41:35
1457
原创 Jenkins换服务器ip地址的一个bug
如果更改了服务器ip, 在"系统设置"里直接改原Server List里的Server ip是没用的,得先新建一个新Server ip,然后在Project配置中在Target Server的下拉列表里选中新建的Server ip才管用.之后可以把原来Server List里旧的删掉.这个估计是缓存机制的问题吧....
2018-09-10 11:49:56
3162
1
原创 [Unity]用同一份material在不同mesh上绘制不同图案
假设游戏中有256个相同材质的物体上要分别绘制数字1~256,需要占256个drawcall吗?可以batch到1个drawcall吗?简化一下问题:假如有4个Plane,我们要用下面这张材质分别在它们上面画1,2,3,4四个数字,可以做到只消耗一个drawcall吗?当然可以,关键就是使用顶点色保存uv信息.因为我们不能把uv信息保存在material中或者运行时给它赋值(会破坏batchi...
2018-07-20 11:00:25
2170
原创 [Unity] SV_POSITION位置导致的shader问题
今天碰到了一个非常无语的问题,特写下来记录一下。在PC上效果正常的shader,放到手机上就是一片粉。挨个排查后最后发现是因为v2f中SV_POSITION放在最后没有放在最前面,挪到第一个就好了struct v2f{ float4 vertex:SV_POSITION; float2 bumpCoords:TEXCOORD0; //...}这个人也碰到了这个SV_PO...
2018-06-20 21:31:53
2376
原创 [Unity]关于大的Quad在移动设备上使用Unity自带雾效的问题
如果创建一个足够大的Quad(比如用作地形),然后给它使用Unity自带的雾效,会发现在PC上表现正常,到移动设备上就成了从Quad下方到上方逐渐变浓的雾,原因是Unity自带雾效在移动平台(#if defined(SHADER_API_MOBILE))的时候会强制做逐顶点插值而不是做逐像素插值,所以我们需要自己重写一下UNITY_TRANSFER_FOG和UNITY_APPLY_FOG这两个宏....
2018-06-06 16:08:17
1444
原创 [Unity]用Enlighten生成lightmap用作模型光照贴图
Enlighten一般都被我们用来生成场景lightmap用,其实也可以用它来生成一张针对某单个模型的光照贴图。具体做法是:场景中只摆放这一个物体,然后用Enlighten渲出lightmap贴图(当然也可以多个物体一起渲,只要调整每个物体在生成的lightmap中的比例,保证每个物体对应一整张exr就行了。这个我没自己试过,美术说的).然后自己写shader来对光照贴图采样。这样,就不是仅仅静态...
2018-06-05 16:49:08
1942
原创 [Unity]关于树和阴影的DynamicBatch
关于大规模的可batch的billboard的树的实现,《UnityShader入门精要》11.3.3中提到过“利用顶点颜色来存储每个顶点到锚点的距离值”,具体的操作方法可以参见根据这篇文章: https://blog.youkuaiyun.com/u011047171/article/details/47255233 .而树的阴影在实际项目中一般会直接烘在一个平放的Quad上,然后跟树的模型一起导出,方便同...
2018-05-21 12:13:24
1277
原创 [Unity]关于LightMap和LightProbe的一些总结
1. Light的CullingMask只针对实时光,对Bake的光CullingMask是不管用的,也就是说LightMap不分Layer.同样,LightProbe也不支持分层.2. Lightprobe不会影响static物体,只影响非static物体.3. LightProbe其实就是一个采样点,数据存储在LightMap中.LightProbe的信息是否更新仅仅取决于LightMap.在...
2018-02-11 18:06:02
3479
翻译 [Unity]保存运行时对Scene中GameObject属性的修改
google中原链接已失效,只剩快照了(unity3d-save-your-in-play-transform-modifications),所以写篇文章记录一下.很多时候,我们想把运行游戏时对场景中物体属性的修改保存下来,但一旦停止运行这些修改就恢复运行前的状态了。对于有原Prefab的物体比较好办,把运行中修改后的物体直接拖回去覆盖原Prefab即可.而对只在Scene中存在的GameOb
2017-08-31 18:19:18
11828
1
翻译 [Unity]调用GL.IssuePluginEvent()后dll中UnityRenderEvent()不执行的问题
解决办法:有可能是之前没有将dll放在\Assets\Plugins\下,将dll移过去后删除\Library\metadata\让其重新生成一遍,再打开Unity就好了参考:http://answers.unity3d.com/questions/761590/unitysetgraphics-not-called-in-native-plugin.html
2017-08-02 15:59:13
2572
原创 [C++]BOOST_PP_SEQ_FOR_EACH_I根据enum值访问类的不同成员
C++中没有反射机制,所以收到一个枚举的时候想根据枚举名称调用不同的类成员/函数就很麻烦,比如服务器传过来一个枚举enum Property{HP, MP, STR, ...},无法修改服务器端数据结构的情况下想访问Player类中的对应成员,一般情况只能switch(property){case HP: DoSomething(Player.HP); break;case MP
2017-04-12 20:36:14
2292
原创 [Unity]场景中影子消失的问题与解决
Unity中当QualitySetting设为Fastest时,默认Pixel Light Count是0,有时进场景会发现模型的影子都没了,原因其实是场景中的所有Light光强(Intensity)一样,而RenderMode又都选了Auto或者Not Important,这时Unity挑不出最重要的一盏灯,然后PixelLightCount又是0,也就是没强求Unity挑一盏,于是它就放弃了。
2017-03-07 17:23:28
11457
原创 [Unity]运行时用AnimatorOverrideController动态加载动画片段
项目中经常会遇到这种情况:很多模型动画的AnimatorController是一模一样的(比如人类男,人类女),但是由于在AnimatorController中需要为每个State指定具体的Motion(比如人类女的Run和Attack要分别指定Human_Female_Run和Human_Female_Attack,如图1),我们并不能简单地在编辑器中给它们指定同一个AnimatorContro
2017-01-18 17:58:09
18867
原创 [Unity]一些总结
1.特效不要绑定到有NetworkIdentity的Prefab上,尽量把不重要的本地处理的东西分开逻辑写,实在不能的时候用ClientRpc,特效做网络同步很麻烦而且没有必要;2.如果ClientRPC函数的GameObject参数得到的gameObject为null,需要注意是不是在调用ClientRpc之后接着在当前代码段就Destroy了(在客户端代码没生效之前);3.特效尽量挂脚
2016-11-23 10:41:21
410
原创 for each小总结
在需要考虑用for(;;)还是for each(auto ... in ...)的时候,如果不需要用到当前项的索引,可以用for each,否则还是老实用for(;;)吧.不然需要用index的时候还得(1)放个变量index++;(2)获取index的时候index = find(vec.begin(), vec.end(), elem) - vec.begin());都比较麻烦
2016-08-10 11:48:15
316
原创 调整设备时间导致的Provision过期
今天真机测试的时候,重置了设备并往后大幅度调了系统时间,然后再装app就提示没有Provision了,一开始以为是重置的问题,后来在keychain里看了下Provision到期时间发现是Provision到期了,把时间调回来就好了
2016-04-19 17:16:16
569
转载 备忘: xcode7下dylib文件被替换为tbd格式后的编译错误解决方法
https://www.reddit.com/r/iOSProgramming/comments/39rcby/ios_9_os_x_1011_xcode_7_development_with_dynamic/
2015-10-08 11:32:49
1064
原创 XCode工程文件关于"保存"的坑爹设置
XCode编辑Build Settings之类的时候,虽然编辑之后不需要点"保存"按钮才生效,但是一定要记得在旁边空白处点击一下把下图中弹出来的这个对话框关掉之后才算保存了,不然如图中这个样子弹出对话框还在的情况下,新输入的test/这行是没有保存的!这时候Build工程test/并没有加到Header Serach Paths里!
2015-06-08 17:42:22
2866
原创 续:一种让数值在指定范围内由小到大再变小的生成方法(固定时间内)
#include "stdafx.h"#include #include#include using namespace std;const static int TIME_PER_FRAME = 100;SYSTEMTIME sys;const static int TOTAL_TIME = 10000;const static int CHANGING_TIMES = 4
2013-09-20 02:29:45
670
转载 终于解决了无线鼠标装不上驱动的问题
http://blog.sina.com.cn/s/blog_a5da219401017ynl.html#commonComment
2013-08-21 21:38:15
15004
转载 关于函数指针调用非静态类成员函数的文章
http://www.cnblogs.com/xianyunhe/archive/2011/11/26/2264709.htmlhttp://www.yesky.com/207/1844207_3.shtml
2013-08-12 18:18:25
459
原创 AS3注意事项
※fla的时间轴第1帧序号是1,而addFrameScript第一帧序号是0※如果as里在该帧写gotoAndPlay,而mc的时间轴上该帧有stop,无法停下,应该是由于先执行了时间轴吧。如果onEvent(){gotoAndPlay();stop();}可以达到只放一帧的效果,当然这样就不如用gotoAndStop
2013-07-15 17:37:55
625
原创 写批处理时遇到“另一个程序正在使用此文件,进程无法访问”
今天仿写一个绑定ip和mac的批处理,然后运行到ipconfig时总是提示“另一个程序正在使用此文件,进程无法访问”,搜了各种方法,什么win7下的权限之类的都无效。结果最后发现原因是该批处理文件的文件名和系统命令重名了(顺手给批处理起名叫ipconfig.bat了),随便改个名就好了=_=
2013-01-24 00:25:40
4276
True Shadow - UI Soft Shadow and Glow 0.9.0rc
2022-04-25
Spline Editor 2.11
2019-02-25
Curvy Splines 2.1.1
2019-02-25
EasyRoads3D Pro v3.1.5
2019-02-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人