- 博客(179)
- 资源 (25)
- 收藏
- 关注
原创 ECS(Entity-Component-System)是什么?
Unity中使用ECS的一个目的是高效的利用内存,提高运行速度,另外一个方面从代码层解决复杂的耦合关系。而一个主要的应用,我想是在角色类的设计上,对象和行为分离。如今,为了热更新,客户端逻辑层主要使用的是Lua,主要解决对象和行为分离,提高角色的扩展性。ECS的本质是数据驱动行为,拥有什么样的Componet就可以执行对应的行为。ECS:E(Entity)是实体,是C(Component)的拥有者;C是基本数据的组织者;S(System)是C的控制者。那么Entity怎样去组织Component
2020-11-19 20:29:01 994
原创 ActionRPG(输入绑定)
输入映射 输入事件处理 说明BP_PlayerCharacter:角色蓝图类,处理角色的输入、状态监听等事件。UI绑定(WB_OnScreenInput蓝图)
2020-07-25 14:53:13 396
原创 Unity运行时Lua热更新
项目开发中,Lua代码被require之后,如果出错,就需要重新打开项目。这样非常影响开发效率。因此,Lua中使用热更新,非常的必要。由于实际开发项目中,运行环境复杂。因此,这里我对项目中 界面的代码做了重新加载,其实,一个游戏项目,系统的工作量,特别是界面的工作量,占了整个工作量的绝大部分。而对其他必要的类,进行了函数的重新加载,这样,就能够在运行时修改函数,添加日志,追踪错误。整体思路...
2019-11-22 10:47:18 2130
原创 ET框架中Map的使用
ET的protobuf因为要支持ilruntime,所以去掉了map的支持,如需要使用Map,需要继承ISupportInitialize,实现EndInit方法。原文:https://github.com/egametang/ET/blob/master/Book/3.2%E5%BC%BA%E5%A4%A7%E7%9A%84MongoBson%E5%BA%93.md强大的MongoBson库...
2019-11-19 16:56:07 696
原创 Mesh、MeshFilter、MeshRender
Mesh、MeshFilter、MeshRenderMeshMeshes contain vertices and multiple triangle arrays.For every vertex there can be a normal, two texture coordinates, color and tangent. These are optional though and ...
2019-09-30 16:22:08 448
原创 PDG
PDGPDG(Procedural Dependency Graph)TOPS(Task Operators)PDG is designed to:•Describe complex dependencies visually with nodes•Transform that dependency description into a set of actionable, monit...
2019-09-12 15:00:02 1154
原创 PDG FOR INDIE GAMEDEV
视频教程主要是对使用PDG程序化的在Unity中构建地图。讲解的非常好。构建地形、生成贴图、tile分割、生成植被等都单独模块化,逻辑清晰。视频地址链接:https://pan.baidu.com/s/1inbfS_L3hApoPaUlX6pU0w提取码:j1ds...
2019-09-12 14:46:35 342
原创 从零开始构造几何体(CREATING GEOMETRY FROM SCRATCH)
Here we explain how to generate geometry procedurally. There are two node types that allow tho do this: Nodes of type Attribute Wrangle allow to specify geometry using the programming language VEX. N...
2019-08-29 14:44:24 323
原创 Houdini自动构建地图(一)
Houdini自动构建地图(一)怎么自动构建场景地形自动化植被自动化Houdini能干什么生成Mask:Houdini生成Height及Mask数据(Mask对应UE中的Layer,每个Layer对应不同的Material)能够构造Point Cloud,游戏引擎根据Point Cloud 中的数据生成建筑。而Point中也能够获取额外的数据,根据这些额外的数据对建筑的形态,方...
2019-08-16 11:53:02 2350
原创 Avatar是什么
Avatar是什么Working with humanoid animationsThe Mecanim Animation System is particularly well suited for working with animations for humanoid skeletons. Since humanoid skeletons are used extensively i...
2019-08-08 11:00:23 3851
原创 RectTransform探索
anchoredPosition The position of the pivot of this RectTransform relative to the anchor reference point. anchoredPosition3D The 3D position of the pivot of this Rec...
2019-08-05 16:12:25 206
原创 StreamableManager和异步加载
1. 官网异步加载文档https://docs.unrealengine.com/zh-CN/Programming/Assets/AsyncLoading/index.html2. 官网中的UGameGlobals,没有找到。3. 解决方法:参考Engine\Source\Runtime\UMG\Private\Components\Image.cppvoid UImage...
2019-06-18 19:04:05 1461
原创 Unreal异步加载类
异步加载类:AsyncLoading.cpp。AsyncLoadingThread.h,使用FAsyncLoadingThread异步处理int32 LoadPackageAsync(const FString& InName, const FGuid* InGuid /*= nullptr*/, const TCHAR* InPackageToLoadFrom /*= nullpt...
2019-04-12 18:25:44 1399
原创 Unreal使用LoadStreamLevel动态加载Map
为什么不直接用LoadStreamLevel。主要是希望能像Unity一样,动态的控制Level的加载。而LoadStreamLevel需要添加到觉得不太灵活。所以,手动的添加到永久性关卡中。FString ALevelTestGameModeBase::CreateStreamInstance(UWorld* World, const FString& LongPacka...
2019-04-12 17:07:55 7590
原创 (六)Slate构建编辑器之Asset编辑器
1.Asset编辑器可以参考UnrealEngine\Engine\Source\Editor\Matinee2. Module继承IHasMenuExtensibility,IHasToolBarExtensibility,是需要创建Menu及ToolBar3.IMatinee继承FAssetEditorToolkit4.FMatinee::InitMatinee会构建编辑器,而最终...
2019-01-29 18:54:11 497
原创 (五)Slate编辑器之射线
https://api.unrealengine.com/CHN/Engine/Physics/Tracing/index.html这里使用 World->LineTraceSingleByChannelvoid FProEditorModule::DrawPoint(FVector point){ UWorld* world = GetWorld(); FVector st...
2019-01-29 18:29:10 405
原创 (四)UE4编辑器菜单按钮
1. 主菜单的按钮参考https://alanwalk.github.io/2018/04/17/how-to-add-ue4-editor-menu/2. Tab上的按钮3. Tab上的菜单怎么构建呢?主要是构建菜单栏的SWidge,然后添加到最上面的布局中就可以了。所有的菜单栏,都是通过FExtender构建的,TSharedRef< SWidget &...
2019-01-29 18:16:05 5109
原创 (三)Slate编辑器之获取任何输入事件
Slate的输入事件可以通过IInputProcessor处理事件的类需要继承IInputProcessor.继承自InputPreProcessors的原因:FSlateApplication会先处理InputPreProcessors,若不想截留事件,只需要返回false就可以看一下InputPreProcessors类/** * Interface for a S...
2019-01-29 16:51:07 1243
原创 (二)Slate构建编辑器之PropertyEditor
PropertyEditor的作用是对UObject进行自动布局,减少手动布局的工作量。需要在模块中引用"PropertyEditor"效果图:3.代码构建UObject类 MyDetailObject.h// Fill out your copyright notice in the Description page of Project Settings.#pra...
2019-01-29 16:38:18 1083
原创 (一)Slate构建编辑器之布局
1.Slate编辑器使用槽的方式构建布局2. SlateCore中的部分类图只有继承自SWidge的类,才能被Slate绘制,一般不直接使用。SCompundWidget经常被继承用来排版,期包括一个ChildSlot,再ChildSlot中构建SWidgetSWindow是窗口类,其用于构建窗口。SHorizontalBox及SerticalBox经常用于布局。期可以...
2019-01-29 16:22:14 3885
原创 (二)Unreal自定义编辑器
上篇中介绍了Unreal使用插件的方式创建编辑器这里使用构建Module的方式传建编辑器。文件都是一样的,区别在于,手动的添加文件这里需要注意的是,在工程的Target.cs中,需要添加自定义模块的名称...
2019-01-29 15:18:51 792
原创 (一)Unreal自定义编辑器
Unreal自定义编辑器有两种方式 : 1. 插件方式 2. 自定义编辑器模块Unreal中的编辑器都是使用Slate进行布局和创建插件方式1. 创建项目:选择基础代码2. 选择 编辑->插件 3. 点击 新插件 按钮4. 选择编辑器Standalone窗口5. 创建完成,并不会立即显示编辑器菜单,下图并没有添加新的东西6. ...
2019-01-29 15:04:31 2937
原创 Unity3D处理Emoji问题
public class UIInputField : InputField { List<string> patterns = new List<string>(); protected override void Awake() { base.Awake(); p...
2018-07-10 17:46:51 5662
转载 根据Uri获取图片绝对路径,解决Android4.4以上版本Uri转换
/** * 根据Uri获取图片绝对路径,解决Android4.4以上版本Uri转换 * @param activity * @param imageUri * @author yaoxing * @date 2014-10-12 */ @TargetApi(19) public static String getImageAbsolutePath(Activity ...
2018-06-01 18:36:19 811
原创 微信小程序使用WebService(Asp.net)进行数据交互
开发微信小程序掌握了数据交互的方法,再加上web的知识,基本就能开发出了,研究了下与服务器通讯,暂时不知道怎么用ajax通讯,但可以使用WebService可以进行交互尝试开发微信小程序(如果需要登录之类的,也可以自定义握手方法或使用微信登录验证,还没研究)。1. 小程序=前端页面 + 服务器数据2. 前端页面与服务器的交互前端使用 wx.request请求数据(常用的有 ge
2017-02-12 23:14:55 41356 26
原创 服务器机制模拟(NIO)
最近学习服务器,研究下Socket,初步流程代码(待整理)package NIOTest;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.SelectionKey;import java.nio.chann
2017-01-20 14:50:40 558
转载 浅析C#中的Attribute
最近用到了,所以静下心来找些资料看了一下,终于把这东西搞清楚了。一.什么是Attribute先看下面的三段代码:1.自定义Attribute类:VersionAttribute [AttributeUsage(AttributeTargets.Class)] public class VersionAttribute : Attribute {
2017-01-13 10:03:59 642
转载 年末必啃清单!读完让你茅塞顿开!(建议收藏)
转自:http://blog.uwa4d.com/archives/usparkle2016.html(先转了,再看)自UWA发起U Sparkle活动 以来,收到了不少开发同学的积极回应。在众多向UWA投稿的文章中,我们瞥见的不仅仅是大家八仙过海各显神通的智慧灵光,亦是对新技术孜孜以求的热忱,对知识交流共享的传承。今天,我们精挑细选其中十几篇文章,并分为两大类:引擎把
2016-12-22 12:01:51 928
转载 PureMVC 游戏框架解析
目录(?)[+]作者:吴秦出处:http://www.cnblogs.com/skynet/本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名吴秦(包含链接).参考资料[1] PureMVC官方网站:www.puremvc.org[2] Wikipedia:http://zh.wikipe
2016-12-20 18:38:21 1413
转载 Unity3D手游开发实践《腾讯桌球》客户端开发经验总结
转自:http://bbs.gameres.com/thread_654759.html GameRes游资网授权发布 文 / 吴秦(Tyler) 本次分享总结,起源于腾讯桌球项目,但是不仅仅限于项目本身。虽然基于Unity3D,很多东西同样适用于Cocos。本文从以下10大点进行阐述: 1.架构设计 2.原生插件/平
2016-12-20 13:23:53 936
原创 Unity Shader 内置变量(Built-in shader variables)
Built-in shader variablesUnity provides a handful of built-in global variables for your shaders: things like current object’s transformation matrices, light parameters, current time and so on. Y
2016-12-14 18:34:19 2005
转载 贝塞尔曲线初探
以下转的贝塞尔曲线,可以通过三个点,来确定一条平滑的曲线。在计算机图形学应该有讲。是图形开发中的重要工具。实现的是一个图形做圆周运动。不过不是简单的关键帧动画那样,是计算出了很多点,当然还是用的关键帧动画,即使用CAKeyframeAnimation。有了贝塞尔曲线的支持,可以赋值给CAKeyframeAnimation 贝塞尔曲线的Path引用。用贝塞尔曲线画圆,
2016-12-14 16:45:47 821
转载 游戏程序员的学习之路
转自:http://gad.qq.com/article/detail/7180681Github miloyip/game-programmerView/Download SVG / PDF
2016-12-08 15:13:16 3590
原创 Python使用SMTP自动发送邮件
链接中的教程介绍了基础的使用方法,这里不再重复。这里主要是介绍使用中碰到的问题下面是我的示例程序# -*-coding:utf-8 -*-'''Created on 2016.11.12Send Mail@author: Administrator'''import smtplibfrom email.mime.text import MIMETextclass Email
2016-11-15 00:54:38 4634
原创 使用sublimint配置lua编辑器
项目中使用Lua对Unity进行热更新,但是没有好的编辑器,主要是用vs用习惯啦,所以得找一个合适的编辑器,不要求能调试,但是需要能方便的看代码。尝试使用NodePad++,EditPlus,都感觉不太好,找到了sublime,确实不错,并且可以使用Python编写自己的插件(这几天刚好使用Python写了几个工具,不由得觉得非常的合适啊,这不就是我想要的么)。对编辑器的要求:1.函数折叠
2016-11-09 10:58:14 2805
转载 C#漂浮死循环
由于碰到for循环陷入死循环问题,所以查了一下,主要是存储方式的问题,所以为了避免死循环,使用int或者是较小的float。转自:http://www.55228885.com/wAD9WZnp.htmlC#漂浮死循环在C#(.NET 3.5 SP1)下面的代码是我的机器上一个无限循环:for (float i = 0; i 它达到了数16777
2016-10-26 18:51:29 1571
转载 设计模式六大原则
目录:设计模式六大原则(1):单一职责原则设计模式六大原则(2):里氏替换原则设计模式六大原则(3):依赖倒置原则设计模式六大原则(4):接口隔离原则设计模式六大原则(5):迪米特法则设计模式六大原则(6):开闭原则设计模式六大原则(1):单一职责原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题
2016-08-31 16:41:12 2760 10
原创 Unity3d界面优化方法
在开发过程中不可避免的会遇到界面比较复杂的情况,会导致游戏卡顿(甚至打开一个界面需要花费好几秒),影响游戏效果。近两天对游戏中一个非常卡顿的界面进行了优化。优化前:打开界面进行所有的资源加载和操作。优化后:打开界面直加载必要的资源 ①:对于资源一次加载较多,但是不需要立即显示的部分使用延迟加载的方法,即 仅加载能立即看到的部分,其他部分延迟加载(分批加 载也要注意平衡视觉效果
2016-07-01 23:26:55 2753
转载 C#之结构Struct
结构是使用 struct 关键字定义的,与类相似,都表示可以包含数据成员和函数成员的数据结构。一般情况下,我们很少使用结构,而且很多人也并不建议使用结构,但作为.NET Framework 一般型別系统中的一个基本架构,还是有必要了解一下的。结构的特征:结构是一种值类型,并且不需要堆分配。结构的实例化可以不使用 new 运算符。在结构声明中,除非字段被声明为
2016-06-28 18:49:14 1591
原创 NGUI战斗飘字及界面优化
1. 飘字问题:飘字会有Alpha的渐变,当渐变到0的时候,会触发UIPanel的Rebuild 解决问题:查找哪些地方触发了Rebuild,在UIPanel中添加日志代码,查找出对应的UI控件,将Animation中的Alpha的最小值修改为大于0.001,并将label的位置设置到无穷远处,同时不要做显隐操作public UIDrawCall FindDrawCall (UIW
2016-06-23 17:51:52 3419 1
Unity教程之-制作闪亮的星星Star
2016-02-23
protoc.exe和protobuf-java-2.5.0.jar集合
2015-12-22
pure mvc 实现 术语阐述 及 最佳实践
2015-05-10
Corel Image
2014-03-08
计算机操作系统(第三版)
2013-08-13
数据结构(C语言版)(严蔚敏_吴伟民.扫描版 pdf
2013-08-06
使用FTP服务器进行数据库备份
2013-05-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人