9 aiyaya730

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 9k+

ECS + lockstep 实现局域网实时同步

最近在公司用 Lua 写战斗逻辑,对ECS这套结构理解 比以前深刻了很多。脱离开公司业务 之后,我自己又在 unity 里用 C# 实现 了一套 ecs的结构, 写了一小 demo . 在 ECS 的 结构下 , 业务扩展变得非常 灵活, 因为旧有代码逻辑导致新功能不好实现的情况 也变得很少了。ECS思维方式,实在太适合写游戏战斗逻辑了。用了这套结构写了一个 demo 之后,我又尝试在它的基础上,加上 lockstep 的机制 ,实现局域网 实时同步。 之前一直在做这样的尝试 , 搞起

2020-07-23 23:43:54

unity 使用 C# 实时获取外部程序的控制台输出

项目里,有同事把外部的 cmake 编译 C++ 的脚本集成到 unity编辑器里来 ,并且把编译输出实时打印到 Unity 的控制台里。实现这一功能主要依赖于 .net framework 的 System.Diagnostics.Process 类。Process 类可以唤起一个进程.如果想截取控制台输出,则需要设置 进程的 StartInfo 的几个参数UseShellExecute...

2020-02-18 00:23:00

不依赖插件 给 Unity 项目接入 Lua

之前在公司给项目接入过 xLua .接入过程非常傻瓜.又了解到 Unity 由于历史原因,有各种各样的 lua 接入插件。 slua,xlua,tolua 等等层出不穷。如果是为了直接在 Unity 项目里使用 Lua,使用现成的插件肯定是最好的选择。如果是为了学习,就需要自己亲手实践一番之前并不了解 unity 接入 lua 的原理 。最近通过公司的项目,查阅看官方文档,了解到 Unit...

2020-01-20 17:53:24

使用 unity理解渲染时的 深度缓冲机制

在其他游戏里见到过这样的效果:人物走到建筑后面,被建筑挡住的部分做特殊显示、没有被建筑挡住的部分正常渲染。想要实现这种效果,关键的要点是 ZTest.今天借助unity了解了 ZTest 机制.再此做一下总结.创建一个空场景,两个 cube,距离近的是 cube_1, 远的是 cube_2分别给 cube_1 ,cube_2 写 shadercube_1 的 shader 叫做 Sh...

2019-10-31 18:24:34

一个 unity 新粉丝入门一个月的经验和感想

最近一段时间一直在使用unity.最开始直接上手就撸,之后放低姿态稍微看了几个教学视频.就这样算是较快的度过了从写代码到使用编辑器的不适期.在熟悉了 面向组件的开发方式,熟悉了 unity 编辑器和 物理引擎之后,现在能够搞定大部分种类的 2d gameplay 开发了.我也逐渐的体会到了 unity 的便捷,以及使用unity 开发游戏的乐趣.让我比较有深刻体会的有几个方面.开始时不熟悉物理...

2019-10-30 23:55:19

[c++] delete 只有声明没有定义的指针时遇到的问题

今天遇到这样一个问题:class AParent 有一个成员 BParent* ptr 初始化为 nullptrclass AChild 作为 AParent 的子类,ptr = new BChild , 其中 BChild 是 BParent 的子类为了减少编译时的依赖, AParent.h 上面声明了 class BParent;在 AParent.cpp 里面虽然调用了 delete...

2019-08-31 21:33:24

使用 VisualStudio 属性表自定义用户宏

在配置 vc 工程时,常常要根据现有的宏来配置包含路径每个工程都自带一些 $(SolutionDir) $(ProjectDir) 等宏但是如何自定义这些宏呢?在 VC 的属性管理器里, 工程右键 -> 添加新项目属性表比如命名为 Demo1,则会生成 Demo1.props 文件双击 Demo1 -> 通用属性 -> 用户宏 -> 添加宏这样就可以给项目自...

2019-08-27 18:19:02

使用 VisualStudio 诊断工具 解决 c++ 项目的内存泄漏

今天了解了一下 VisualStudio “诊断工具”,感觉非常好用,甚至强过xcode 的 instrument 的泄漏检查工具。趁热记录一下经验感受。应用场景今天同事反应,我们的游戏每一局新开一把,内存都会飙升几十兆。反复开几把,内存会飙到1.5G然后挂掉。光听现象很明显是发生了内存泄漏。 本来打算找一些 windows 平台的工具来检查。由于我们项目使用的是 Vistual Studi...

2019-06-14 01:17:17

web版"凑发票计算器"经验总结

故事背景公司一直有这样的报销传统:每个月加班一天报销25块钱,但是必须提供相应的发票。发票的规定有点奇葩,不能少于报销金额,但是也不能多余报销金额+30.举个例子,比如一个月加班10天,那么可以报销的金额是250元,需要提供的发票金额加起来必须在250-280之间。旁边的同事每个月都能搞到好多发票,各个金额都有。但是每次为了把这些发票凑成合适的数字,都要花一些时间。由此想到,如果要是能写个代...

2019-06-14 00:52:51

c/c++ 几个双下划线 实用的内置宏

