雪千渔Blog

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

C++中的事件分发器与委托

在程序中使用批量事件通知是很常用的场景,该事件分发器可以绑定多个静态与非静态函数,内部使用标准库的list和function实现,可变模板参数可以拓展到任意长度。 模仿C#中的委托,分为Events、Delegate、Action和Function。以下是继承的结构。 Events (添加移除静态与实例事件) Delegate (执行事件、按实例移除或全部移除) Action (Delegate特化版本) Function (继承Delegate,实现带返回值列表的执行事件) Function<bool>…

2020年9月20日 0条评论 2345点热度 6人点赞 JomiXedYu 阅读全文
dotNet

C#动态生成IL实现匿名类和接口

通过这种方式可以直接对接口实例化了(伪),动态的通过委托来实现接口,匿名类型是在运行时动态构建的。 实现思路: 使用AssemblyBuilder、TypeBuilder构建类型,并用FieldBuilder构建一个字典字段<String, Delegate>,用来保存函数名和匿名函数,MethodBuilder构建方法并使用IL流填充,调用保存的匿名函数表中的函数。 构建动态类型的方法要求传入一个<String, Delegate>函数字典,可以使用字典的初始化器来初始化匿名函数来达到实现…

2020年7月27日 0条评论 2247点热度 9人点赞 JomiXedYu 阅读全文
dotNet

C#之结构体与二进制数据的转换

在写关于二进制文件操作程序的时候,经常要去解析文件头,在C++中我通常是使用Stream把文件读取进来后直接将二进制数据拷贝到一个文件头结构体的内存中(memcpy,此处要注意内存对齐的问题),但在C#中没有这个函数,就自己实现了个。整体来说比较麻烦,我也没想到什么其他的好办法,如果有请给我留言。 public unsafe class Unmanaged { public static T CreateStructByBytes<T>(byte[] bytes) where T : unmanaged…

2020年6月28日 0条评论 1913点热度 0人点赞 JomiXedYu 阅读全文
dotNet

C#之拓展方法的本质

扩展方法可以使对象增加额外的“看似是成员”的方法。 普通的实例类型定义: public class InstanceClass { public int a = 3; public void instanceMethod() { this.a = 122; } } 扩展方法的定义: public static class InstanceClassExt { public static void Ext(this InstanceClass _this) { _this.a = 5; } } 分别对成员实例方法和扩…

2020年5月20日 0条评论 1460点热度 0人点赞 JomiXedYu 阅读全文
Lua

LuaSharp:适用于.Net开发者的Lua框架

代码仓库:https://github.com/JomiXedYu/LuaSharp 为什么说适合熟悉C#的Lua开发者 使lua拥有面向对象的关键字与方法,关键字、方法名、抽象层基本采用自.Net规则。 可以在这里看到的内容 拥有类(class),类型(Type),实例(instance) base,重写时需要调用父类的方法。 直接在类中写重载运算符。 支持gettype(class) / typeof(class) 使用obj:GetType() 方法,每个类型对象唯一 istype关键字,istype(obj…

2020年4月25日 0条评论 2360点热度 3人点赞 JomiXedYu 阅读全文
dotNet

HSV与RGB互转公式与Color封装

