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

news2024/12/25 8:56:58

创建无缝纹理一直是一个需要艺术技巧的劳动密集型过程。 然而,随着稳定扩散模型(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.coloradmin.cn/o/1072362.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机体系结构中的8个伟大思想

一、面向摩尔定律的设计 计算机设计者面临的一个永恒的问题就是摩尔定律。摩尔定律指出:集成电路上可容纳的晶体管数每18~24个月就会翻一番。由于计算机设计通常需要几年时间,因此项目结束时芯片的集成度较之项目开始时,很容易翻一番甚至翻两…

数据结构与算法设计分析——分治法

目录 一、分治法的定义二、分治法的基本步骤三、分治法的应用(一)查找算法二分(折半)查找 (二)排序算法1、交换排序——快速排序2、归并排序 一、分治法的定义 分而治之可称为分治法,即逐个击破…

Qt开发学习笔记02

将窗口设为提示框 Qt::ToolTipQt 数据库连接池 #ifndef SQLITE_H #define SQLITE_H#include <QSqlDatabase> #include <QSqlError> #include <QSqlQuery> #include <QQueue> #include <QMutex> #include <QDebug> #include "../con…

安装spark并配置高可用

0、说明 上一篇文章讲了如何安装hadoop&#xff0c;这里将spark的详细安装步骤记录在这里。 其中实现了spark的高可用配置&#xff0c;即将zookeeper配置到spark集群中。对于资源管理也配置了yarn模。并开启了spark-sql的配置&#xff0c;可以通过jdbc链接spark。 spark 集群…

Three.js真实相机畸变效果模拟

有没有想过如何在 3D Web 应用程序中模拟物理相机&#xff1f; 在这篇博文中&#xff0c;我将向你展示如何使用 Three.js和 OpenCV 来完成此操作。 我们将从模拟针孔相机模型开始&#xff0c;然后添加真实的镜头畸变。 具体来说&#xff0c;我们将仔细研究 OpenCV 的两个失真模…

【C++】Stack Queue -- 详解

一、stack的介绍和使用 1、stack的介绍 https://cplusplus.com/reference/stack/stack/?kwstack 1. stack 是一种容器适配器&#xff0c;专门用在具有后进先出操作的上下文环境中&#xff0c;其删除只能从容器的一端进行元素的插入与提取操作。 2. stack 是作为容器适配器被…

改变世界-生成式人工智能

麦肯锡在其《生成人工智能的经济潜力&#xff1a;下一个生产力前沿》中声称&#xff0c;“ChatGPT、GitHub Copilot、Stable Diffusion 等生成式人工智能应用程序以 AlphaGo 没有的方式吸引了世界各地人们的想象力&#xff0c;这要归功于它们广泛的实用性——几乎任何人都可以使…

[mysql工具]Windows批处理方式实现MySQL定期自动备份

Windows批处理方式实现MySQL定期自动备份 对MySQL数据库而言&#xff0c;大部分数据库工具都具有备份功能&#xff0c;但并不能做到定期自动备份&#xff0c;在Windows环境下&#xff0c;手工备份MySQL是很繁琐的&#xff0c;所以我们通过MySQL提供的备份命令mysqldump&#xf…

如何防止重复提交订单

产生的原因 一种是由于用户在短时间内多次点击下单按钮&#xff0c;或浏览器刷新按钮导致。另一种则是由于Nginx或类似于SpringCloud Gateway的网关层&#xff0c;进行超时重试造成的。由于网速等原因造成页面卡顿&#xff0c;用户重复刷新提交页面黑客或恶意用户使用 postman…

maven配置代理

1.找到文件 find / -name "settings.xml" 当 maven 无法正常访问网络时候&#xff0c;需要通过代理进行访问 找到Maven的setting.conf文件 2.找到proxies 在maven的 setting.conf文件中找到 默认找到的时候文件 这里是被注释的。 3.配置如下 3.1配置截图 <…

QML 带框最大化显示方法

1.QML窗口最大化很多会给出如下方法: visibility: "FullScreen" 此方法不好的方面是没有最大化&#xff0c;最小化&#xff0c;关闭按钮 2.通过showMaximized() 方法可以满足我们需求:在onCompleted 方法中执行 实现的效果如下:

前后端分离计算机毕设项目之基于SpringBoot的无人智慧超市管理系统的设计与实现《内含源码+文档+部署教程》

博主介绍&#xff1a;✌全网粉丝10W,前互联网大厂软件研发、集结硕博英豪成立工作室。专注于计算机相关专业毕业设计项目实战6年之久&#xff0c;选择我们就是选择放心、选择安心毕业✌ &#x1f345;由于篇幅限制&#xff0c;想要获取完整文章或者源码&#xff0c;或者代做&am…

浏览器自动化神器:Automa 轻松实现任务编排 | 开源日报 No.52

usememos/memos Stars: 13.8k License: MIT memos&#xff0c;一个轻量级的、自托管的备忘录中心。开源且永久免费。 开源且永久免费使用 Docker 可以在几秒钟内完成自我托管支持 Markdown 格式可定制和共享提供 RESTful API 用于自助服务 mamoe/mirai Stars: 12.6k Licen…

2023.10.7 Java 创建线程的七种方法

目录 继承 Tread 类&#xff0c;重写 run 方法 实现 Runnable 接口 使用匿名内部类&#xff0c;继承 Thread 类 使用匿名内部类&#xff0c;实现 Runable 接口 使用 Lambda 表达式 使用线程池创建线程 实现 Callable 接口 继承 Tread 类&#xff0c;重写 run 方法 自定…

uni-app项目成功编译到微信开发者工具出现警告:当前组件仅支持 uni_modules 目录结构 ,请升级 HBuilderX 到 3.1.0 版本以上!

问题描述 为什么uni-app项目编译成功后&#xff0c;运行到微信开发者工具&#xff0c;却出现警告&#xff1a;当前组件仅支持 uni_modules 目录结构 &#xff0c;请升级 HBuilderX 到 3.1.0 版本以上&#xff01; 初识uni-app的童鞋&#xff0c;经常会问&#xff1a;我使用HBui…

2019年[海淀区赛 第2题] 阶乘

题目描述 n的阶乘定义为n!n*(n -1)* (n - 2)* ...* 1。n的双阶乘定义为n!!n*(n -2)* (n -4)* ...* 2或n!!n(n - 2)*(n - 4)* ...* 1取决于n的奇偶性&#xff0c;但是阶乘的增长速度太快了&#xff0c;所以我们现在只想知道n!和n!!末尾的的个数 输入格式 一个正整数n &#xff…

酷开会员 | 亚运会来啦!酷开系统陪你一起看赛事!

第十九届亚洲运动会已经开始啦&#xff01;坐标杭州&#xff0c;本次亚运会有来自亚洲45个国家和地区的1.2万余名运动员参赛&#xff0c;是史上规模最大、覆盖面最广的一届亚运会。它是亚洲具有世界性影响的体育盛会&#xff0c;来自亚洲各国和地区的运动员在赛场上奋力拼搏&am…

南美阿根廷市场最全分析开发攻略,收藏一篇就够了

聊到阿根廷&#xff0c;大家可能对阿根廷的足球印象比较深&#xff0c;比如球星梅西&#xff0c;不管是不是球迷应该大部分都有听说过&#xff0c;阿根廷作为南美洲面积第二大的国家&#xff0c;市场潜力也是非常不错的&#xff0c;今天就主要来聊一下关于阿根廷市场的一些相关…

工作流程引擎有几个特点?可以提高办公效率吗?

如果想要实现高效率的自动化办公&#xff0c;还依靠传统的办公软件是没有办法实现的。在自动化发展程度越来越高的今天&#xff0c;职场办公也拥有了优质的办公软件&#xff0c;助力实现高效率办公。低代码技术平台是专业的企业级应用低代码平台&#xff0c;其中的工作流程引擎…

深入理解树状数组 | 京东物流技术团队

树状数组 树状数组&#xff08;BIT, Binary Indexed Tree&#xff09;是简洁优美的数据结构&#xff0c;它能在很少的代码量下支持单点修改和区间查询&#xff0c;我们先以a[] {1, 2, 3, 4, 5, 6}数组为例建立树状数组看一下树状数组的样子&#xff1a; 可以发现&#xff1a;不…