c/c++ 几个双下划线 实用的内置宏这几个宏分别是__FILE__ 文件路径文件名 字符串__FUNCTION__ 函数名 字符串__LINE__ 行号 数字__TIME__ 编译时间 字符串__DATE__ 编译日期 字符串printf("%s %s %d %s %s",__FILE__,__FUNCTION__,__LINE__,__DATE__,__TIM...

2019-04-19 16:55:01

试了试 glfw 对手柄支持的几个 api

最近给自己买了个 switch,由于独乐乐不如众乐乐,又新购入了一个“良值”牌的手柄。手柄到货的时候我还在公司,没法用 switch 实机测试手柄好用不好用, 就打算用 windows 自带的手柄检测软件测试一下。插到 PC 上, 欣喜的发现啥驱动都不用安装(可能是自动安装好了),手柄就识别了。用 windows 自带的软件测试了几下,没有啥问题,网上说的十字键串键位的问题也没有。由于 win...

2019-02-14 19:58:36

[备忘] 给现有代码创建 git 仓库

每次自己写一些代码,想要在家里和公司共享的时候,都会在自己的服务器上创建一个git仓库。但是每次都磕磕绊绊,多少都会遇到一点问题。再次重新操作了一遍,在这里记录一下做备忘。首先在本地电脑有一个文件夹,是自己想要上传的代码服务器端创建一个空的 git 仓库登陆到服务器,进入想创建代码仓库的目录 cd /data/repositories创建 git 仓库文件夹 mkdir werew...

2019-02-13 18:49:31

聊聊随机数

工作里遇到了关于随机数的问题:使用相同的随机种子,换一个设备,还能得到相同的随机序列吗?由于对随机数的生成理解不够深刻,还引发了一次跟同事之间的小讨论。不知为不知,在这里承认自己以前对随机数理解有限,把过程和经验记录于此。随机数的基础用法和特性编程过程中,随机数的基础用法和特性广为人知。但为了防止有对这个概念还不清楚的新手,还是先简单说明一下。编程获取随机数的基本做法是:在程序初始...

2019-01-23 00:19:01

C++的一种错误写法:用引用类型接收值类型返回值函数的返回值

观察下面的错误代码,函数的返回值是值类型,在外面接收返回值时,使用引用类型。CTest getTest(){ CTest t; return t;}CTest& test = getTest();在vs2017里面,这样写代码竟然在编译阶段不报错,而且运行也正常。在 xcode 的编译器下,直接会报错不能用引用类型,来接收值类型的参数。这种写法,语意上,有一种“接收了局...

2018-11-16 00:02:53

c++多线程 thread mutex 使用小结

c++多线程 thread mutex 使用小结std::thread std::mutex 基本使用方法std::thread 用于开启一个线程。std::mutex 是互斥锁,防止不同线程间的代码在不同线程间做不安全的切换std::mutex try_lock()子线程作生产者、主线程做消费者子线程做加载、主线程显示百分比多线程里遇到的几个问题:c++对于多线程的支持,依赖于 std::th...

2018-11-11 23:02:31

详解C语言可变参数va_list和vsnprintf及printf实现

转自 https://blog.csdn.net/cbNotes/article/details/38760025C语言的变长参数在平时做开发时很少会在自己设计的接口中用到,但我们最常用的接口printf就是使用的变长参数接口,在感受到printf强大的魅力的同时,是否想挖据一下到底printf是如何实现的呢?这里我们一起来挖掘一下C语言变长参数的奥秘。先考虑这样一个问题:如果我们不使用C标...

2018-10-31 01:00:14

吐槽一下网站备案

前阵子刚刚买了个云服务器,买了个域名,跑的挺好,新鲜劲还没过去。今天说在网站上更新一下内容,发现竟然需要我备案?不备案直接就把网站封了。我果然还是对社会大意了。云主机平台上一个劲的强调备案的重要性,我本来以为前一阵子折腾了 身份证照片什么的,已经算是备案完成。现在才知道,那个仅仅是 域名“实名制”完成。要想网站一直能访问,必须得备案。备案的步骤还特别繁琐,填写各种真实信息、正反身份证照片是基本操作...

2018-09-19 01:02:23

n阶bezier曲线 通用公式说明和应用

今天,孤陋寡闻数学不好的我,才知道n阶bezier 曲线是有一个通用公式的。我先把这个公式截图放在这里,留作备忘感觉就这么一个公式,说的就比较明确了,用代码实现起来也比较简单。稍微解释一下:上面的公式,说的是 2d 场景下, 每个点的插值坐标,是怎么算的。首先得有一个所有点集合的数组。数组里包括 起点、控制点x N,终点。比如有 3个控制点, 加上 起点终点,...

2018-09-08 02:57:00

新工作新气象

前一段时间,我辞职跳槽了。辞职的最主要原因,是因为我在工作里提升不大。每天绝大部分时间,堆着各种各样的简单逻辑,面对着奇奇怪怪怎么也改不完的垃圾代码产生的bug.并且感觉周围大部分同事的技术水平也都比较low。在这个公司,我参与了2个卡牌游戏项目。第一个项目,我加入时,游戏刚刚上线,进入了线上营收,更新迭代的阶段。我把这个项目一直维护到不赚钱,算是给它养老送终。第二个项目我参与时,雏形框架有了,基...

2018-07-28 00:05:55

【OpenGL4.0】GLSL渲染语言入门与VBO、VAO使用:绘制一个三角形

转自https://blog.csdn.net/xiajun07061225/article/details/7628146以前都是用Cg的,现在改用GLSL,又要重新学,不过两种语言很多都是相通的。下面的例子是实现绘制一个三角形的简单程序。采用了VBO(veretx buffer object)、VAO(vertex array object)等OpenGL的一些新特性。越往后发展,可编程管线肯...

2018-07-01 02:02:15

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。