基于色彩理论像素化任意图片
代码画像素画观察先看了会大佬的像素作品(32 * 32),感觉像素画主要就是把关键特征保留下来。
动手看了个 b 站的视频,感觉还不错,决定自己也动手临摹一下。
找了张图。
虽然很不甘心,但是我的美术功底好像确实也就到此为止了,实在是太丑了!
图片像素化既然我自己画不行,那就只能让电脑来画了。
纯算法个人还是喜欢用纯算法的方式解决问题(可解释性强)。
改进图像缩放从本质上来说,图像缩放就是去除冗余像素的过程,但是却无法生成一幅赏心悦目的像素画。
其根本原因在于没有突出重要部位的颜色(色差不明显),而是一味的使用均值平滑缩放。
因此,可以先按照缩放比例,将原图像分块,再剔除块内的偏离值,最后取平均值映射到新图像的相应位置。
12345678910111213141516# Every channelfor page in range(0, channel): mean = np.mean(block[:, :, page]) std = np.std(block[:, :, page]) # 剔除 2σ 异常值 numMaxEdge = mean + 1 * ...
局域网第三人称射击游戏
项目地址
游戏框架
依据作业要求,同时参考 CSGO 以及 PUBG,制定如下框架图。
制作实现思路
单独完成联机大厅以及相关 UI 。
实现人物的动画逻辑以及射击功能。
制作训练营地图,实现单人与训练营的交互。
实现多人与训练营的交互。
制作积分板。
完成对战地图。
制作 AI 。
实现多种武器。
完善动画细节。
移植到安卓。
联机大厅为了方便日后复用这套局域网联机框架,大厅的地图和人物框架都是独立的,在开始游戏后用联机漫游将会话带入游戏地图中。
其中颜色调整(材质替换)是通过将 PlayerIndex 的复制属性设置为 RepNotify 后调用系统生成的广播函数 OnRep_PlayerIndex 。
而玩家列表和聊天记录都是通过生成子 widget 添加进垂直框中实现的。
人物动画大概想了一下整体的动画规划。
首先,整体上分为持枪动作和不持枪动作。
其次可以分别可以做出下蹲、站立、走路、小跑以及快跑和俯仰头。
其中除了快跑和站立和都可以做到八向移动。
最后添加换弹以及死亡动画。
其中俯仰头是通过记录鼠标 Y 轴后推算出俯仰角,再用分层骨骼混合节点实现俯仰头的 ...
一次性布尔多个复杂图形
Bentley Ottmann 扫描线法比较传统的老办法,只能求交不能布尔。
目前最好的文章是这篇。
建议先依据该算法把扫描线的结构搭出来。
Martinez 扫描线法相关论文。
还可以看一下 Boost::polygon 的源码,虽然我没看完,但是感觉用的就是 Martinez 扫描线法(流程很相似),而且它论文上也说它用的是扫描线。
还在网上找到唯一一篇讲解 Martinez 扫描线法的中文文章。
求交求交不需要考虑特殊情况,唯有一些需要人为调控的精度误差,具体思路在论文中已经介绍的很详细了,就不赘述了。
按照 Bentley Ottmann 扫描线法的逻辑将所有点事件加入优先队列中,并依次处理;
点事件排序时,对于坐标值相同的节点事件,应把终点放在起点前面,其次如果都是起点再继续比较另一个端点(终点)的纵坐标(优先)和横坐标。
如果存在线段相交,应将其裁剪并将新的点事件加入优先队列,同时根据布尔规则选取有效线段加入集合中。
布尔因为最近在忙别的任务,暂时只研究了一些。
代码代码讲解。
Where is my life? 我的人生在哪里
前言他,23岁,一事无成,但是找到了自己的路。
很久没有写文章了,前段时间一直很迷茫,我总是想为我所做的事情赋予一些意义,说服我自己去完成它,真让我感觉非常痛苦。
明知它是没有意义的,但我却要不停的相信它是有意义的,这甚至让我有点精神分裂。
直到昨天,我洗澡的时候在想,为什么我不干脆直接承认所有的一切都是无意义的呢?
将我的人生比作游戏,不断地发起挑战。
也许这样的人生态度可以支撑我走的更远。
这不禁让我想起了《西西弗斯神话》,加缪说我们应该想象西西弗斯是快乐的,在那一刻我终于理解了他,西西弗斯应该是快乐的,他也许就在不断地挑战着他自己。
更快,更高,更持久。
从今年2月到现在,9个月的时光,我一直在思考这个问题,很庆幸我现在终于有了自己的答案,终于可以更加坦然的面对自己。
为了纪念,于第二天(2024/11/15)写下这篇文章,同时也会在今年将其做成视频,希望能给有相同困境的朋友们一些启发。
正文What is the meaning of life? Everyone has their own answers, maybe eating everything, ...
基于Blender的三维Logo
ToolsDue to it is a 3D logo, I decide to use Blender but not PS or AI.
MeaningsIn any 3D softwares, there is an axis which is consisting of three colored arrows.
So I use three ‘Z’ words to make up my logo.
Moreover, different color is a symbol of different spirit which you can search on this web site https://www.color-name.com/.
Red(X axis): Passion, #92162D(Red Passion Color). Red is a very eye-catching color. It commands attention and gives off a feeling of energy, vitality, confidence, power ...
Blender基础全流程
前言总所周知,美术是独立游戏很重要的一块,可以不好,但是不能没有,所以就开始学Blender啦。
然后油管上有个视频展示了一下他学了一周Blender的成果,看着还不错 https://www.youtube.com/watch?v=OrmKzaeoL2c,所以我也打算先努力学习一周,至少得做到可以自己制作想要的场景。
Day1 & Day2找了油管比较火的教程来看 https://www.youtube.com/watch?v=B0J27sf9N1Y,先做个甜甜圈,熟悉一下Blender。
Part1Follow the part1, I make some caps/hats for the monkey.
Part2 & Part3: ModellingBefore it, I try to place three simple torus, it is pretty interesting.
However, we should make our models a little strange, not prefect, or they are ...