雪千渔Blog

  • 首页
  • 写写代码
    • dotNet
    • C++
    • Lua
    • Visual Basic
    • Java
    • Android
    • Web
  • DCC
    • Maya
    • Maya-Plug
    • AfterEffect
    • AfterEffect-Plug
    • PhotoShop-Plug
  • 游戏制作
    • Unity3D
    • UnrealEngine
    • 经验杂谈
    • 游戏设计
    • 自研引擎
    • 效果实现
  • 其他
    • 乱七八糟
    • 软件工具
    • 留言板
    • 自制素材
    • 关于我
雪千渔blog
唯有热爱,能抵漫长岁月
自研引擎

游戏引擎脚本资产化与自研引擎实现的思考

参考着目前最热门的两款商业引擎,unreal与unity3d,这两款引擎对“脚本”有着完全不同的处理方式。 Unity3d 在unity中,游戏C#脚本会被视为名为MonoScript的资产,对象均由反序列化器来创建,而并不去使用构造函数来初始化,用户需要在Awake中编写初始化代码。在编辑器中,资产路径有着另一种表达方式:GUID。有了GUID,可以摆脱掉资产移动造成的路径错误丢失引用等问题,但实际GUID仅在编辑器中用来代替路径使用,在打包后将不会再有GUID的概念。 unity中包括编辑器,所有基于Unity…

2022年7月15日 0条评论 524点热度 2人点赞 JomiXedYu 阅读全文
C++

C++元编程之判断是否为共享指针模板

最近有个要判断共享指针模板类型的需求,为此编写了该代码,之前没有说过空类型的用法,借此例子来说一下: 在主模板的声明中,允许使用一个默认的空类型,即typename = void,在偏特化模板的版本中使用了std::void_t<>这个模板,std::void_t<>这个类型的原型为 template <class... _Types> using void_t = void; 唯一的作用就是辅助编译器进行SFINAE匹配。在std::shared_ptr中存在着一个elemen…

2022年6月27日 0条评论 363点热度 0人点赞 JomiXedYu 阅读全文
C++

c++之枚举类的位运算定义

