Elmagnifico's Blog

云深不知归处

Valheim英灵神殿服务器搭建

steam,百万

Foreword Valheim英灵神殿,过年肝了一周多,发售短短十三天就超过了200w,游戏本身还处于ea阶段,完成度比较高,虽然还有不少小bug,但是不影响主要流程。 这里记录一下服务器搭建流程,使用的是腾讯云,广州,轻量,2c,4g,6m,centos,平常大概cpu占用60-70左右,内存占用50%,这只是一个10人小服,单人数据流量大概在50Kbps。 2021.3.1更新:...

2020游戏短评

鬼谷八荒,戴森球

Foreword 回顾一下我2020年都玩了些什么游戏,以及遇到了什么坑 2020年国产单机 国产销量前20的游戏,我玩了枪火重生,部落与弯刀,不思议的皇冠,丸霸无双,云过的有:只只大冒险,传奇生物,全网公敌,我来自江湖。 枪火重生 简单而爽快的fps,闯关,roguelike游戏,可以四人联机,枪火出的比较早,但是我是2021年初才玩的,基本是游戏末期了,随机匹配中依然可以快...

RVO2 3d实际应用

碰撞,路径规划

Foreword 前面用了Molecular,然后具体算法没看明白,也有很多幻数藏在其中,不适合实际使用。然后就尝试了一下RVO2,发现异常好用。 介绍 https://gamma.cs.unc.edu/RVO2/ RVO2之前介绍过了,这里说一下平常RVO2都是二维的 https://github.com/snape/RVO2 但是我这次用的是RVO2 3d版本...

Molecular 处理自碰撞源码解读

blender,粒子

Foreword 由于我想自己处理粒子碰撞的问题,刚好看到了Molecular Script可以将blender中不能自碰撞的粒子模拟成自碰撞的效果,简单好用,刚好分析一下他的源码,看一下他是如何处理的 介绍 最初的源码来自于这里,不过已经太久不维护了,后来又被其他人捡起来继续维护了。 https://github.com/Pyroevil/Blender-Molecular-...

KD树、KNN、八叉树

KD-Tree,空间搜索

Foreword 在看Blender-Molecular-Script源码的时候突然看到了几个不认识的,就记录一下 https://github.com/scorpion81/Blender-Molecular-Script KD-Tree k-dimensional,是一种用于分割k维数据空间的数据结构。 先说问题,平常的一维查找,要么挨个比一下,要么二分查找,再复杂一点...

Blender 粒子系统架构

Particle,Architecture

Foreword Blender中也有类似于maya goal的功能,叫做keyed,中文叫键控,非常奇怪的名字,打算看一下这个功能底层是怎么实现的,所以这里学习一下Blender的粒子架构。 Blender Dev Blender本身内部功能都是用c开发的,音乐物理效果、游戏引擎和渲染是靠c++,插件和一些导入导出功能是python完成的。 blender的编译需要两个部分 一个...

集群运动

VO,RVO,Coordinated

Foreword 说完了寻路算法和地图离散化,还剩下轨迹规划,但是这里还需要提一下和寻路和轨迹相关性非常高的一个分支方向,那就是集群运动。 平常说的寻路就自动包含了避障方面的考虑,但是这都是单一个体来考虑的,如果当这里不是单一个体,而是一个群体,群体移动的时候,遇到某些很窄的通道要怎么处理,群体内部该如何不碰撞,不抖动。 一般集群运动都是用一种局域范围内的动态避让算法来缓解群体内部的矛...

python import相关问题

maya,同级目录

Foreword 最近想实现一个python同名package的热更新,同时这个package是pyd加密后的,就遇到一系列问题。 import python的import简直太恶心了,说难听点,万恶之源。 像是c或者c++,其他语言引入其他库,可能就是加个头文件引用就行了,或者直接声明一下引入的库相关信息,一般对于路径或者同名库之类的问题都有很好的解决办法,但是python这里就非...

Maya workspaceControl造成的崩溃

崩溃,ui刷新

Foreword Maya 2017有一个固定流程点击workspaceControl会导致maya crash 现象 崩溃的现象基于maya 2017 无update的版本,cut id是2017201606150345-997974 运行下面的代码1次,点开侧边栏,刷新出来新建的workspace 折叠所有workspace,不是关闭! 再运行下面的代码一次,同时确...

地图离散化

navmesh,navgrid

Foreword 要实现一个寻路,地图要如何描述或者结构化,这个非常重要,当然也和我们选择的寻路算法有关系,主要是为了寻路算法服务的。 地图离散化 寻路算法是基于地图进行搜索的,而往往地图的信息过于复杂的时候,之前说过的算法实际应用非常慢,而基于这样的情况,自然就可以用我们的离散数学了。 首先就要考虑如何降低地图中的信息量,比如我地图是10000*10000的二维,而要基于这个进行搜...