AI驱动的3D模型无缝纹理生成

创建无缝纹理一直是一个需要艺术技巧的劳动密集型过程。 然而,随着稳定扩散模型(Stable Diffusion)的出现,情况发生了变化。 通过将文本转换为逼真、无边界的图像,稳定扩散彻底改变了纹理创建,使其变得易于理解且令人惊叹。

在这里插入图片描述

推荐:用 NSDT编辑器 快速搭建可编程3D场景

稳定扩散采用深度神经网络来理解纹理图案、颜色和结构。 在本教程中,我们将利用文本到图像工具的强大功能来制作令人惊叹的无缝纹理。 只需提供关键字或短语,我们就可以生成符合视觉的高分辨率纹理。

在本教程中,我们将逐步探索利用 Stable Diffusion 的文本到图像工具来释放你的艺术潜力并增强你的数字项目。 让我们踏上AI驱动的纹理创建的激动人心的旅程,并见证稳定扩散的变革能力。

1、稳定扩散txt2img设置

为了采用这种技术,我们将利用稳定扩散的 txt2img 函数。 如果尚未安装稳定扩散,你可以在这里找到分步指南。

首先,前往稳定扩散 txt2img 选项卡。 选择你想要使用的检查点,在这个例子中我使用了fantasymix,记住这个模型使用了VAE(变分自编码器)。

在这里插入图片描述

选择检查点后,你需要编写提示词,这是你将获得的输出图像的描述。 将单词纹理放入提示中会有所帮助。 在此示例中,我使用的提示词如下:

(best quality), (high quality), old russian wallpaper texture, daisies, flowers, blue, yellow

在否定提示中,需要写出不想在生成的图像中看到的内容。 我使用的否定提示词如下:

(worst quality:1.2), (low quality:1.2), (lowres:1.1)

你可以写下你想要的任何东西,发挥你的想象力。

现在几乎已准备好生成纹理,还可以更改一些参数。

  • 采样方法:我推荐 DPM++ 2M Karras 作为采样方法,因为它相对较快并且质量很好。 不过你可以尝试任何你喜欢的。
  • 采样步数:至少使用 20 个步长,建议 25-30 个。
  • 平铺:确保启用平铺。 这对于获得无缝纹理很重要。
  • 宽度和高度:我建议宽度和高度为 512 或 768 像素。 大多数检查点都使用这个分辨率训练
  • CFG Scale:我通常将其保持在 7 以实现平衡输出,可以尝试使用它,但不要使用太高的值。 最多保留 15 个。

在这里插入图片描述

现在一切准备就绪,只需按“生成”按钮(Generate)即可让奇迹发生。
在这里插入图片描述

2、稳定扩散的输出

默认情况下,输出保存在输出文件夹中,后跟你使用的生成类型和创建图像的日期,在本文示例中,可以在此处找到输出文件夹:

Stable-diffusion-webui\outputs\txt2img-images\2023 -07-06

这是我使用我使用的设置创建的 2 个示例:

在这里插入图片描述

左:示例1 右:示例2

示例2的平铺效果如下:

在这里插入图片描述

正如你所看到的,两种纹理都是无缝的并且可以无限重复。

3、放大你的纹理

如果想进一步改进纹理,可以通过按生成图像下方的发送到 img2img 按钮来升级纹理。

这里你可能想要使用 Ultimate SD upscale 脚本来升级你的图像。 如果还没有安装此脚本,可以在这里找到有关如何安装它的分步指南。

如果安装了脚本,并且想要复制下面突出显示的设置,请将其余设置保留为默认值。 可以尝试一下以下设置:

  • 采样步数:20-30 通常就足够了,如果你想要更多细节,可以将其设置得更高。
  • 去噪强度:我建议 0.05 - 0.2,不要设置得太高,因为它会过多地改变图像,并且最终可能不再是无缝的。
  • Upscaler:如果没有 4x-UltraSharp,你也可以更改 Upscaler,ESRGAN_4x 是一个不错的选择。
    在这里插入图片描述

4、法线贴图及更多

创建纹理时,生成额外的贴图通常有助于增强视觉效果。 需要考虑的一张重要贴图是法线贴图,它增加了纹理的深度。 幸运的是,法线贴图在线生成器 可以从图像生成法线贴图,你只需要上传之前创建的图像,它会自动生成相应的法线贴图。
在这里插入图片描述