在c++11开始引入了枚举类型enum class,在此之前enum关键字所声明的枚举更像是一个普通的常量集合,会将当前作用域视为访问空间,而enum class解决了这一问题。但作为类型也失去了像数字一样的于运算,尤其在使用Flags时会尤为困难,这里将会编写宏定义,自动生成完成运算符的重载。 enum class可以有一个明确的类型,可以是int32_t、int64_t等等,在运算符时要将枚举强制转换回本身整数类型时才可以进行运算,这里将会使用标准库提供的std::underlying_type_t(cppre…

2022年6月22日 0条评论 1221点热度 0人点赞 JomiXedYu 阅读全文
UnrealEngine

虚幻蓝图多返回值传递c++参数的形式

对于写惯c++的来说,一个函数返回指针时处理失败可以返回空指针,但如果返回值类型就很难去判断,同时为了避免使用异常,以返回布尔,通过指针来导出返回的参数是很常见的做法。但在虚幻内的结构体USTRUCT类型上标记为指针类型时,将会收到编译错误。对以下的四种传递和返回方式与蓝图中生成的阶段做一个对比:分别为 普通的值类型传递 常引用传递 引用传递 返回值类型对象 UFUNCTION(BlueprintCallable) static bool TestValue(FConfig Config) UFUNCTION(Bl…

2022年6月17日 0条评论 702点热度 1人点赞 JomiXedYu 阅读全文
Unity3D

ugui多层Sprite的混合合并

Sprite是以Texture2d为基础的,所以我们应该首先获取Sprite的texture2d对象,合并,然后生成新的Sprite对象。 可以用画画的方式一层一层的混合,Unity3d新建的Texture2d对象并不是一张RGB为0的图,而是0.8的灰色缓冲区,所以我们需要清空这个颜色,只需要用最底层的texture去填充覆盖,上面的texture在绘制即可。 分别为两个指令,Fill和Draw。 public static void Fill(Texture2D src, Texture2D brush) { …

2022年4月17日 0条评论 658点热度 2人点赞 JomiXedYu 阅读全文
经验杂谈

让你的游戏支持Mod

在本篇文章中会讨论如何让自己的游戏支持Mod,以及一个良好的Mod框架模型 ModAPI 第三方与自主开发 很多游戏原版是并不支持Mod的,都是第三方制作一套ModAPI并开放给开发者,第三方的ModAPI一般先对游戏进行反编译,在游戏中“打洞”,在关键位置进行hook(调用自己的代码),然后我们可以通过这套API间接的修改游戏内容和行为。 Mod是一种自由度较高的组件,类似插件,我们可能为了让游戏更有灵活性,或者后续开发扩展以及DLC的便利,需要让游戏系统支持Mod,为了让Mod更自由的组合,在加载上Mod应该处…

2022年4月9日 0条评论 1273点热度 6人点赞 JomiXedYu 阅读全文
Unity3D

MonoSingleton生命周期与移动构造

在Unity中使用单例时一般会选择使用跟随Unity生命周期的MonoBehaviour对象,一般情况下的MonoSingleton对象都是DontDestroyOnLoad处理不会销毁的对象。 切换场景时两个mono对象的生命周期。 有一些时候为了在场景内更好的可视化调试和修改需要将MonoSingleton的对象放置于场景中而不是动态的添加,这样会出现一个问题,如果重新加载该场景或者其他存在此类型的场景时,将会造成两个MonoSingleton同时在场的情况,为了处理这种情况可以有两种方式: 切换场景时保持旧实…

2022年3月23日 0条评论 961点热度 0人点赞 JomiXedYu 阅读全文
dotNet

委托DynamicInvoke与反射Invoke性能测试

性能测试 先放结果,经过多次性能测试并取得平均值: 明确类型的委托:执行时间:41, 内存消耗:64120 不明确类型的委托:执行时间:6339,内存消耗:1524224 通过反射Invoke执行:执行时间:1087,内存消耗:4344552   明确类型的委托 委托作为C#特殊类型,在明确委托类型下编译器则会特殊照顾,在委托类中生成隐藏的函数,如System.Action<T>的Invoke函数: .method public hidebysig newslot virtual instan…

2022年3月21日 0条评论 635点热度 0人点赞 JomiXedYu 阅读全文
Unity3D

修改UnityPlayer.dll的名字

其实也是没事儿闲的,研究了两个小时怎么改名。 在Build Setting面板编译打包的时候需要勾选Create Visual Studio Solution。点击build选择路径,这样就创建了一个windows的C++解决方案。 解决方案里总共有3个项目,分别是: 你的项目名字 UnityData UnityPlayerStub 其中你的项目名字是主启动项目,使用windows的wWinMain函数作为窗体类函数入口(main是控制台入口),会去调用UnityMain函数。 int WINAPI wWinMai…

2022年2月12日 1条评论 1266点热度 1人点赞 JomiXedYu 阅读全文
Unity3D

Unity资源打包经验概述

压缩格式 常用的压缩格式为两种: LZMA:单包一次全部读入内存,压缩率高,文件小。 LZ4:可以分块读入内存,压缩率相比LZMA低,文件相比LZMA更大。 LZMA的特性导致包体不能过大,共享资源在生成时会生成场景文件:level0、level1,资源文件sharedassets0.assets等。 LZ4的特性则对包体大小更宽松,可以直接读取对应资源而不用整包读取,共享资源生成时会直接生成单包文件data.unity3d 资源打包 在Unity3d中,需要打包的资源可以分为三类: 最普通的通用共享资源 Reso…

2022年2月5日 0条评论 2963点热度 7人点赞 JomiXedYu 阅读全文
12345…9

JomiXedYu

IndieGame Developer & Netease Games TechArt

最新 热点 随机
最新 热点 随机
UE材质Custom节点与HLSL的HACK操作 UE5出现D3D12崩溃报错解决方案 游戏引擎脚本绑定的三种写法与利弊 一种解决不支持中文与空格文件名的编码 Vulkan坐标系通用方案以及反转viewport
修改UnityPlayer.dll的名字ugui多层Sprite的混合合并UE编辑器开发之UToolMenus扩展位置UE编辑器开发之蓝图篇UE编辑器中的C++与Python插件解析
Key社咖啡贴图psd UE5出现D3D12崩溃报错解决方案 虚幻蓝图多返回值传递c++参数的形式 LuaSharp:适用于.Net开发者的Lua框架 AE表达式基础,使用控制器控制图形
分类
  • AfterEffect / 6篇
  • AfterEffect-Plug / 1篇
  • Android / 1篇
  • C++ / 14篇
  • dotNet / 12篇
  • Lua / 4篇
  • Maya / 2篇
  • Maya-Plug / 2篇
  • Office-VSTO&VBA / 2篇
  • Unity3D / 14篇
  • UnrealEngine / 7篇
  • Visual Basic / 8篇
  • Web / 2篇
  • 乱七八糟 / 2篇
  • 效果实现 / 2篇
  • 经验杂谈 / 3篇
  • 自制素材 / 3篇
  • 自研引擎 / 2篇
  • 计算机图形学 / 1篇
  • 软件工具 / 4篇
友情链接
  • DorinXL
  • 小博博客
  • 秋橘斋

COPYRIGHT © 2014-2023 雪千渔Blog. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

辽ICP备20006894号-1