刷新
skynet框架:批量服务管理方案

博主头像 skynet很经典的用法是一个节点会有批量的服务跑相同的模块逻辑。服务的生命周期管理显然是跟业务强关联的,需要根据实际业务对应做适配的生命周期管理方案。显然最直接的方案就是服务常驻,跟进程的生命周期同步,当服务的数量级不大时,认为消耗可控,方案是适用的,也避免过度设计。 这里想谈的是单节点数千服务的 ...

Unity中的光源类型(向前渲染路径进行光照计算)

博主头像 Unity中的光源类型 Unity中共支持4种光源类型: 平行光 点光源 聚光灯 面光源(在光照烘焙时才可以发挥作用) 光源的属性: 位置 方向(到某个点的方向) 颜色 强度 衰减(到某个点的衰减) 平行光 平行光的几何定义是最简单的,平行光可以照亮的范围是无限远的,且对与场景中的各个点的方向和强度 ...

Unity中的三种渲染路径

博主头像 Unity中的渲染路径 Unity的渲染路径 在Unity里,渲染路径(Rendering Path)决定了光照是如何应用到Unity Shader中的。因此,我们只有为Shader正确地选择和设置了需要的渲染路径,该shader的光照计算才可以被正确执行。 unity中的渲染路径: Forward ...

Unity Webgl小游戏存取数据的解决方案

博主头像 在Unity中,如果我们要存储数据,通常会使用以下几种方法: 1.Unity官方提供的PlayerPrefs 2.Unity官方提供的ScriptableObject 3.使用Json,XML,CSV等文件保存 4.使用数据库存储 而在Webgl手机小游戏中,通常会以PlayerPrefs进行保存, ...

Unity中实现人形角色的攀爬

博主头像 在Unity实现角色攀爬 前言 开放世界类型的游戏近年也热门起来了,自由攀爬也成了这一类游戏的一大特色。攀爬给了玩家更多探索路径的选择,也让地图设计有了更多思路。这次,我们就来尝试在Unity中制作一个人形角色的攀爬。 注:攀爬是一个角色完整动作系统的一部分,本文暂且抛开其它动作,也不涉及动画,仅针 ...

Unity中利用遗传算法训练MLP

博主头像 Unity中利用遗传算法训练MLP 梯度下降法训练神经网络通常需要我们给定训练的输入-输出数据,而用遗传算法会便捷很多,它不需要我们给定好数据,只需要随机化多个权重进行N次“繁衍进化”,就可以得出效果不错的网络。 这种训练方式的好处就是不需要训练用的预期输出数据,适合那类可以简单通过环境交互判断训练 ...

架构演化学习思考(4) --- IOC的学习认识

博主头像 架构演化学习思考(4) IOC的学习认识 IOC相关概念认识 什么是IOC? IOC全称为 Inversion Of Control ,即控制反转。它是一种控制思想,可以解释为类和类之间的依赖关系不再由代码直接控制,而是通过容器来控制和配置实现。 控制反转?那么什么是正传? 反转有啥好处?IOC到底 ...

LearnOpenGL 笔记 -- VAO & VBO

博主头像 1 前言 VAO和VBO属于我们学习opengl最先接触的几个概念,最开始学习的时候有可能无法直观的理解这个概念的作用和使用方法。笔者也是opengl新手,在此记录学习的相关笔记,便于之后进行查看。本文主要参考learnopengl 教程以及 opengl官网 中的用法和解释,文中的代码实例使用op ...

FFmpeg在游戏视频录制中的应用:画质与文件大小的综合比较

博主头像 我们游戏内的视频录制目前只支持avi固定码率,在玩家见面会上有玩家反馈希望改善录制画质,我最近在研究了有关视频画质的一些内容并做了一些统计。 录制视频大小对比 首先在游戏引擎中增加了对录制mp4格式的支持,并且使用h246编码可以直接在网页上播放无法再做转码 测试场景:视频尺寸固定大小为: 1904 ...

架构演化学习思考(3)

博主头像 架构演化学习思考(3) 接上一篇我们继续对命令模式进行学习。 在这节内容中,我们聊一下经典的命令模式,还记得上一篇文章开头我们实现的简单的命令模式吗?来看代码,非常简单易解。 public interface ICommand { void Execute(); } public class Pla ...

架构演化思考总结(2)

博主头像 架构演化思考总结(2) ​ —-–从命令模式中来探索处理依赖关系 在正式引入命令模式的概念之前,我们先从简单的案例来逐步演化大家在书面上常见到的内容。 public interface ICommand { void Execute(); } public class PlayMusicComman ...

架构演化思考总结(1)

博主头像 架构是什么? 答:架构是对依赖的统一管理。 什么是依赖?分为几种?我们为什么要对它进行管理。 依赖就是持有对象,或者说是持有一个非空的引用。 单向依赖 正如项目开发中,对象和对象之间都会有相互持有、相互调用的需求的。而对象间的持有就是一种依赖。A想要完成一个逻辑处理,需要调用B的一个方法来实现,那么 ...

[Unity]记一个倒计时接口

博主头像 1.介绍 游戏开发时还是蛮经常会遇到与时间有关的功能,最近整理了下把游戏在线的倒计时抽出了一个接口。 在线游戏的倒计时通用需求一般有: 1).倒计时的时间,比如树的重生长时间为3分钟,角色死亡复活倒计时需要30秒.. 2).可以暂停的功能,比如单机游戏点开设置,那么树的重生长倒计时应该停止;也可以不 ...

IMGUI快速入门

博主头像 资源大全 官方资源 源码+例子:ocornut/imgui: Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies (github.com) python绑定:pyimgui/pyimgui ...

lua开发:有限状态机模式设计

博主头像 有限状态机,表示有限个状态以及在这些状态之间的转移和动作等行为的处理模型。在任意时刻有限状态机都处于某一特定的状态,并且可以根据当前状态和输入条件(触发事件),从当前状态转移到另一个状态。 核心概念: 实体(Entity):状态机的主体和作用对象,它的状态可以改变 状态(State):实体在某一特定 ...

人形动画常见IK的处理

博主头像 Unity中常见人形动画IK的处理方式 本文将尝试仅使用Untiy内置的Animator来解决常见的几种运动所需的IK。也会给出核心功能的代码实现。 效果一览:b站视频 Unity中人形角色的IK IK(inverse kinematics)也就是逆运动学,在工业机器人领域,人们关注的逆运动学问题就 ...

Netcode for Entities如何添加自定义序列化,让GhostField支持任意类型?以int3为例(1.2.3版本)

博主头像 一句话省流:很麻烦也很抽象,能用内置支持的类型就尽量用。 首先看文档。官方文档里一开头就列出了所有内置的支持的类型:Ghost Type Templates 其中Entity类型需要特别注意一下:在同步这个类型的时候,如果是刚刚Instantiate的Ghost(也就是GhostId尚未生效,上一篇 ...

<1···34