TA通用技术
文章平均质量分 69
各种TA相关的技术原理等介绍
阿赵3D
十五年以上游戏开发经验,曾编写多个游戏前端框架,实现多种游戏核心玩法和战斗,熟悉各种美术资源处理、美术效果实现、美术性能优化
展开
-
提取word文档里面的图片
我自己写了一个小程序,把文档里面的所有图片提取并保存,这里分享一下原创 2024-04-06 10:00:00 · 305 阅读 · 0 评论 -
一包多语言——使用FontForge合并字体
比较多游戏做了一个游戏包里面包含了多种语言,可以游戏内切换。这里分享一个合并多种语言字体的方法。原创 2024-01-11 23:01:43 · 3731 阅读 · 1 评论 -
如何避免引擎项目里面的美术资源的“脏”
厨师做菜,一般讲究色香味俱全。然而有时候一道美味的菜肴,吃下去之后却会引起肚子痛。这可能是因为菜里面有脏东西,比如说细菌什么的,肉眼看不出来,吃下去之后就发作了。游戏引擎的美术资源有时候也存在相类似的情况,很多美术工作者辛辛苦苦做完了美术资源,截图看很好,单纯放在工程里面预览也很好。但真正放进项目里面给程序调用,就错漏百出,或者不能用,或者严重影响了项目的性能和功能。原创 2023-09-07 22:49:56 · 311 阅读 · 0 评论 -
Unity引擎修改模型顶点色的工具
;之前分享过怎样通过MaxScript在3DsMax里面修改模型的顶点色。不过由于很多时候顶点色的编辑需要根据在游戏引擎里面的实际情况和shader的情况来动态调整,所以如果能在引擎里面直接修改模型的顶点色,将会方便很多。于是我写了下面这个在Unity引擎里面修改模型顶点色的工具。原创 2023-08-29 22:35:56 · 1938 阅读 · 1 评论 -
三平面映射的技术
之前在做护盾的时候,使用过一种叫做三平面映射的技术,这里来详细的说一下。原创 2023-08-12 10:58:35 · 592 阅读 · 3 评论 -
Wang tile(王浩瓷砖)算法解决贴图平铺重复问题
使用Wang tile(王浩瓷砖)算法解决贴图平铺重复问题原创 2023-06-22 16:19:41 · 1366 阅读 · 0 评论 -
骨骼动画原理和优化
用Unity做游戏经常会用到3D角色,也就会用到骨骼动画。骨骼动画对性能的影响其实非常大的,在说这个问题之前,先来说说骨骼动画的原理。 我之前做过多种骨骼动画,包括写过2D的骨骼动画系统(类似于现在比较流行的龙骨系统),也在flash的stage3D里面写过3D的骨骼模型动画。骨骼动画的原理实际上都是一样的: 首先你需要有一个模型,2D或者3D的,这些模型是由顶点组成的,2d模...原创 2018-08-24 08:38:04 · 7912 阅读 · 4 评论 -
PBR地形纹理研究——多重纹理不同质量等级的切换
demo视频之前研究了一下PBR(Physically Based Rendering)用于角色时的一些效果,然后我再研究了一下用于地形上面多层纹理时的情况。 我之前写了一个多层纹理的shader,作用是支持4张漫反射通道的贴图作为纹理,通过一张遮罩图片来控制叠加关系,这样的地形效果如下: 稍微做了一些修改,加入了法线贴图和高光贴图的支持,效果会变成这样: 对比起单纯的漫...原创 2018-08-17 09:21:02 · 1526 阅读 · 0 评论 -
骨骼动画程序原理介绍
最近有人问我怎样实现骨骼动画,于是我就想起了我以前写的这篇文章,贴上来给大家看看。一、文章编写目的写这篇文章,是给程序员看的。目的在于给程序员介绍骨骼动画的原理、数据结构和程序实现的粗略方法。骨骼动画的应用面很多,主要用在3D角色动画,不过现在也很多人用于2D动画。下面的内容不会直接的把程序列出,只会阐述原理,关键的步骤是使用矩阵做坐标系变换。原理明白之后,不管2D或者3D应该都能自己...原创 2018-08-13 23:17:40 · 15835 阅读 · 3 评论 -
3DsMax导出插件编写(四)——导出骨骼动画的帧信息
接下来讲一下怎样导出骨骼动画。首先我们要收集蒙皮信息。常规方法我们已经介绍过怎样获取蒙皮信息了,这里只介绍一些IGame的方法:IGameSkin* skin;bool meshSkin = false;int mods = iObj->GetNumModifiers();if(mods>0){ for(i = 0;i<mods;i++) { ...原创 2018-08-13 23:12:45 · 3317 阅读 · 0 评论 -
3DsMax导出插件编写(三)——使用IGame收集模型信息
之前介绍过用SDK的常规方法来获取模型的网格信息。这里再介绍另外一种方法。 MaxSdk里面带了一个叫做IGame的包,里面包含有很多方便我们获取模型信息的方法。在sdk的自带例子里面,同样也有这个IGame的例子,不过我自己没有编译通过,存在一些错误。所以我自己看SDK的API,摸索出了使用的方法。#include <IGame.h> 。使用IGame之前需要先给...原创 2018-08-13 23:11:13 · 2633 阅读 · 4 评论 -
3DsMax导出插件编写(二)——常规SDK方法进行信息获取和保存文件
之前已经把配置vs和maxSdk的方法介绍过了, 下面来介绍一下导出插件的具体写法。不过这不是一个容易说的很详细的问题。因为我们要写导出插件,通常都是因为想根据自己想要的信息来导出,所以就算我把我整个工程都公开,意义也不大的,因为那是根据我自己需要的数据写的业务,估计不太可能和你想要的一样的。所以我也只能简单的说明一些几个关键获取数据的方法,和保存文件的方法,如果想看具体的导出范例工程,你可...原创 2018-08-13 23:07:41 · 3367 阅读 · 0 评论 -
3DsMax导出插件编写(一)——vs2010和3dsmax2011(64位)的配置方法
作为3D开发人员,特别是3D引擎开发人员,经常会接触到各种三维模型的数据。虽然说3dsmax已经可以导出很多格式的模型,不过总是不一定合适自己用。所以总有一种想自己写一个导出插件,让3dmax导出自己想要的数据格式。这里为大家介绍一下怎样为3dmax写导出插件的第一步:怎样配置vs和maxSdk。 这里你需要的东西有两个: 1、一个完整版的3dsMax。 2、一个Visual Stu...原创 2018-08-13 23:04:39 · 4767 阅读 · 3 评论 -
图片数字化程序
前两天看到某位同事以前写的程序,把一张自己数字化的照片放在了程序的备注里面,以后别人看这个代码时就很容易记得是他写的了。先排除掉这个行为是否有意义,我觉得这个照片数字化挺好玩的,所以花了一点小时间,用flex写了个工具,用来把照片转换成像素数字的形式。我以前画的贝吉塔: 多啦A梦 阿赵 是不是感觉有点意思呢?也只有这个时候,会感觉到其实做程序员也挺好玩的。 讲讲简单思路:...原创 2018-08-13 22:56:28 · 2292 阅读 · 0 评论 -
写了个生成Atlas图集的功能
之前写过Unity3D的sprite packer的用法介绍,那其实只是一个简易的图集制作工具。 最近经常在接触2D骨骼动画,不可避免的使用了各种制作图集的工具。考虑到如果需要把这些工具做出来的动画变成通用,那么一些功能必须自己重新写了,比如这个Atlas图集生成的功能。所以我就自己写了个简单的小工具生成图集。以后的扩展是批量处理了,让项目里面本来用A工具做的骨骼动画的资源,可以一键变成...原创 2018-08-04 22:34:26 · 4556 阅读 · 2 评论 -
obj模型解析器
demo视频 这个功能虽然非常简单,但对于那些做虚拟现实产品展示的人来说,估计会很有用处吧,可以让美工直接导出obj格式的模型,然后www直接加载,就能显示了。这里做了个小演示:在3dmax里面直接导出了一个角色模型,包括了一个obj模型和2张贴图。然后,只需要写个很简单的脚本,分别用www加载了刚才的一个obj文件和两个png的贴图。然后直接new一个ObjPa...原创 2018-08-04 22:07:49 · 2039 阅读 · 1 评论 -
4层纹理的动态地形生成
以前不少人对我提出过这样的需求疑问,如何在游戏进行之中改变地形之类。这种需求最多是出现在虚拟现实中,比如一个什么挖掘机挖出一个坑,地形跟着变化之类。其实在游戏里面有时也会出现这样的需求,比如突然掉下一块陨石,地表砸出一个大坑,然后那一个区域变成不能行走之类。我也来做做这样的效果。顺带一说,估计很多人会问我效率的问题,我这个在小米2S上面测试是随便都能60帧满帧的,其他机器没试过。使用脚本,...原创 2018-08-01 23:04:58 · 1467 阅读 · 1 评论 -
Unity3D动态创建地形网格(二)
上次讲了动态生成网格,这次说说怎样分层显示纹理。一般的地形会支持大概4层的纹理,比如草地、岩石之类,然后通过一张遮罩贴图来区分各自的显示区域。这里我做了同样的事情。我写了一个shader,支持4层贴图的显示。先来看看效果,最后贴上shader源码: 这是一张遮罩图片 导入unity自带的地形资源,里面有不同地形纹理的贴图,使用我这个shader,然后设定前两个通道和遮罩通道 ...原创 2018-08-01 22:52:44 · 2619 阅读 · 0 评论 -
unity自带LightMapping和3Ds Max烘焙贴图的小对比
对于做虚拟现实的朋友来说,烘焙贴图应该不是一个陌生的东西。想要在有限性能的电脑上面即时运算较好的光影效果,一般都会采用烘焙贴图的方法。而除了在3dmax里面烘焙贴图之外,Unity3D也自带了LightMapping烘焙贴图的功能。下面我们来做一个小例子,对两者的意义和效果做一个小对比。在3dmax里面,我简单的建立了几个模型,并分别赋予他们不同的颜色: 然后使用3dmax自带...原创 2018-08-01 13:59:52 · 1846 阅读 · 0 评论