无论是System.Draw.Color还是UnityEngine.Color对颜色操作的功能还是太少了,我们在用ps等调色面板使用的都是0-255范围的颜色值,但在图形层却使用的是0-1的浮点数,所以自己封了个支持多种Color操作的类型。 大写的RGB代表着0~255的整数。 小写rgb的范围是0~1的浮点数。 浮点转换整形使用四舍六入五求偶。 RGB转HSV公式: R' = R/255 G' = G/255 B' = B/255 Cmax = max(R', G', B') Cmin = min(R', G'…

2020年4月19日 0条评论 2092点热度 1人点赞 JomiXedYu 阅读全文
Unity3D

Unity之Galgame引擎框架制作思路

前言 看到使用Unity来制作Galgame,很多人可能会觉得小题大做,现在有很多现成的工具可以使用:krkr、NVL(krkr)、renPy等。我选择使用Unity来开发主要也是因为自由性,对程序控制和美术表现的掌握,现在的许多gal也加入了一些小游戏或交互类的功能,使用Unity开发更容易满足各种各样的需求。 需求分析 目前来说市面上能看到的绝大多数游戏都是以背景、立绘、音乐为表现,但推进游戏的方式不尽相同。 总结了下常见的游戏操作模式与推进方式: 使用分支选择来推进游戏进度,分支决定了不同的故事结局(本篇文章…

2020年4月15日 0条评论 8316点热度 23人点赞 JomiXedYu 阅读全文
Lua

Lua面向对象

注:本文代码中的->符号均为运行后的输出结果,不算做代码 前言 说道面向对象,基本就是围绕着表来展开的。lua中的表是一个万能的类型,可以当做数组,哈希表,结构体,等数据类型,主要是搭配元表来实现面向对象。前面会有些lua表的基础简单介绍,如有了解可直接翻找目录 “Lua类型与实例”,因为博主常使用C#进行开发,所以本文章中会有很多关键字与命名风格偏向C#。 Lua中的表:table 表和其他基础类型不同,它是引用类型的,或者叫指针类型。当给变量赋的值为表时,只是把表的引用复制了过去。 表的声明方式: loc…

2020年3月13日 0条评论 3954点热度 3人点赞 JomiXedYu 阅读全文
Lua

Lua位运算与Flag枚举

Lua位运算 Lua位运算的实现,用库感觉还是太麻烦,还是自己实现下吧,因为lua中没办法整除,但是毕竟是除2,直接把小数点抹去就可以了,循环拿商除2,每次循环位置+1(乘2),余数就是位上的数,对单独的位进行运算后乘上位移。 local BitMath = {} local function _and(n1, n2) return n1 == 1 and n2 == 1 and 1 or 0 end local function _or(n1, n2) return (n1 == 1 or n2 == 1) an…

2020年3月9日 0条评论 4853点热度 1人点赞 JomiXedYu 阅读全文
Lua

xLua无法判断Unity对象为nil的问题

在xlua中无法判断GameObject类型对象是否为nil faq原文:https://github.com/Tencent/xLua/blob/master/Assets/XLua/Doc/faq.md faq标题:有的Unity对象,在C#为null,在lua为啥不为nil呢?比如一个已经Destroy的GameObject。 faq内容:其实那C#对象并不为null,是UnityEngine.Object重载的==操作符,当一个对象被Destroy,未初始化等情况,obj == null返回true,但这C…

2020年3月6日 0条评论 8953点热度 11人点赞 JomiXedYu 阅读全文
1…34567…10

JomiXedYu

独游开发者 & 技术美术

最新 热点 随机
最新 热点 随机
HLSL对Vulkan的适应性以及伪语义绑定 GPU呈现模式与垂直空白 自研引擎PulsarEngine的Shader编译流程 UE材质Custom节点与HLSL的HACK操作 UE5出现D3D12崩溃报错解决方案
修改UnityPlayer.dll的名字ugui多层Sprite的混合合并UE编辑器开发之UToolMenus扩展位置UE编辑器开发之蓝图篇UE编辑器中的C++与Python插件解析
WordPress域名更换使用MySQL替换文章链接 C++轻量级对象系统、托管指针、反射库 一种解决不支持中文与空格文件名的编码 在Unity程序运行时更改窗口图标设置标题 自制神户小鸟KanbeKotori三维模型
分类
  • 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篇
  • Vulkan / 1篇
  • Web / 2篇
  • 乱七八糟 / 2篇
  • 效果实现 / 2篇
  • 经验杂谈 / 3篇
  • 自制素材 / 3篇
  • 自研引擎 / 3篇
  • 计算机图形学 / 2篇
  • 软件工具 / 4篇
友情链接
  • DorinXL
  • 小博博客
  • 秋橘斋

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

Theme Kratos Made By Seaton Jiang

辽ICP备20006894号-1