http://nmap.bimant.com

我们可以自由调整法线贴图的强度,从而使我们能够根据自己的喜好微调纹理的深度级别。 这个在线工具甚至可以让我们创建位移、环境光遮挡和镜面反射贴图。

5、结束语

本教程探索了使用稳定扩散进行AI驱动的纹理创建。 通过利用稳定扩散及其文本到图像工具,我们可以毫不费力地制作令人惊叹的无缝纹理。

在整个教程中,我们学习了如何利用 Stable Diffusion 的 txt2img 函数、选择检查点并编写有效的提示来生成高分辨率纹理。 平铺和调整采样方法、步长、宽度和高度等设置对于获得最佳结果至关重要。

此外,我们还讨论了使用 Ultimate SD 升级脚本升级纹理,在保持无缝性的同时提高纹理质量。 生成额外的贴图,例如法线贴图、位移贴图、环境光遮挡贴图和镜面贴图,可以进一步增强纹理的视觉效果。

通过采用人工智能和稳定扩散,我们释放了艺术潜力,并通过令人印象深刻的无缝纹理提升了数字项目。 现在,释放你的创造力,开始自己激动人心的人工智能纹理创建之旅。


原文链接:无缝纹理的AI生成 — BimAnt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/152096.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Axios、SASS学习笔记

目录 前言 一、Axios基础认识 1、简介 2、相关文档 3、基本配置 4、基础快捷使用 二、Axios封装 1、公共配置文件 2、细化每个接口的配置 3、使用并发送请求 三、SASS 1、简介 2、相关文档 3、使用前奏 4、使用变量 5、嵌套规则 6、父级选择器标识 & 前言…

Leetcode hot 100之二叉树

目录 (反)序列化二叉树&#xff08;str<->tree&#xff09;&#xff1a;前序 前序遍历&#xff08;迭代&#xff09;/路径 stack.length 入栈&#xff1a;中右左 出栈&#xff1a;中左右 中序遍历&#xff08;迭代&#xff09; cur||stack.length 后序遍历&#x…

计算机视觉处理的开源框架

计算机视觉是一门涉及图像和视频分析的领域&#xff0c;有许多开源的框架和库可用于构建计算机视觉应用程序。以下是一些常见的计算机视觉开源框架及其特点&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合…

一盏茶的功夫帮你彻底搞懂JavaScript异步编程从回调地狱到async/await

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 &#x1f4d8; 1. 引言 &#x1f4d8; 2. 使用方法 &#x1f4d8; 3. 实现原理 &#x1f4d8; 4. 写到最后…

Android 自定义PopupWindow,实现下拉框

1、效果图 2、前言 1、页面由 MagicIndicator ViewPager2 Fragment 实现&#xff1b; 2、下拉框是基于WindowManager实现&#xff1b; 3、我使用PopupWindow实现下拉框时&#xff0c;发现一个问题&#xff0c;PopupWindow 在窗口显示的情况下&#xff0c;无法直接从外部修…

(c语言进阶)指针的进阶

一.字符指针 1.一般应用 &#xff08;1&#xff09;%c的应用 &#xff08;2&#xff09;%s的应用 字符指针没有权限通过解引用去改变指针指向的值 2.笔试题 题目&#xff1a;判断输出结果 int main() { const char* p1 "abcdef"; const char* p2 "…

无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动,并且客户端端口与服务器端口相同

“/”应用程序中的服务器错误。 无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动&#xff0c;并且客户端端口与服务器端口相同。如果服务器位于远程计算机上&#xff0c;请检查 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Se…

【云备份】

文章目录 [toc] 1 :peach:云备份的认识:peach:1.1 :apple:功能了解:apple:1.2 :apple:实现目标:apple:1.3 :apple:服务端程序负责功能:apple:1.4 :apple:服务端功能模块划分:apple:1.5 :apple:客户端程序负责功能:apple:1.6 :apple:客户端功能模块划分:apple: 2 :peach:环境搭建…

[VC++]圆形进度条

[VC]圆形进度条 源码开发环境&#xff1a;VC6.0 WIN10 64位下编译通过利用绘制饼图的原理&#xff0c;来制作的圆形进度条&#xff0c;可以显示百分比。软件运行截图如下&#xff1a; 附件源码下载(点击下载&#xff09;

