- 博客(19)
- 资源 (2)
- 收藏
- 关注
原创 【Unity3d】3d角色换装实现原理及步骤
1、角色模型制作 unity3d支持Skin动画 但是不支持Physique动画 会发现Physique动画在unity里严重变形 因此在模型的骨骼动画的制作上面 要用Skin 当然也可以做成Physique 然后用插件转换一下 3dsmax的插件PhyToSkin 3dsmax中转换之前 为了避免出错 先隐藏骨骼 然后对绑定了骨骼
2015-10-30 19:38:05 1415
原创 Strumpy Shader Editor入门教程
对于3D游戏来说,有很多绚丽的效果,都是靠shader(着色器)来实现的。不过很多朋友估计都不会编写shader,阿赵我自己也只是看了个入门,明白了它的原理,很多具体的效果都写不出来的。这次来介绍一个Unity3D的第三方shader编辑器:Strumpy。这个编辑器是完全可视化编辑,使用起来相对简单一点。先来看看我们这次需要做的例子:我们需要使用Strumpy,编辑出这样
2015-10-30 18:53:52 578
原创 再详细的介绍一下Unity5的AssetBundle
之前曾经写了一篇博客介绍Unity5的AssetBundle,结果似乎很受关注。不过似乎很多人看了之后都不懂,主要是因为不太明白AssetBundle是什么,它的依赖关系和结构是什么的,就直接想拿代码去用,而导致了很多人说看不懂啊,说什么有错误啊,诸如此类。我想了一下,还是应该从最基础的东西说起,不厌其烦的说,才会省去大家加我QQ问问题了,毕竟平时上班忙,看到一些人把我当翻译词典查,我肯定会态度不
2015-10-30 18:32:33 671
原创 Unity3D项目程序加密2——对dll进行混淆
之前一篇文章阿赵已经简单的介绍了怎样把自己写的代码打包成dll动态链接库,然后在Unity3D里面用。那么接下来的事情似乎就很简单了,我们在Unity3D里面写脚本,到最后完成时,把核心的代码剪切出去打包成dll文件再放回项目里面。这样似乎别人就不能直接修改你的代码了。事实真的是这样吗?这里假设我们在Unity3D里面写的代码抽象成这样一个Test类,里面包含了公开和私有的变量,有自带
2015-10-30 18:15:01 537
原创 基于Unity行为树设计与实现的尝试
查阅了一些行为树资料,目前最主要是参考了这篇文章,看完后感觉行为树实乃强大,绝对是替代状态机的不二之选。但从理论看起来很简单的行为树,真正着手起来却发现很多细节无从下手。总结起来,就是:1、行为树只是单纯的一棵决策树,还是决策+控制树。为了防止不必要的麻烦,我目前设计成单纯的决策树。2、什么时候执行行为树的问题,也就是行为树的Tick问题,是在条件变化的时候执行
2015-10-26 19:20:46 1471
原创 使用行为树(Behavior Tree)实现游戏AI
谈到游戏AI,很明显智能体拥有的知识条目越多,便显得更智能,但维护庞大数量的知识条目是个噩梦:使用有限状态机(FSM),分层有限状态机(HFSM),决策树(Decision Tree)来实现游戏AI总有那么些不顺意。 试试Next-Gen AI的行为树(Behavior Tree)吧。 虽说Next-Gen AI,但距其原型提出已有约10年时间,而微软Halo系列估
2015-10-26 16:42:46 964
原创 C#调用C++ dll时CallingConvention调用约定详解
C#调用C++ dll时,我们会在引入方法上写CallingConvention属性,这是指定调用在非托管代码中实现的方法所需的调用约定。c++ 输出的函数调用约定是多种的 1、Cdecl 调用方清理堆栈。 这使您能够调用具有 varargs 的函数(如 Printf),使之可用于接受可变数目的参数的方法。2、FastCall 不支持此调用约定。
2015-10-24 10:12:31 7311 2
原创 C#线程系列(1):BeginInvoke和EndInvoke方法
一、线程概述在操作系统中一个进程至少要包含一个线程,然后,在某些时候需要在同一个进程中同时执行多项任务,或是为了提供程序的性能,将要执行的任务分解成多个子任务执行。这就需要在同一个进程中开启多个线程。我们使用C#编写一个应用程序(控制台或桌面程序都可以),然后运行这个程序,并打开windows任务管理器,这时我们就会看到这个应用程序中所含有的线程数,如下图所示。如果任务
2015-10-22 18:05:24 658
原创 浅析StackTrace
我们在学习函数调用时,都知道每个函数都拥有自己的栈空间。一个函数被调用时,就创建一个新的栈空间。那么通过函数的嵌套调用最后就形成了一个函数调用堆栈。在c#中,使用StackTrace记录这个堆栈。你可以在程序运行过程中使用StackTrace得到当前堆栈的信息。class Program { static void Main(string[] args)
2015-10-22 16:49:32 2843
原创 AssemblyInfo.cs文件的作用
AssemblyInfo.cs主要用来设定生成的有关程序集的常规信息dll文件的一些参数请看以下具体说明://备注: [assembly:AssemblyDescription("用最强的抢劫类写成!")]//产品名称[assembly:AssemblyProduct("无为搜索")]//公司[assembly:AssemblyCompany("无为网络")]//
2015-10-16 18:46:40 1109
转载 全面解析Unity3D自动生成的脚本工程文件
我们在Unity3D开发的时候,经常会看到它会产生不少固定命名工程文件,诸如:Assembly-CSharp-vs.csproj Assembly-CSharp-firstpass-vs.csprojAssembly-CSharp-Editor-vs.csprojAssembly-CSharp-Editor-firstpass-vs.csproj
2015-10-16 17:54:21 584
原创 ubuntu下允许root用户ssh远程登录
SSH服务器,可以通过SSH协议来访问远程服务器,代替telnet和ftp。但是ubuntu默认是不启用root用户也不允许root远程登录的。所以需要先启用root用户 启用root用户:sudo passwd root //修改密码后就启用了。 安装OpenSSH server:1. 使用apt命令安装openssh server$ s
2015-10-16 08:01:53 464
原创 Unity DF-GUI 中文输入以及自动换行
在使用Daikon Forge GUI过程中,发现dfTextbox编辑框无法输入中文,dfLabel和dfRichTextLabel文本控件中文无法自动换行。对源代码进行了更改,以便支持中文。不同版本可能更改的地方会不同,这边的版本为Daikon Forge GUI 1.0.15,Unity 4.3.1。dfTextbox中文输入当前无法输入中文,是因为没有开启I
2015-10-15 10:45:58 1742
原创 unity3d 关于 NGUI的UIDrawCall 和 U3D的drawcall(原)
关于遮挡关系1.NGUI2.6版本不同的panel用z轴调遮挡关系,一个panel下相同的atlas用depth调遮挡关系,不同的atlas用z调遮挡关系2.NGUI3.5版本不管panel是否相同只用depth调遮挡关系,但如果renderQ使用startat则按renderQ计算遮挡关系 关于UIDrawCall1.不管是NGUI的2.6版本还是3.5版
2015-10-15 09:45:36 917
原创 Unity3D教程宝典之 FX Maker
FX Maker是Unity3d一款非常流行的效果制作插件。不但有超过300种效果预制体, 还可以自己制作效果。包含Mesh Effect 和Particle Effect。优点:资源库大,可以将消耗资源非常多的粒子效果转换为帧动画效果。当然也可以直接用不转帧动画的效果,这种效果是画面最好的,但是对显卡开销大。帧动画显卡开销小,占内存大,适合移动平台。Fx Maker还能自动保存。
2015-10-15 08:17:08 2067
原创 Unity3D Resources TextAsset 文本
一些小型数据,可以用txt文本作为媒介,进行获取、传输、修改、存储;比如:User1.2.3.txt,放入 Resources/Data 文件下;一,Unity3d Resources.Load 加载获取数据。 TextAsset TXTFile = (TextAsset)Resources.Load("Data/board" + boardN.ToString() +
2015-10-12 14:54:42 929
原创 Unity3D 物体移动方式总结
1. 简介 在unity3d中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position。2. 通过Transform组件移动物体 Transform 组件用于描述物体在空间中的状态,它包括 位置(position), 旋转(rotation)和 缩放(scale)。 其实所有的移动都会导致position的改变,这里所说的通过Tra
2015-10-10 18:10:44 841
原创 Activator.CreateInstance 方法
Activator.CreateInstance 方法 (Type) 使用与指定参数匹配程度最高的构造函数来创建指定类型的实例。 命名空间:System程序集:mscorlib(在 mscorlib.dll 中) C# public static Object CreateInstance (Type type)Activator.CreateIns
2015-10-08 09:25:14 3465
原创 System.Type类
System.Type类 System.Type类定义了很多成员,可以用来检查某个类型的元数据,它们返回的类型大多位于System.Reflection命名空间中。举例来说,Type.GetMethods()返回一个MethodInfo类型的数组,Type.GetFields返回一个FieldInfo类型的数组等。System.Type提供的完整的成员组是很容易扩展的。使
2015-10-08 09:03:56 1241
URP Debug Views 1.0.4.zip
2021-07-23
房燕良-虚幻4渲染系统架构解析
2019-02-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人