# 未完成
# AI绘画

我从今天开始正式立一个小的目标要开始入门学习AI绘画入门,这一篇文章主要是作为提纲挈领的作用,用于为我自己明确目标并且梳理学习的路径。

最终目标:

达到类似于这样的效果:

嗯,我对于背景没有太大的要求,上面的图来自于这两个账号:

(13) さがわ/sagawa (@sagawa_gawa) / X (13) lilium (@lilydisease) / X

虽然这几张图都有或多或少的问题,但是对于光影的把控已经非常到位了,对于肉感也有非常好的刻画。

目标拆分:

我现在想要将我的目标拆分为几个小的目标,但是我对这个并不熟悉,所以我希望使用ai帮我规划一下学习路线:

1
2
3
4
5
6
7
8
9
10
你好,现在请你扮演一位对于AI绘画拥有丰富了解的学姐,现在我希望你能够帮助我入门ai绘画,我拥有 4060ti16G 以及 48G的内存,对于ai绘画的入门应该够用了。
我现在的目标是:
1. 能够使用ai绘画为我生成指定内容的图片
2. 能够通过某种方式来调整图片生成的画风
3. 能够使用通过某种方式来精准的控制画面中的角色(比如说我自己设定的角色或者其他动漫游戏作品中的角色)
4. 能够通过某种方式精确的控制画面中的场景以及人物的动作

我知道我上面的目标的描述可能会有些模糊,这是因为毕竟对于ai绘画来说是一个门外汉,我希望你能够帮我梳理并总结我的目标,我现在正在计划按照秋葉aaaki的教程来进行学习,但是这位大佬并没有给出详细的学习路线,我希望我能够在一周的时间内快速入门并且达到上述目标,我每天能够抽出至少2个小时的时间用于学习这方面的知识。另外,我认为最好的学习方式就是实践,希望你能够尽可能让我在实践的过程中学习。

我希望你能够针对上述我的目标以及学习计划,为我规划一条路线清晰的学习路线,告诉我每个阶段的学习资料,学习目标,如何检验我的学习成果,非常感谢!

DeepSeek的回答: ### AI绘画入门学习路线规划(7天实践版) 硬件说明:你的配置(RTX 4060Ti 16G显存 + 48G内存)完全满足Stable Diffusion本地部署需求,可高效运行模型和插件。


学习目标与阶段拆解

根据你的需求,目标可总结为: 1. 基础生成:能通过文本描述生成指定内容的图片。 2. 风格控制:调整画面风格(如动漫、写实、油画等)。 3. 角色控制:精准生成特定角色(自定义或已有IP)。 4. 场景与动作控制:控制构图、人物动作、场景细节。

学习核心工具:秋葉aaaki整合包(Stable Diffusion WebUI中文版)+ ControlNet插件 + LoRA模型。


每日学习计划

Day 1:安装环境与基础生成