基于ensp的园区网络搭建综合实验

目录 &#x1f552; 1. 技术介绍&#x1f552; 2. 需求分析&#x1f558; 2.1 项目背景和需求&#x1f558; 2.2 项目需求分析 &#x1f552; 3. 网络结构设计&#x1f552; 4. 网络拓扑规划&#x1f552; 5. 网络设备基本配置&#x1f558; 5.1 规划VLAN&#x1f558; 5.2 MST…

【RK3588】YOLO V5在瑞芯微板子上部署问题记录汇总

YOLO V5训练模型部署到瑞芯微的板子上面&#xff0c;官方是有给出案例和转过详情的。并且也提供了Python版本的推理代码&#xff0c;以及C语言的代码。 但是&#xff0c;对于转换过程中的细节&#xff0c;哪些需要改&#xff1f;怎么改&#xff1f;如何改&#xff0c;和为什么…

Java中树形菜单的实现方式(超全详解!)

前言 这篇文中&#xff0c;我一共会用两种方式来实现目录树的数据结构&#xff0c;两种写法逻辑是一样的&#xff0c;只是一种适合新手理解&#xff0c;一种看着简单明了但是对于小白不是很好理解。在这里我会很详细的讲解每一步代码&#xff0c;主要是方便新人看懂&#xff0…

typescript: Builder Pattern

/*** file: CarBuilderts.ts* TypeScript 实体类 Model* Builder Pattern* 生成器是一种创建型设计模式&#xff0c; 使你能够分步骤创建复杂对象。* https://stackoverflow.com/questions/12827266/get-and-set-in-typescript* https://github.com/Microsoft/TypeScript/wiki/…

4.Docker 搭建 redis6

1.下载redis docker pull redis:6.2.62.创建需要挂载的宿主机文件夹 mkdir -p /data/redis/conf mkdir -p /data/redis/data3.配置redis 切换到/data/redis/conf文件夹下&#xff0c;创建redis.conf,复制redis.conf配置文件内容到redis.conf文件中&#xff0c;然后按下键盘 …

黑豹程序员-架构师学习路线图-百科:AJAX

文章目录 1、什么是AJAX2、发展历史3、工作原理4、一句话概括 1、什么是AJAX Ajax即Asynchronous&#xff08;呃森可乐思&#xff09; Javascript And XML&#xff08;异步JavaScript和XML&#xff09; 在 2005年被Jesse James Garrett&#xff08;杰西詹姆斯加勒特&#xff09…

GD32F103x 定时器

1. 定时器的基本介绍 STM32的定时器主要分为三种&#xff1a;高级定时器、通用定时器、基本定时器。 即&#xff1a;高级定时器具有捕获/比较通道和互补输出&#xff0c;死区时间&#xff0c;通用定时器只有捕获/比较通道&#xff0c;基本定时器没有以上两者。 1. 基本定时…

网络安全:六种常见的网络攻击手段

1、什么是VPN服务&#xff1f; 虚拟专用网络&#xff08;或VPN&#xff09;是您的设备与另一台计算机之间通过互联网的安全连接。VPN服务可用于在离开办公室时安全地访问工作计算机系统。但它们也常用于规避政府审查制度&#xff0c;或者在电影流媒体网站上阻止位置封锁&#…

【React】深入理解React组件状态State

目录 一、何为State二、如何定义State三、如何判断是否为State四、如何正确使用State1、用setState修改State2、State的更新是异步的①、代码示例 3、State更新会被合并①、组件状态例子②、当只需要修改状态title时&#xff0c;只需要将修改后的title传给setState③、React会合…

Windows安装Node.js

1、Node.js介绍 ①、Node.js简介 Node.js是一个开源的、跨平台的JavaScript运行环境&#xff0c;它允许开发者使用JavaScript语言来构建高性能的网络应用程序和服务器端应用。Node.js的核心特点包括&#xff1a; 1. 事件驱动: Node.js采用了事件驱动的编程模型&#xff0c;通…

力扣 -- 647. 回文子串

解题步骤&#xff1a; 参考代码&#xff1a; class Solution { public:int countSubstrings(string s) {int ns.size();vector<vector<bool>> dp(n,vector<bool>(n));//无需初始化int ret0;//一定要从下往上填写每一行for(int in-1;i>0;i--){//每一行的i…