[[AI绘画入门学习-第一天]] 学习目标:完成Stable Diffusion本地部署,生成第一张AI图片。 - 实践步骤: 1. 下载秋葉整合包(解压密码:bilibili@秋葉aaaki),安装.NET依赖项,双击启动器一键运行。 2. 打开WebUI界面(默认地址http://127.0.0.1:7860),输入简单提示词(如“1 girl, masterpiece”),生成测试图。 3. 熟悉界面功能:模型切换、提示词输入区、生成参数(采样方法、迭代步数)。 - 检验成果:成功生成一张基础图片(如猫或人物)。 - 学习资料: - 秋葉整合包安装教程:CSDN博客。 - 界面功能速查表(见下文)。


Day 2:提示词与参数优化

[[AI绘画入门学习-第二天]] 学习目标:掌握提示词编写技巧,调整参数提升生成质量。 - 实践步骤: 1. 提示词公式:使用“主体+细节+风格+质量”结构(如“a knight in armor, detailed armor texture, dark fantasy style, 8k, masterpiece”)。 2. 权重控制:用(keyword:1.5)增强权重,[keyword]降低权重。 3. 参数调整: - 采样方法:推荐DPM++ 2M Karras(速度快且稳定)。 - 迭代步数:20-30步(平衡速度与质量)。 - 提示词相关性(CFG Scale):7-12(值越高越贴近描述,但可能过锐化)。 - 检验成果:生成一张符合复杂提示词描述的图片(如“科幻城市夜景,赛博朋克风格”)。 - 学习资料: - 提示词手册(附常用风格关键词):CSDN资源包


Day 3:风格控制与模型管理

学习目标:切换不同大模型(底模)和LoRA插件调整画风。 - 实践步骤: 1. 下载模型:从Civitai下载风格化大模型(如动漫风Anything V5、写实风Realistic Vision)。 2. 加载模型:将.safetensors文件放入models/Stable-diffusion文件夹,在WebUI中切换。 3. 使用LoRA:下载角色/风格LoRA模型(如Genshin Impact角色LoRA),在提示词中添加触发词(如<lora:genshin_zhongli:0.8>)。 - 检验成果:用同一提示词生成不同风格的图片(如“古风少女”分别用动漫和写实模型输出)。 - 学习资料: - 模型管理教程:SD WebUI文档


Day 4:精准控制角色(ControlNet + LoRA)

学习目标:通过ControlNet插件固定角色形象,结合LoRA定制角色。 - 实践步骤: 1. 安装ControlNet:在秋葉整合包中启用插件,下载预处理器和模型文件。 2. 线稿控制:上传角色线稿,启用ControlNetCannyLineart模式,生成与线稿一致的角色。 3. 训练自定义LoRA:使用Kohya脚本训练个人角色(需准备20-30张角色多角度图片)。 - 检验成果:生成与线稿或自定义LoRA匹配的角色(如“我的自设角色,蓝色长发,机械臂”)。 - 学习资料: - ControlNet教程:B站视频


Day 5:场景与动作控制(ControlNet进阶)

学习目标:利用ControlNet控制构图、人物姿势、场景深度。 - 实践步骤: 1. 姿势控制:使用OpenPose预处理器,上传姿势参考图,生成相同动作的角色。 2. 场景控制:用Depth模式输入场景深度图,控制画面层次感。 3. 分镜提示词:结合分镜描述(如“人物站在悬崖边,左手持剑,右手指向远方”)。 - 检验成果:生成指定动作和场景的图片(如“骑士骑马冲锋,背景是雪山”)。 - 学习资料: - ControlNet高级用法:ComfyUI教程


Day 6:综合实战与优化

学习目标:结合所有技能生成复杂作品,优化细节。 - 实践步骤: 1. 设计完整场景(如“赛博朋克酒吧,女黑客坐在吧台,霓虹灯闪烁”)。 2. 分阶段调整:先用ControlNet固定构图,再通过提示词细化细节(服装、光影)。 3. 使用高清修复(Hires. fix)提升分辨率(2倍放大)。 - 检验成果:输出一张高完成度的综合作品(含角色、场景、风格)。


Day 7:扩展学习与效率提升

学习目标:探索高级插件(如动态扩散、工作流优化)。 - 推荐方向: - 动态模型转换:生成连续动作帧(如转身、行走)。 - 批量生成:用XYZ脚本生成多组参数对比图。 - 效率工具:安装Tiled Diffusion插件减少显存占用。


学习资料汇总

类型 资源链接 用途
整合包 秋葉整合包下载 本地部署SD
提示词 AIGC提示词手册 风格与细节控制
模型库 Civitai 下载大模型与LoRA
进阶教程 ControlNet全解 精准控制画面

检验学习成果的标准

  • 基础生成:能通过提示词生成无明显崩坏的图片。
  • 风格控制:同一主题可输出3种以上不同风格(如油画、像素风、水墨)。
  • 角色控制:生成与线稿或LoRA匹配的角色(误差<10%)。
  • 场景与动作:构图符合预设,人物动作自然无畸形。

按此路线实践,一周后可熟练运用AI绘画工具完成创作需求。遇到问题可随时查阅秋葉整合包的社区讨论(B站/CSDN),或私信我进一步解答! 🎨

阅读全文 »

# 药剂工艺

游戏本质上是一个模拟经营类型的游戏,不过,它将制作魔药包装成了在地图上通过搭配路径走迷宫的方式,使得游戏增加了非常大的趣味,再加上本身十分浓厚的模拟属性,让人似乎真的觉得自己是作为一个炼药师,为大家炼药。

游戏的美术独具特色,整体的视效和音效都打磨的非常的好。

但是在游戏的后期,仍然存在不少的问题: 1. 驱动力不足:在游戏的后期,驱动力严重不足,因为做出来的材料并没有基于玩家正反馈,做出的黑化、白化之类的物品似乎只是

阅读全文 »

# 未完成
#

键盘维修

键盘的部分按键老化了不灵敏了,打算再去买一罐新的轴体,为了保持手感的一致,这里还是选择使用金粉轴,下面记录一下有问题的轴:

阅读全文 »

?��????????????, ??????????????.
阅读全文 »

# vue
# electron

electron:serve not found

1
2
3
4
5
6
7
8
9
10
11
网路上给的解决办法:

1. 检查各个组件是否安装正常:

~~~
node --version
yarn --version
~~~

2. 如果都正常的话,那么应该是没有配置系统路径

首先,我检查了一下 node 和 yarn 的版本,都是正常的,按照网上的说法,应该是没有配置系统路径。但是问题是这玩意是npm的包,安装在 node_modules 里面的,为什么要为其配置系统路径呢?

如果说是因为找不到路径,那么我直接 修改 package.json 里面的 scripts 直接指定路径不就好了吗?

1
2
3
"scripts": {
"serve": "vue-cli-service serve"
}

解决办法

其实我也是一通捣鼓之后才解决的,解决办法是:

1. 安装 yarn 的 serve 包

1
yarn add serve

在这之后,运行 yarn serve 能够在网页端启动项目,但是 希望的 应该是 创建一个 electron 窗口,而不是在浏览器中打开。

运行 yarn build 后,它能够正常在 dist 目录下生成文件。

2. 重新安装 electron 和 electron-builder

1
2
yarn add electron
yarn add electron-builder

安装 electron-builder 的时候,会报错:

1
2
error @achrinza/node-ipc@9.2.2: The engine "node" is incompatible with this module. Expected version "8 || 10 || 12 || 14 || 16 || 17". Got "22.11.0"
error Found incompatible module.

这是因为我们的 node 版本太高了,而 electron-builder 不支持这么高的版本,但是实际上无所谓。

输入以下命令,忽略这个错误:

1
yarn add electron-builder --ignore-engines

或者将其默认设置为忽略错误:

1
yarn config set ignore-engines true

然后再次安装 electron-builder

1
yarn add electron-builder

之后问题就解决了,运行yarn electron:serve就能够在 electron 窗口中打开项目了。

阅读全文 »

# 游戏策划
# 游戏设计

概述

在2d横板游戏中,相机的振动是相机设计的很关键的一部分,它和音效一起,为游戏构建了一个直观的反馈的基础。

在这篇文章中,我简单聊聊2d横板游戏中相机的振动设计。我们将会从 相机的震动 这个方面来讨论相机的设计。

振动分类

游戏中的振动无非是模仿现实中的振动,了解现实中的振动,我们可以更好的设计游戏中的振动。

根据 振动的分类 可以将振动 按照其振动特征,分为以下几种: 1. 简谐振动 2. 阻尼振动 3. 各种非线性振动

如果按照振动的振动规律,又可以按照以下分类方式分为七种: 1. 简谐振动 2. 周期振动 3. 准周期振动 4. 过渡振动 5. 窄频带随机振动 6. 宽频带随机振动 7. 不平稳随机振动

除此之外,我们还可以按照振动的自由度进行分类,简单而言,就是按照振动的方向进行分类,比如说一维振动、二维振动、三维振动等等。

但是实际上,因为相机进行振动的时间往往只是一瞬间,我们从人眼感知的角度而言,实际还是比较难以分辨某种振动属于哪种的。请看下面两种振动:

这两个一个是窄频带随机振动,一个是不平稳随机振动,但是它们两个的特征就是二者都是高频振动,所以说它们对于人眼来说似乎非常相似。

对于我们的大脑来说,识别具体是哪种振动比较困难,但是我们对于振动的频率是非常敏感的。除此之外,我们的大脑还非常擅长于模式识别:

这两个振动明显区别于前面的振动,其中一个是阻尼振动,一个是弹簧振动,它们在频率分布或者振幅分布上拥有特殊的规律。

相机的振动方式

相机的震动

因为篇幅有限,这里只举例三种比较常见的振动方式

相机的振动一般会使用下面几种方式: 1. 随机偏移震动 2. 随机连续振动 3. 定向弹簧振动

一般会使用上述三种振动进行组合,来达到较为理想的效果

随机偏移震动

会发现,这种振动会有一点点生硬,但是同时也较为的强烈。

这种振动由随机数生成,每一帧都会有一个随机的偏移量,这样就会产生一个随机的振动效果。随机数的选取可以选择直接的random,但是更好的方式是使用perlin noise,这样可以产生一个更加自然的振动效果。

随机连续振动

这种振动会比较平滑,但是同时不够强烈。它的特征是由一组连续的数控制振动。

一般会使用 sin/cos 来控制振动的幅度 + 随机步长 来控制振动的幅度,当然也可以直接使用随机的dx,dy来控制振动,但是那样,镜头有一定概率朝一个方向连续移动,需要使用别的方式来限制振动范围和方向。

定向弹簧振动

模仿弹簧,拥有 spring 和 damping 两个参数,控制弹性系数以及阻尼系数。从而产生一个类似于弹簧的振动效果。

它的优势就是方向明确,振动幅度逐渐减小,用来提示受到某个方向的冲击会比较合适。

振动的组合

一般会使用上述三种振动进行组合,来达到较为理想的效果。比如说,当玩家受到攻击时,可以使用定向弹簧振动,当玩家受到爆炸时,可以使用随机连续振动,当玩家受到地震时,可以使用随机偏移震动。

比如下面的这个打击效果就是同时使用了定向的弹簧振动以及较弱的随机连续振动

总结

总结来看,在2D横板游戏中,相机设计直接影响到游戏体验。合理的相机跟随方式可以提升玩家的沉浸感和舒适度,预判和边缘跟随等方式适配于不同的游戏节奏和场景需求;相机的注意力吸附功能则能有效引导玩家关注关键元素,提升游戏互动性和趣味性;而多样化的相机震动设计通过巧妙的组合使用,为游戏增加了更多的动态反馈和沉浸感。这些设计要素不仅体现了游戏的艺术性和技术性,也强调了设计者对玩家体验的深刻理解和创新思考。未来的相机设计可以更加智能化和动态化,进一步丰富游戏的表现力和互动体验。

阅读全文 »

# 游戏策划
# 游戏设计

在2d横板游戏中,相机的设计是一个非常重要的部分,它直接影响到玩家的游戏体验。一个好的相机设计可以让玩家更好的体验游戏,而一个不好的相机设计则会让玩家感到不适,有的游戏将相机和关卡设计到一起,更是可以让游戏更加有趣。

在这篇文章中,我简单聊聊2d横板游戏中相机的设计。我们将会从 相机的跟随方式、相机的注意力吸附、相机的震动 这三个方面来讨论相机的设计。

当然围绕相机还可以做出很多有意思的有关于视觉方面的机制设计,但是这并不是本次分享的重点。

相机的跟随方式

在2d横板游戏中,相机的跟随方式有很多种,比如 固定跟随、平滑跟随、预判跟随、延时跟随 等等。不同的跟随方式适用于不同的游戏,下面我们来看看这几种跟随方式的特点。

固定跟随

固定跟随是最简单的一种跟随方式,相机会始终跟随玩家,不会有任何延迟。这种跟随方式适用于一些简单的游戏,比如一些小游戏或者一些简单的横板游戏。这里不再赘述。

平滑跟随

平滑跟随是一种比较常见的跟随方式,相机会有一个延迟,玩家移动时,相机会慢慢跟上玩家。这种跟随方式可以让玩家感到更加舒适,不会有太大的晃动感。这种跟随方式适用于一些需要玩家感到舒适的游戏,比如一些休闲游戏或者一些简单的横板游戏。

这种跟随方式比较适合慢节奏的游戏,这种方式的镜头移动较为平滑,不会有太大的晃动感,但是对于一些快节奏的游戏来说,延时的视角会让玩家无法第一时间获取想要的信息,这时候就需要使用预判跟随。

预判跟随

预判跟随是一种比较高级的跟随方式,相机会根据玩家的移动方向和速度来计算相机的位置,从而使得相机会提前“预判”玩家的移动。

在大多数平台跳跃游戏中,已经走过的地方不再重要,玩家更关心的是即将到来的地方。因此,预判跟随是一个非常好的选择。

延时跟随

延时跟随是一种比较特殊的跟随方式,在玩家移动后,相机会有一个较短的延迟,然后才会跟上玩家。

使用这种方式可以避免相机的大幅度晃动,并且增加真实感。

边缘跟随

边缘跟随是一种比较特殊的跟随方式,相机不会移动,直到玩家移动到镜头的边缘,相机才会调整位置。这种跟随方式适用于一些地图设计对于游玩影响较大的游戏,比如说一些难度较高的平台跳跃游戏(《蔚蓝》就是一个很好的例子),或者一些boss战中。

在这种游戏中,玩家需要更多的注意力来控制自己相对于地图的位置,而不是相对于相机的位置。这种跟随方式其所产生的晃动和视角变化较少、可以让玩家更加专注于游戏的地图设计。

边缘跟随并不一定是同时作用于xy轴,实际上更为常见的是只作用于x轴,这样可以让玩家在y轴上更好的控制自己的位置。

混合跟随

在实际的相机设计中,我们常常会混合使用多种跟随方式。以《空洞骑士》为例,我们可以看到相机在不同的场景中使用了不同的跟随方式,在大多数场景中,使用的实际上是延时跟随,但是在一些特殊的场景中,比如boss战中,使用的是 x轴固定视角,y轴延时跟随。

《精灵与萤火意志》中,使用的也是延时跟随,其延时相较于《空洞骑士》更长,同时镜头也要更远一些。

但是在追逐战中,其使用的是预测跟随

相机的注意力吸附

在游戏过程中,我们的注意力不一定都在玩家身上,有时候我们需要让玩家注意到一些特殊的地方,比如说一些隐藏的道路、一些隐藏的宝藏、一些隐藏的敌人等等。这时候,我们就需要使用相机的注意力吸附功能。

什么样的吸附是合理的?这个问题没有一个固定的答案,但是我们可以总结出游戏中常见的吸附方式。

直接吸附

直接吸附是一种比较简单的吸附方式,当需要玩家注意某个地方时,相机会移动到这个地方,然后再慢慢移动回来。比如:

中心吸附

中心吸附是一种比较常见的吸附方式,当需要玩家注意某个地方时,相机会移动到该地方和玩家的中心位置。

4:6 吸附

4:6吸附比较少见,常见于两个角色对话的时候,相机会平滑移动到两个角色的 4:6 位置,这样可以让玩家更好的看到两个角色,同时强调当前说话的角色。 (我忘了是什么游戏来着的,使用了这种方式)

这种镜头比较有意思,整个屏幕实际上会被分成四个部分,A左边,A右边到摄像头,摄像头到B左边,B右边,它们的比例为 3:4:6:1。

你会发现,对于A来说它位于左半边屏幕的近似于居中的位置,而对于B来说它位于右半边屏幕的近似于边缘的位置,这样可以让玩家更好的看到两个角色,同时强调当前说话的角色。

比起使用直接吸附,它的视角移动没有那么突兀,比起使用中心吸附,它的视觉焦点更加明确。

相机的震动

相机的振动一般会使用下面几种方式: 1. 随机偏移震动 2. 随机连续振动 3. 定向弹簧振动

一般会使用上述三种振动进行组合,来达到较为理想的效果

随机偏移震动

会发现,这种振动会有一点点生硬,但是同时也较为的强烈。

这种振动由随机数生成,每一帧都会有一个随机的偏移量,这样就会产生一个随机的振动效果。随机数的选取可以选择直接的random,但是更好的方式是使用perlin noise,这样可以产生一个更加自然的振动效果。

随机连续振动

这种振动会比较平滑,但是同时不够强烈。它的特征是由一组连续的数控制振动。

一般会使用 sin/cos 来控制振动的幅度 + 随机步长 来控制振动的幅度,当然也可以直接使用随机的dx,dy来控制振动,但是那样,镜头有一定概率朝一个方向连续移动,需要使用别的方式来限制振动范围和方向。

定向弹簧振动

模仿弹簧,拥有 spring 和 damping 两个参数,控制弹性系数以及阻尼系数。从而产生一个类似于弹簧的振动效果。

它的优势就是方向明确,振动幅度逐渐减小,用来提示受到某个方向的冲击会比较合适。

振动的组合

一般会使用上述三种振动进行组合,来达到较为理想的效果。比如说,当玩家受到攻击时,可以使用定向弹簧振动,当玩家受到爆炸时,可以使用随机连续振动,当玩家受到地震时,可以使用随机偏移震动。

比如下面的这个打击效果就是同时使用了定向的弹簧振动以及较弱的随机连续振动

总结

总结来看,在2D横板游戏中,相机设计直接影响到游戏体验。合理的相机跟随方式可以提升玩家的沉浸感和舒适度,预判和边缘跟随等方式适配于不同的游戏节奏和场景需求;相机的注意力吸附功能则能有效引导玩家关注关键元素,提升游戏互动性和趣味性;而多样化的相机震动设计通过巧妙的组合使用,为游戏增加了更多的动态反馈和沉浸感。这些设计要素不仅体现了游戏的艺术性和技术性,也强调了设计者对玩家体验的深刻理解和创新思考。未来的相机设计可以更加智能化和动态化,进一步丰富游戏的表现力和互动体验。

阅读全文 »
0%