Merge branch '108'
# Conflicts: # README.md # data/web/index.html # package.json # src/lib/fixDB.ts # src/types/database.d.ts # src/utils/ai/video/owned/volcengine.ts
27
.github/workflows/release.yml
vendored
@ -42,7 +42,6 @@ jobs:
|
||||
name: windows-builds
|
||||
path: |
|
||||
dist/*.exe
|
||||
dist/*.zip
|
||||
retention-days: 30
|
||||
|
||||
build-macos:
|
||||
@ -75,7 +74,6 @@ jobs:
|
||||
name: macos-builds
|
||||
path: |
|
||||
dist/*.dmg
|
||||
dist/*.zip
|
||||
retention-days: 30
|
||||
|
||||
build-linux:
|
||||
@ -108,7 +106,6 @@ jobs:
|
||||
name: linux-builds
|
||||
path: |
|
||||
dist/*.AppImage
|
||||
dist/*.deb
|
||||
retention-days: 30
|
||||
|
||||
release:
|
||||
@ -145,11 +142,31 @@ jobs:
|
||||
draft: false
|
||||
prerelease: ${{ contains(github.ref_name, 'beta') || contains(github.ref_name, 'alpha') }}
|
||||
generate_release_notes: true
|
||||
body: |
|
||||
## 📦 下载指南
|
||||
|
||||
| 操作系统 | 架构 | 文件 | 说明 |
|
||||
|---------|------|------|------|
|
||||
| 🪟 Windows | x64 | `ToonFlow-*-win-x64-setup.exe` | **推荐**,适用于大多数 Windows 电脑 |
|
||||
| 🪟 Windows | ARM64 | `ToonFlow-*-win-arm64-setup.exe` | 适用于 ARM 架构 Windows 设备 |
|
||||
| 🍎 macOS | Apple Silicon | `ToonFlow-*-mac-arm64.dmg` | 适用于 M1/M2/M3/M4 芯片的 Mac |
|
||||
| 🍎 macOS | Intel | `ToonFlow-*-mac-x64.dmg` | 适用于 Intel 芯片的 Mac |
|
||||
| 🐧 Linux | x64 | `ToonFlow-*-linux-x64.AppImage` | 适用于大多数 Linux 发行版 |
|
||||
| 🐧 Linux | ARM64 | `ToonFlow-*-linux-arm64.AppImage` | 适用于 ARM 架构 Linux 设备 |
|
||||
|
||||
> 💡 **不确定选哪个?** Windows 用户通常选 **x64-setup.exe**;Mac 用户查看「关于本机」:M 系列芯片选 **arm64.dmg**,Intel 选 **x64.dmg**。
|
||||
|
||||
## 🚀 安装说明
|
||||
|
||||
- **Windows**:下载 `.exe` 文件,双击运行安装向导即可。如果运行时出现 DLL 缺失或闪退,请先安装 [Microsoft Visual C++ Redistributable (x64)](https://aka.ms/vs/17/release/vc_redist.x64.exe)。
|
||||
- **macOS**:下载 `.dmg` 文件,打开后将 ToonFlow 拖入「应用程序」文件夹。首次打开如遇安全提示,请前往「系统设置 → 隐私与安全性」中允许运行。
|
||||
- **Linux**:下载 `.AppImage` 文件,执行 `chmod +x ToonFlow-*.AppImage` 后双击运行。
|
||||
|
||||
---
|
||||
|
||||
files: |
|
||||
dist/*.exe
|
||||
dist/*.zip
|
||||
dist/*.dmg
|
||||
dist/*.AppImage
|
||||
dist/*.deb
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
14
.gitignore
vendored
@ -1,7 +1,7 @@
|
||||
.devtools
|
||||
# dependencies (bun install)
|
||||
node_modules
|
||||
|
||||
.vscode
|
||||
# output
|
||||
out
|
||||
dist
|
||||
@ -36,6 +36,8 @@ report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json
|
||||
|
||||
build/*
|
||||
|
||||
data/serve/
|
||||
|
||||
upload/*
|
||||
uploads/*
|
||||
|
||||
@ -45,4 +47,12 @@ db.sqlite-wal
|
||||
|
||||
web/*
|
||||
|
||||
.devtools
|
||||
*.sqlite
|
||||
|
||||
router.ts
|
||||
|
||||
database.d.ts
|
||||
|
||||
.devtools
|
||||
data/oss/*
|
||||
data/test.sqlite
|
||||
|
||||
22
Dockerfile
Normal file
@ -0,0 +1,22 @@
|
||||
FROM node:24-bookworm-slim
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
RUN npm config set registry https://registry.npmmirror.com/ && \
|
||||
yarn config set registry https://registry.npmmirror.com/
|
||||
|
||||
# Copy the repository contents into the image and install all dependencies
|
||||
COPY . .
|
||||
|
||||
# The container only runs the backend dev server, so strip Electron-only
|
||||
# packages before installing to avoid downloading desktop binaries.
|
||||
RUN node -e "const fs=require('fs');const pkg=JSON.parse(fs.readFileSync('package.json','utf8'));for(const section of ['dependencies','devDependencies']){if(!pkg[section]) continue;for(const name of ['custom-electron-titlebar','electron','electron-builder','electron-rebuild','electronmon']) delete pkg[section][name];}fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2)+'\n');" && \
|
||||
yarn install --frozen-lockfile && \
|
||||
yarn cache clean
|
||||
|
||||
ENV NODE_ENV=dev
|
||||
ENV PORT=10588
|
||||
|
||||
EXPOSE 10588
|
||||
|
||||
CMD ["yarn", "dev"]
|
||||
920
LICENSE
@ -1,661 +1,259 @@
|
||||
GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
Version 3, 19 November 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU Affero General Public License is a free, copyleft license for
|
||||
software and other kinds of works, specifically designed to ensure
|
||||
cooperation with the community in the case of network server software.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
our General Public Licenses are intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
Developers that use our General Public Licenses protect your rights
|
||||
with two steps: (1) assert copyright on the software, and (2) offer
|
||||
you this License which gives you legal permission to copy, distribute
|
||||
and/or modify the software.
|
||||
|
||||
A secondary benefit of defending all users' freedom is that
|
||||
improvements made in alternate versions of the program, if they
|
||||
receive widespread use, become available for other developers to
|
||||
incorporate. Many developers of free software are heartened and
|
||||
encouraged by the resulting cooperation. However, in the case of
|
||||
software used on network servers, this result may fail to come about.
|
||||
The GNU General Public License permits making a modified version and
|
||||
letting the public access it on a server without ever releasing its
|
||||
source code to the public.
|
||||
|
||||
The GNU Affero General Public License is designed specifically to
|
||||
ensure that, in such cases, the modified source code becomes available
|
||||
to the community. It requires the operator of a network server to
|
||||
provide the source code of the modified version running there to the
|
||||
users of that server. Therefore, public use of a modified version, on
|
||||
a publicly accessible server, gives the public access to the source
|
||||
code of the modified version.
|
||||
|
||||
An older license, called the Affero General Public License and
|
||||
published by Affero, was designed to accomplish similar goals. This is
|
||||
a different license, not a version of the Affero GPL, but Affero has
|
||||
released a new version of the Affero GPL which permits relicensing under
|
||||
this license.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
TERMS AND CONDITIONS
|
||||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU Affero General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
1. Source Code.
|
||||
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
|
||||
2. Basic Permissions.
|
||||
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
|
||||
4. Conveying Verbatim Copies.
|
||||
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
5. Conveying Modified Source Versions.
|
||||
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
6. Conveying Non-Source Forms.
|
||||
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
|
||||
8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
11. Patents.
|
||||
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
12. No Surrender of Others' Freedom.
|
||||
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Remote Network Interaction; Use with the GNU General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, if you modify the
|
||||
Program, your modified version must prominently offer all users
|
||||
interacting with it remotely through a computer network (if your version
|
||||
supports such interaction) an opportunity to receive the Corresponding
|
||||
Source of your version by providing access to the Corresponding Source
|
||||
from a network server at no charge, through some standard or customary
|
||||
means of facilitating copying of software. This Corresponding Source
|
||||
shall include the Corresponding Source for any work covered by version 3
|
||||
of the GNU General Public License that is incorporated pursuant to the
|
||||
following paragraph.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the work with which it is combined will remain governed by version
|
||||
3 of the GNU General Public License.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU Affero General Public License from time to time. Such new versions
|
||||
will be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU Affero General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU Affero General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU Affero General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
15. Disclaimer of Warranty.
|
||||
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If your software can interact with users remotely through a computer
|
||||
network, you should also make sure that it provides a way for users to
|
||||
get its source. For example, if your program is a web application, its
|
||||
interface could display a "Source" link that leads users to an archive
|
||||
of the code. There are many ways you could offer source, and different
|
||||
solutions will be better for different programs; see section 13 for the
|
||||
specific requirements.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU AGPL, see
|
||||
<https://www.gnu.org/licenses/>.
|
||||
|
||||
Apache License
|
||||
Version 2.0, January 2004
|
||||
http://www.apache.org/licenses/
|
||||
|
||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||
|
||||
1. Definitions.
|
||||
|
||||
"License" shall mean the terms and conditions for use, reproduction,
|
||||
and distribution as defined by Sections 1 through 9 of this document.
|
||||
|
||||
"Licensor" shall mean the copyright owner or entity authorized by
|
||||
the copyright owner that is granting the License.
|
||||
|
||||
"Legal Entity" shall mean the union of the acting entity and all
|
||||
other entities that control, are controlled by, or are under common
|
||||
control with that entity. For the purposes of this definition,
|
||||
"control" means (i) the power, direct or indirect, to cause the
|
||||
direction or management of such entity, whether by contract or
|
||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||
|
||||
"You" (or "Your") shall mean an individual or Legal Entity
|
||||
exercising permissions granted by this License.
|
||||
|
||||
"Source" form shall mean the preferred form for making modifications,
|
||||
including but not limited to software source code, documentation
|
||||
source, and configuration files.
|
||||
|
||||
"Object" form shall mean any form resulting from mechanical
|
||||
transformation or translation of a Source form, including but
|
||||
not limited to compiled object code, generated documentation,
|
||||
and conversions to other media types.
|
||||
|
||||
"Work" shall mean the work of authorship, whether in Source or
|
||||
Object form, made available under the License, as indicated by a
|
||||
copyright notice that is included in or attached to the work
|
||||
(an example is provided in the Appendix below).
|
||||
|
||||
"Derivative Works" shall mean any work, whether in Source or Object
|
||||
form, that is based on (or derived from) the Work and for which the
|
||||
editorial revisions, annotations, elaborations, or other modifications
|
||||
represent, as a whole, an original work of authorship. For the purposes
|
||||
of this License, Derivative Works shall not include works that remain
|
||||
separable from, or merely link (or bind by name) to the interfaces of,
|
||||
the Work and Derivative Works thereof.
|
||||
|
||||
"Contribution" shall mean any work of authorship, including
|
||||
the original version of the Work and any modifications or additions
|
||||
to that Work or Derivative Works thereof, that is intentionally
|
||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||
or by an individual or Legal Entity authorized to submit on behalf of
|
||||
the copyright owner. For the purposes of this definition, "submitted"
|
||||
means any form of electronic, verbal, or written communication sent
|
||||
to the Licensor or its representatives, including but not limited to
|
||||
communication on electronic mailing lists, source code control systems,
|
||||
and issue tracking systems that are managed by, or on behalf of, the
|
||||
Licensor for the purpose of discussing and improving the Work, but
|
||||
excluding communication that is conspicuously marked or otherwise
|
||||
designated in writing by the copyright owner as "Not a Contribution."
|
||||
|
||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||
on behalf of whom a Contribution has been received by Licensor and
|
||||
subsequently incorporated within the Work.
|
||||
|
||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
copyright license to reproduce, prepare Derivative Works of,
|
||||
publicly display, publicly perform, sublicense, and distribute the
|
||||
Work and such Derivative Works in Source or Object form.
|
||||
|
||||
3. Grant of Patent License. Subject to the terms and conditions of
|
||||
this License, each Contributor hereby grants to You a perpetual,
|
||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except as stated in this section) patent license to make, have made,
|
||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||
where such license applies only to those patent claims licensable
|
||||
by such Contributor that are necessarily infringed by their
|
||||
Contribution(s) alone or by combination of their Contribution(s)
|
||||
with the Work to which such Contribution(s) was submitted. If You
|
||||
institute patent litigation against any entity (including a
|
||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||
or a Contribution incorporated within the Work constitutes direct
|
||||
or contributory patent infringement, then any patent licenses
|
||||
granted to You under this License for that Work shall terminate
|
||||
as of the date such litigation is filed.
|
||||
|
||||
4. Redistribution. You may reproduce and distribute copies of the
|
||||
Work or Derivative Works thereof in any medium, with or without
|
||||
modifications, and in Source or Object form, provided that You
|
||||
meet the following conditions:
|
||||
|
||||
(a) You must give any other recipients of the Work or
|
||||
Derivative Works a copy of this License; and
|
||||
|
||||
(b) You must cause any modified files to carry prominent notices
|
||||
stating that You changed the files; and
|
||||
|
||||
(c) You must retain, in the Source form of any Derivative Works
|
||||
that You distribute, all copyright, patent, trademark, and
|
||||
attribution notices from the Source form of the Work,
|
||||
excluding those notices that do not pertain to any part of
|
||||
the Derivative Works; and
|
||||
|
||||
(d) If the Work includes a "NOTICE" text file as part of its
|
||||
distribution, then any Derivative Works that You distribute must
|
||||
include a readable copy of the attribution notices contained
|
||||
within such NOTICE file, excluding those notices that do not
|
||||
pertain to any part of the Derivative Works, in at least one
|
||||
of the following places: within a NOTICE text file distributed
|
||||
as part of the Derivative Works; within the Source form or
|
||||
documentation, if provided along with the Derivative Works; or,
|
||||
within a display generated by the Derivative Works, if and
|
||||
wherever such third-party notices normally appear. The contents
|
||||
of the NOTICE file are for informational purposes only and
|
||||
do not modify the License. You may add Your own attribution
|
||||
notices within Derivative Works that You distribute, alongside
|
||||
or as an addendum to the NOTICE text from the Work, provided
|
||||
that such additional attribution notices cannot be construed
|
||||
as modifying the License.
|
||||
|
||||
You may add Your own copyright statement to Your modifications and
|
||||
may provide additional or different license terms and conditions
|
||||
for use, reproduction, or distribution of Your modifications, or
|
||||
for any such Derivative Works as a whole, provided Your use,
|
||||
reproduction, and distribution of the Work otherwise complies with
|
||||
the conditions stated in this License.
|
||||
|
||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||
any Contribution intentionally submitted for inclusion in the Work
|
||||
by You to the Licensor shall be under the terms and conditions of
|
||||
this License, without any additional terms or conditions.
|
||||
Notwithstanding the above, nothing herein shall supersede or modify
|
||||
the terms of any separate license agreement you may have executed
|
||||
with Licensor regarding such Contributions.
|
||||
|
||||
6. Trademarks. This License does not grant permission to use the trade
|
||||
names, trademarks, service marks, or product names of the Licensor,
|
||||
except as required for reasonable and customary use in describing the
|
||||
origin of the Work and reproducing the content of the NOTICE file.
|
||||
|
||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||
agreed to in writing, Licensor provides the Work (and each
|
||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||
implied, including, without limitation, any warranties or conditions
|
||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||
appropriateness of using or redistributing the Work and assume any
|
||||
risks associated with Your exercise of permissions under this License.
|
||||
|
||||
8. Limitation of Liability. In no event and under no legal theory,
|
||||
whether in tort (including negligence), contract, or otherwise,
|
||||
unless required by applicable law (such as deliberate and grossly
|
||||
negligent acts) or agreed to in writing, shall any Contributor be
|
||||
liable to You for damages, including any direct, indirect, special,
|
||||
incidental, or consequential damages of any character arising as a
|
||||
result of this License or out of the use or inability to use the
|
||||
Work (including but not limited to damages for loss of goodwill,
|
||||
work stoppage, computer failure or malfunction, or any and all
|
||||
other commercial damages or losses), even if such Contributor
|
||||
has been advised of the possibility of such damages.
|
||||
|
||||
9. Accepting Warranty or Additional Liability. While redistributing
|
||||
the Work or Derivative Works thereof, You may choose to offer,
|
||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||
or other liability obligations and/or rights consistent with this
|
||||
License. However, in accepting such obligations, You may act only
|
||||
on Your own behalf and on Your sole responsibility, not on behalf
|
||||
of any other Contributor, and only if You agree to indemnify,
|
||||
defend, and hold each Contributor harmless for any liability
|
||||
incurred by, or claims asserted against, such Contributor by reason
|
||||
of your accepting any such warranty or additional liability.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
APPENDIX: How to apply the Apache License to your work.
|
||||
|
||||
To apply the Apache License to your work, attach the following
|
||||
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||
replaced with your own identifying information. (Don't include
|
||||
the brackets!) The text should be enclosed in the appropriate
|
||||
comment syntax for the file format. We also recommend that a
|
||||
file or class name and description of purpose be included on the
|
||||
same "printed page" as the copyright notice for easier
|
||||
identification within third-party archives.
|
||||
|
||||
Copyright [yyyy] [name of copyright owner]
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
|
||||
---
|
||||
|
||||
## 补充协议 | Supplementary Agreement
|
||||
|
||||
> **补充协议 | Supplementary Agreement**
|
||||
>
|
||||
> 若您将本软件或其衍生版本以产品形式分发、销售或提供给**两个及以上独立的第三方主体**使用(无论采用买断、订阅、授权或任何其他商业模式),均须事先取得 HBAI-Ltd 的**书面商业授权**。
|
||||
>
|
||||
> If you distribute, sell, or provide this software (or any derivative) as a product to **two or more independent third parties** (regardless of business model: one-time purchase, subscription, licensing, etc.), you must obtain **written commercial authorization** from HBAI-Ltd prior to such use.
|
||||
>
|
||||
> **五个以内(含五个)**的法人主体作为联合运营方共同使用本软件,且不向联合体以外的第三方分发或提供服务的,视为**内部使用,无需商业授权**。
|
||||
>
|
||||
> **Five (5) or fewer** legal entities jointly operating and using this software internally, without distributing or providing services to parties outside the joint operation, are considered **internal use** and do not require commercial authorization.
|
||||
>
|
||||
> 在使用 Toonflow 的过程中,您不得删除或修改 Toonflow 控制台或应用程序中的标识或版权信息。
|
||||
>
|
||||
> You may not remove or modify any trademarks, logos, or copyright notices in the Toonflow console or application.
|
||||
|
||||
---
|
||||
|
||||
## 永久免费场景 | Always Free — No Authorization Required
|
||||
|
||||
以下使用场景**永久免费**,无需任何授权:
|
||||
|
||||
The following uses are **always free** and require no authorization:
|
||||
|
||||
- ✅ 用 Toonflow 制作内容,在平台发布并获得分账 / Using Toonflow to produce content and earn platform revenue shares
|
||||
- ✅ 二次开发,供自己团队内部使用 / Secondary development and modification for internal team use
|
||||
- ✅ ≤ 5 个法人联合运营内部使用,不对外提供服务 / ≤5 legal entities operating jointly, internally only
|
||||
- ✅ 个人学习、研究、非商业用途 / Personal learning, research, and non-commercial purposes
|
||||
|
||||
---
|
||||
|
||||
## 授权定价 | Licensing Pricing
|
||||
|
||||
商业授权费用与被授权方业务规模挂钩:
|
||||
|
||||
Commercial licensing fees scale with the licensee's business scale:
|
||||
|
||||
| 阶段 | 年销售额 | 年费 |
|
||||
|------|---------|------|
|
||||
| 🌱 扶持期 / Nurture | < ¥10 万 / $10k | **免费 / Free** |
|
||||
| 🚀 初创期 / Startup | ¥10–50 万 / $10k–$50k | ¥5,000 / 年 / year |
|
||||
| 📈 成长期 / Growth | ¥50–150 万 / $50k–$150k | ¥20,000 / 年 / year |
|
||||
| 🏢 规模期 / Scale | ¥150–500 万 / $150k–$500k | ¥80,000 / 年 / year |
|
||||
| 🌐 企业级 / Enterprise | > ¥500 万 / $500k | 面议 / Negotiable |
|
||||
|
||||
---
|
||||
|
||||
## AGPL 用户保护条款 | AGPL User Protection
|
||||
|
||||
> **不追溯条款 | Non-Retroactivity Clause**
|
||||
>
|
||||
> 本协议变更生效日期(v1.0.8 正式发布日)前,基于 AGPL-3.0 条款使用 Toonflow 的用户,其现有使用行为不受本协议变更的约束,继续按 AGPL-3.0 条款执行。
|
||||
>
|
||||
> Users who used Toonflow under AGPL-3.0 prior to the effective date of this change (v1.0.8 official release date) are not affected by this license change. Their existing usage continues under AGPL-3.0.
|
||||
58
NOTICES.txt
@ -40,6 +40,12 @@ Repository: https://github.com/vercel/ai
|
||||
|
||||
-----------------------------
|
||||
|
||||
Name: @huggingface/transformers
|
||||
License: Apache-2.0
|
||||
Repository: https://github.com/huggingface/transformers.js
|
||||
|
||||
-----------------------------
|
||||
|
||||
Name: @rmp135/sql-ts
|
||||
License: MIT
|
||||
Repository: https://github.com/rmp135/sql-ts
|
||||
@ -76,6 +82,12 @@ Repository: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
-----------------------------
|
||||
|
||||
Name: @types/lodash
|
||||
License: MIT
|
||||
Repository: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
-----------------------------
|
||||
|
||||
Name: @types/morgan
|
||||
License: MIT
|
||||
Repository: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
@ -100,18 +112,18 @@ Repository: https://github.com/axios/axios
|
||||
|
||||
-----------------------------
|
||||
|
||||
Name: best-effort-json-parser
|
||||
License: BSD-2-Clause
|
||||
Repository: https://github.com/beenotung/best-effort-json-parser
|
||||
|
||||
-----------------------------
|
||||
|
||||
Name: better-sqlite3
|
||||
License: MIT
|
||||
Repository: https://github.com/WiseLibs/better-sqlite3
|
||||
|
||||
-----------------------------
|
||||
|
||||
Name: compressing
|
||||
License: MIT
|
||||
Repository: https://github.com/node-modules/compressing
|
||||
|
||||
-----------------------------
|
||||
|
||||
Name: cors
|
||||
License: MIT
|
||||
Repository: https://github.com/expressjs/cors
|
||||
@ -178,6 +190,12 @@ Repository: https://github.com/form-data/form-data
|
||||
|
||||
-----------------------------
|
||||
|
||||
Name: graphlib
|
||||
License: MIT
|
||||
Repository: https://github.com/dagrejs/graphlib
|
||||
|
||||
-----------------------------
|
||||
|
||||
Name: is-path-inside
|
||||
License: MIT
|
||||
Repository: https://github.com/sindresorhus/is-path-inside
|
||||
@ -208,6 +226,12 @@ Repository: https://github.com/davglass/license-checker
|
||||
|
||||
-----------------------------
|
||||
|
||||
Name: lodash
|
||||
License: MIT
|
||||
Repository: https://github.com/lodash/lodash
|
||||
|
||||
-----------------------------
|
||||
|
||||
Name: morgan
|
||||
License: MIT
|
||||
Repository: https://github.com/expressjs/morgan
|
||||
@ -220,9 +244,9 @@ Repository: https://github.com/remy/nodemon
|
||||
|
||||
-----------------------------
|
||||
|
||||
Name: qwen-ai-provider
|
||||
Name: qwen-ai-provider-v5
|
||||
License: Apache-2.0
|
||||
Repository: https://github.com/Younis-Ahmed/qwen-ai-provider
|
||||
Repository: https://github.com/bolechen/qwen-ai-provider-v5
|
||||
|
||||
-----------------------------
|
||||
|
||||
@ -244,12 +268,24 @@ Repository: https://github.com/lovell/sharp
|
||||
|
||||
-----------------------------
|
||||
|
||||
Name: socket.io
|
||||
License: MIT
|
||||
Repository: https://github.com/socketio/socket.io
|
||||
|
||||
-----------------------------
|
||||
|
||||
Name: sqlite3
|
||||
License: BSD-3-Clause
|
||||
Repository: https://github.com/TryGhost/node-sqlite3
|
||||
|
||||
-----------------------------
|
||||
|
||||
Name: sucrase
|
||||
License: MIT
|
||||
Repository: https://github.com/alangpierce/sucrase
|
||||
|
||||
-----------------------------
|
||||
|
||||
Name: tsx
|
||||
License: MIT
|
||||
Repository: https://github.com/privatenumber/tsx
|
||||
@ -268,6 +304,12 @@ Repository: https://github.com/uuidjs/uuid
|
||||
|
||||
-----------------------------
|
||||
|
||||
Name: vm2
|
||||
License: MIT
|
||||
Repository: https://github.com/patriksimek/vm2
|
||||
|
||||
-----------------------------
|
||||
|
||||
Name: zhipu-ai-provider
|
||||
License: Apache-2.0
|
||||
Repository: https://github.com/Xiang-CH/zhipu-ai-provider
|
||||
|
||||
407
README.md
@ -6,11 +6,20 @@
|
||||
<a href="https://gitee.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="https://img.shields.io/badge/Gitee-C71D23?style=flat-square&logo=gitee&logoColor=white" alt="Gitee" />
|
||||
</a>
|
||||
|
|
||||
<a href="https://gitcode.com/HBAI-Ltd/Toonflow-app">
|
||||
<img src="./docs/atomgitLogo.svg" alt="Atomgit" style="height:20px"/>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<strong>中文</strong> |
|
||||
<a href="./docs/README.en.md">English</a>
|
||||
<strong>简体中文</strong> |
|
||||
<a href="./docs/README.zhtw.md">繁體中文</a> |
|
||||
<a href="./docs/README.en.md">English</a> |
|
||||
<a href="./docs/README.th.md">ไทย</a> |
|
||||
<a href="./docs/README.vi.md">Tiếng Việt</a> |
|
||||
<a href="./docs/README.ja.md">日本語</a> |
|
||||
<a href="./docs/README.ru.md">Русский</a>
|
||||
</p>
|
||||
|
||||
<div align="center">
|
||||
@ -32,8 +41,8 @@
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/stargazers">
|
||||
<img src="https://img.shields.io/github/stars/HBAI-Ltd/Toonflow-app?style=for-the-badge&logo=github" alt="Stars Badge" />
|
||||
</a>
|
||||
<a href="https://www.gnu.org/licenses/agpl-3.0" target="_blank">
|
||||
<img src="https://img.shields.io/badge/License-AGPL-blue.svg?style=for-the-badge" alt="AGPL License Badge" />
|
||||
<a href="https://www.apache.org/licenses/LICENSE-2.0" target="_blank">
|
||||
<img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=for-the-badge" alt="Apache-2.0 License Badge" />
|
||||
</a>
|
||||
<a href="https://github.com/HBAI-Ltd/Toonflow-app/releases">
|
||||
<img alt="release" src="https://img.shields.io/github/v/release/HBAI-Ltd/Toonflow-app?style=for-the-badge" />
|
||||
@ -43,36 +52,70 @@
|
||||
> 🚀 **一站式短剧工程**:从文本到角色,从分镜到视频,0门槛全流程AI化,创作效率提升10倍+!
|
||||
</div>
|
||||
|
||||
|
||||
---
|
||||
|
||||
# 🌐 多语言支持
|
||||
|
||||
Toonflow 支持以下语言界面:
|
||||
|
||||
| 语言 | Language |
|
||||
|------|----------|
|
||||
| 简体中文 | Chinese (Simplified) |
|
||||
| 繁體中文 | Chinese (Traditional) |
|
||||
| English | English |
|
||||
| ไทย | Thai |
|
||||
| Tiếng Việt | Vietnamese |
|
||||
| 日本語 | Japanese |
|
||||
| Русский | Russian |
|
||||
|
||||
> 💡 更多语言适配中,欢迎贡献翻译!
|
||||
|
||||
---
|
||||
|
||||
# 🌟 主要功能
|
||||
|
||||
Toonflow 是一款 AI 工具,能够利用 AI 技术将小说自动转化为剧本,并结合 AI 生成的图片和视频,实现高效的短剧创作。借助 Toonflow,可以轻松完成从文字到影像的全流程,让短剧制作变得更加智能与便捷。
|
||||
Toonflow v1.0.8 是面向短剧生产的 AI 工作台,围绕“策划 → 编剧 → 分镜 → 出片”构建完整闭环,并支持本地化、可编程、可持续迭代的生产流程。
|
||||
|
||||
- ✅ **角色生成**
|
||||
自动分析原始小说文本,智能识别并生成角色设定,包括外貌、性格、身份等详细信息,为后续剧本与画面创作提供可靠基础。
|
||||
- ✅ **剧本生成**
|
||||
基于选定事件和章节,系统自动生成结构化剧本,涵盖对白、场景描述、剧情走向,实现从文学文本到影视剧本的高效转换。
|
||||
- ✅ **分镜制作**
|
||||
根据剧本内容,智能生成分镜提示词与画面设计,细化前中后景、角色动态、道具设定和场景布局,自动根据剧本生成分镜,为视频制作提供完整路线蓝图。
|
||||
- ✅ **视频合成**
|
||||
集成 AI 图像与视频技术,可使用 AI 生成视频片段。整合在线编辑,支持个性化调整输出,让影视创作高效协同、快捷落地。
|
||||
- ✅ **无限画布生产工作台**
|
||||
以类无限画布形式组织剧本、角色、分镜、素材与视频节点,支持自由编排、回溯与并行生产,不受线性步骤限制。
|
||||
- ✅ **三层 Agent 协作体系**
|
||||
决策层、执行层、监督层协同工作,覆盖任务拆解、内容生成、质量审阅与修订反馈,提升稳定性与成片一致性。
|
||||
- ✅ **持久化 Agent 记忆**
|
||||
基于本地 ONNX 向量检索的跨会话记忆系统,支持短期消息、长期摘要和语义召回,确保多轮创作连续性。
|
||||
- ✅ **可编程供应商系统**
|
||||
支持在设置中心直接编写供应商 TypeScript 逻辑并即时生效,无需改源码或重启,便于私有化和多模型接入。
|
||||
- ✅ **章节事件图谱驱动改编**
|
||||
自动提取原著章节事件并结构化存储,剧本改编按事件图谱精准调用上下文,减少长文本信息丢失。
|
||||
- ✅ **Skill 文件化配置**
|
||||
ScriptAgent 与 ProductionAgent 的核心提示词外化为 Markdown Skill 文件,支持在线编辑与快速调优。
|
||||
|
||||
---
|
||||
|
||||
# 📦 应用场景
|
||||
|
||||
- 短视频内容创作
|
||||
- 小说影视化实验
|
||||
- AI 文学改编工具
|
||||
- 剧本开发与快速原型
|
||||
- 视频素材生成
|
||||
- 网文/小说快速影视化改编
|
||||
- 短剧团队流水线协作生产
|
||||
- 多项目并行的 AI 内容工厂
|
||||
- 私有化部署的企业级内容平台
|
||||
- 低成本验证剧情与镜头方案
|
||||
- 教学与研究场景下的 AIGC 创作实验
|
||||
|
||||
---
|
||||
|
||||
# 🔰 使用指南
|
||||
|
||||
## 📺 视频教程
|
||||
## 🚀 v1.0.8 快速上手
|
||||
|
||||
1. 启动应用并登录(默认账号:`admin` / `admin123`)。
|
||||
2. 在设置中心完成模型供应商配置(文本/图像/视频模型)。
|
||||
3. 新建项目并导入原著,执行章节事件提取。
|
||||
4. 进入 ScriptAgent 生成故事骨架、改编策略与结构化剧本。
|
||||
5. 切换到 ProductionAgent,在无限画布中组织分镜、素材与视频节点。
|
||||
6. 对分镜图进行节点化精调后回流工作台,完成视频拼接与导出。
|
||||
|
||||
|
||||
## 📺 视频教程(待更新,老版本教程已无参考价值)
|
||||
|
||||
https://www.bilibili.com/video/BV1na6wB6Ea2
|
||||
[](https://www.bilibili.com/video/BV1na6wB6Ea2)
|
||||
@ -86,6 +129,8 @@ https://www.bilibili.com/video/BV1na6wB6Ea2
|
||||
|
||||
---
|
||||
|
||||
|
||||
|
||||
# 🚀 安装
|
||||
|
||||
## 前置条件
|
||||
@ -100,13 +145,16 @@ https://www.bilibili.com/video/BV1na6wB6Ea2
|
||||
|
||||
### 1. 下载与安装
|
||||
|
||||
| 操作系统 | GitHub 下载 | 夸克网盘下载 | 说明 |
|
||||
| :------: | :----------------------------------------------------------- | :---------------------------------------------- | :------------- |
|
||||
| Windows | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [夸克网盘](https://pan.quark.cn/s/94ef07509df0) | 官方发布安装包 |
|
||||
| Linux | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [夸克网盘](https://pan.quark.cn/s/94ef07509df0) | 官方发布安装包 |
|
||||
| macOS | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [夸克网盘](https://pan.quark.cn/s/94ef07509df0) | 官方发布安装包 |
|
||||
| 操作系统 | GitHub | Atomgit | 夸克网盘下载 | 说明 |
|
||||
| :------: | :----------------------------------------------------------- | :------------------------------------------------------------ | :---------------------------------------------- | :------------- |
|
||||
| Windows | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [夸克网盘](https://pan.quark.cn/s/94ef07509df0) | 官方发布安装包 |
|
||||
| Linux | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [夸克网盘](https://pan.quark.cn/s/94ef07509df0) | 官方发布安装包 |
|
||||
| macOS | [Release](https://github.com/HBAI-Ltd/Toonflow-app/releases) | [Release](https://gitcode.com/HBAI-Ltd/Toonflow-app/releases) | [夸克网盘](https://pan.quark.cn/s/94ef07509df0) | 官方发布安装包 |
|
||||
|
||||
> 目前仅支持 Windows 版本,其他系统将陆续开放。
|
||||
> [!CAUTION]
|
||||
> MacOS 系统请到 设置-隐私与安全性 配置安全性否则可能因证书问题无法正常打开
|
||||
>
|
||||
> 参考知乎文档:[https://www.zhihu.com/question/433389276](https://www.zhihu.com/question/433389276)
|
||||
|
||||
> 因 Gitee OS 环境限制及 Release 文件上传大小限制,暂不提供 Gitee Release 下载地址。
|
||||
|
||||
@ -123,92 +171,46 @@ https://www.bilibili.com/video/BV1na6wB6Ea2
|
||||
### 前置条件
|
||||
|
||||
- 已安装 [Docker](https://docs.docker.com/get-docker/)(版本 20.10+)
|
||||
- 已安装 [Docker Compose](https://docs.docker.com/compose/install/)(版本 2.0+)
|
||||
|
||||
### 方式一:在线部署(推荐)
|
||||
### 方式一:在线部署
|
||||
|
||||
从 GitHub / Gitee 自动拉取源码并构建镜像:
|
||||
|
||||
```shell
|
||||
docker-compose -f docker/docker-compose.yml up -d --build
|
||||
```
|
||||
|
||||
**支持的构建参数:**
|
||||
|
||||
| 参数 | 说明 | 默认值 | 示例 |
|
||||
| -------- | ------------ | -------- | ------------------ |
|
||||
| `GIT` | 代码仓库源 | `github` | `github` / `gitee` |
|
||||
| `TAG` | 指定版本标签 | 最新 tag | `v1.0.6` |
|
||||
| `BRANCH` | 指定分支 | 默认分支 | `main` / `dev` |
|
||||
|
||||
**版本选择优先级**:指定 TAG > 指定 BRANCH > 自动获取最新 tag > 默认分支
|
||||
|
||||
**指定参数示例:**
|
||||
|
||||
```shell
|
||||
# 使用 Gitee 源(国内推荐,速度更快)
|
||||
GIT=gitee docker-compose -f docker/docker-compose.yml up -d --build
|
||||
|
||||
# 指定版本标签
|
||||
TAG=v1.0.6 docker-compose -f docker/docker-compose.yml up -d --build
|
||||
|
||||
# 指定分支 + Gitee 源
|
||||
GIT=gitee BRANCH=dev docker-compose -f docker/docker-compose.yml up -d --build
|
||||
```
|
||||
待完善,暂时使用本地构建。
|
||||
|
||||
### 方式二:本地构建
|
||||
|
||||
使用本地已有的源码直接构建,适合开发者或已克隆仓库的用户:
|
||||
使用本地已有的源码直接构建,适合开发者或已克隆仓库的用户,这需要你在本地安装 git:
|
||||
|
||||
```shell
|
||||
# 先克隆项目(如已有则跳过)
|
||||
git clone https://github.com/HBAI-Ltd/Toonflow-app.git
|
||||
cd Toonflow-app
|
||||
|
||||
# 使用本地源码构建
|
||||
docker-compose -f docker/docker-compose.local.yml up -d --build
|
||||
# 使用 docker-compose 本地构建并启动
|
||||
yarn docker:local
|
||||
|
||||
# 或者手动构建
|
||||
docker build -t toonflow .
|
||||
docker run -d -p <本地端口>:10588 -v <本地数据路径>:/app/data toonflow
|
||||
|
||||
# 此时在相应端口的 /web/index.html 路径即可访问页面
|
||||
# 例如 http://localhost:10588/web/index.html
|
||||
```
|
||||
|
||||
### 服务端口说明
|
||||
|
||||
| 端口 | 用途 | 在线部署映射 | 本地构建映射 |
|
||||
| ------- | -------------- | ------------- | ------------- |
|
||||
| `80` | Nginx 前端页面 | 随机端口 | `8080:80` |
|
||||
| `60000` | 后端 API 服务 | `60000:60000` | `60000:60000` |
|
||||
| 端口 | 用途 | 部署映射 |
|
||||
| ------- | -------- | ------------- |
|
||||
| `10588` | 软件界面 | `10588:10588` |
|
||||
|
||||
### 数据持久化
|
||||
**环境变量说明:**
|
||||
|
||||
默认日志目录会挂载到宿主机 `./logs` 目录。如需持久化上传文件或数据库,可在 `docker-compose.yml` 中添加 volumes:
|
||||
| 变量 | 说明 |
|
||||
| ---------- | ---------------------------------- |
|
||||
| `NODE_ENV` | 运行环境,`prod` 表示生产环境 |
|
||||
| `PORT` | 服务监听端口(默认 10588) |
|
||||
| `OSSURL` | 文件存储访问地址,用于静态资源访问 |
|
||||
|
||||
```yaml
|
||||
volumes:
|
||||
- ./logs:/var/log
|
||||
- ./uploads:/app/uploads # 持久化上传文件
|
||||
- ./data:/app/data # 持久化数据库(如有)
|
||||
```
|
||||
|
||||
### 常用操作命令
|
||||
|
||||
```shell
|
||||
# 查看容器状态
|
||||
docker-compose -f docker/docker-compose.yml ps
|
||||
|
||||
# 查看实时日志
|
||||
docker-compose -f docker/docker-compose.yml logs -f
|
||||
|
||||
# 停止服务
|
||||
docker-compose -f docker/docker-compose.yml down
|
||||
|
||||
# 重新构建并启动(更新版本时使用)
|
||||
docker-compose -f docker/docker-compose.yml up -d --build
|
||||
|
||||
# 进入容器调试
|
||||
docker exec -it toonflow sh
|
||||
```
|
||||
|
||||
> ⚠️ **首次登录**
|
||||
> 账号:`admin`
|
||||
> 密码:`admin123`
|
||||
---
|
||||
|
||||
## 云端部署
|
||||
|
||||
@ -260,13 +262,13 @@ yarn build
|
||||
```json
|
||||
{
|
||||
"name": "toonflow-app",
|
||||
"script": "build/app.js",
|
||||
"script": "data/serve/app.js",
|
||||
"instances": "max",
|
||||
"exec_mode": "cluster",
|
||||
"env": {
|
||||
"NODE_ENV": "prod",
|
||||
"PORT": 60000,
|
||||
"OSSURL": "http://127.0.0.1:60000/"
|
||||
"PORT": 10588,
|
||||
"OSSURL": "http://127.0.0.1:10588/"
|
||||
}
|
||||
}
|
||||
```
|
||||
@ -317,8 +319,25 @@ pm2 monit # 监控面板
|
||||
|
||||
> [!CAUTION]
|
||||
> 🚧 **PR 提交规范** 🚧
|
||||
>
|
||||
>
|
||||
> ⛔ `master` 分支不接受任何 PR | ✅ 请将 PR 提交到 `develop` 分支
|
||||
>
|
||||
> 欢迎开发者们共同参与 Toonflow 的共创。如有兴趣加入,请在交流群内联系主理人 ACT
|
||||
|
||||
## 🛠️ 技术栈
|
||||
|
||||
| 类别 | 技术 |
|
||||
| ---------- | ----------------------------------------------------------------------------------------- |
|
||||
| 运行时 | Node.js 23.11.1+ |
|
||||
| 语言 | TypeScript 5.x |
|
||||
| 后端框架 | Express 5 |
|
||||
| 数据库 | SQLite(better-sqlite3 / knex) |
|
||||
| AI 集成 | Vercel AI SDK(OpenAI / Anthropic / Google / DeepSeek / 智谱 / MiniMax / 通义千问 / xAI) |
|
||||
| 本地推理 | @huggingface/transformers(ONNX) |
|
||||
| 实时通信 | Socket.IO |
|
||||
| 桌面客户端 | Electron 40 |
|
||||
| 图像处理 | Sharp |
|
||||
| 容器化 | Docker |
|
||||
|
||||
## 开发环境准备
|
||||
|
||||
@ -355,15 +374,15 @@ pm2 monit # 监控面板
|
||||
|
||||
本项目包含 **后端 API 服务** 和 **前端页面** 两部分,请根据需要选择启动方式:
|
||||
|
||||
- **方式一:仅启动后端服务(开发调试用)**
|
||||
- **方式一:仅启动后端服务**
|
||||
|
||||
```bash
|
||||
yarn dev
|
||||
```
|
||||
|
||||
> ⚠️ 此命令仅启动后端 API 服务(端口 60000),**不包含前端页面**。直接访问 `http://localhost:60000` 只能调用 API 接口,无法看到完整的网页界面。如需同时使用前端页面,请配合前端项目单独启动,或使用下方的 GUI 模式。
|
||||
> ⚠️ 此命令仅启动后端 API 服务(端口 10588),**不包含前端页面**。直接访问 `http://localhost:10588` 只能调用 API 接口,无法看到完整的网页界面。如需同时使用前端页面,请配合前端项目单独启动,或使用下方的 GUI 模式。
|
||||
|
||||
- **方式二:启动 Electron 桌面客户端(推荐完整体验)**
|
||||
- **方式二:启动 Electron 桌面客户端**
|
||||
|
||||
```bash
|
||||
yarn dev:gui
|
||||
@ -371,12 +390,13 @@ pm2 monit # 监控面板
|
||||
|
||||
> 此命令会同时启动后端服务和 Electron 桌面窗口,自带内置前端页面,开箱即用,无需额外配置。适合想要完整体验所有功能的开发者。
|
||||
|
||||
**两种模式对比:**
|
||||
- **方式三:生产模式启动**
|
||||
|
||||
| 命令 | 启动内容 | 前端页面 | 适用场景 |
|
||||
| -------------- | ------------------------ | -------- | -------------------------------- |
|
||||
| `yarn dev` | 仅后端 API(端口 60000) | ❌ 无 | 后端开发调试、配合前端项目联调 |
|
||||
| `yarn dev:gui` | 后端 + Electron 桌面端 | ✅ 内置 | 完整功能体验、桌面客户端开发调试 |
|
||||
```bash
|
||||
yarn start
|
||||
```
|
||||
|
||||
> 以生产模式直接运行编译后的服务(需先执行 `yarn build`)。
|
||||
|
||||
4. **项目打包**
|
||||
|
||||
@ -427,47 +447,63 @@ pm2 monit # 监控面板
|
||||
- **GitHub**:[Toonflow-web](https://github.com/HBAI-Ltd/Toonflow-web)
|
||||
- **Gitee**:[Toonflow-web](https://gitee.com/HBAI-Ltd/Toonflow-web)
|
||||
|
||||
前端构建后,将 `dist` 目录内容复制到本项目的 `scripts/web` 目录即可集成。
|
||||
前端构建后,将 `dist` 目录内容复制到本项目的 `data/web` 目录即可集成。
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
📂 docker/ # Docker 配置文件
|
||||
📂 docs/ # 文档资源
|
||||
📂 scripts/ # 构建脚本与静态资源
|
||||
│ └─ 📂 web/ # 前端编译产物(内置)
|
||||
📂 build/ # 编译产物
|
||||
📂 data/ # 运行时数据
|
||||
│ ├─ 📂 models/ # 本地推理模型(ONNX)
|
||||
│ ├─ 📂 oss/ # 对象存储(素材/角色/场景)
|
||||
│ ├─ 📂 serve/ # 生产环境入口
|
||||
│ ├─ 📂 skills/ # Agent 技能提示词
|
||||
│ └─ 📂 web/ # 前端编译产物(内置)
|
||||
📂 docs/ # 文档资源
|
||||
📂 env/ # 环境配置
|
||||
📂 scripts/ # 构建与辅助脚本
|
||||
📂 src/
|
||||
├─ 📂 agents/ # AI Agent 模块
|
||||
├─ 📂 lib/ # 公共库(数据库初始化、响应格式)
|
||||
├─ 📂 middleware/ # 中间件
|
||||
├─ 📂 routes/ # 路由模块
|
||||
│ ├─ 📂 assets/ # 素材管理
|
||||
│ ├─ 📂 index/ # 首页
|
||||
│ ├─ 📂 novel/ # 小说管理
|
||||
│ ├─ 📂 other/ # 其他功能
|
||||
│ ├─ 📂 outline/ # 大纲管理
|
||||
│ ├─ 📂 project/ # 项目管理
|
||||
│ ├─ 📂 prompt/ # 提示词管理
|
||||
│ ├─ 📂 script/ # 剧本生成
|
||||
│ ├─ 📂 setting/ # 系统设置
|
||||
│ ├─ 📂 storyboard/ # 分镜管理
|
||||
│ ├─ 📂 task/ # 任务管理
|
||||
│ ├─ 📂 user/ # 用户管理
|
||||
│ └─ 📂 video/ # 视频生成
|
||||
├─ 📂 types/ # TypeScript 类型声明
|
||||
├─ 📂 utils/ # 工具函数
|
||||
├─ 📄 app.ts # 应用入口
|
||||
├─ 📄 core.ts # 路由核心
|
||||
├─ 📄 env.ts # 环境变量处理
|
||||
├─ 📄 err.ts # 错误处理
|
||||
├─ 📄 router.ts # 路由注册
|
||||
└─ 📄 utils.ts # 通用工具
|
||||
📂 uploads/ # 上传文件目录
|
||||
📄 LICENSE # 许可证
|
||||
📄 NOTICES.txt # 第三方依赖声明
|
||||
📄 package.json # 项目配置
|
||||
📄 README.md # 项目说明
|
||||
📄 tsconfig.json # TypeScript 配置
|
||||
├─ 📂 agents/ # AI Agent 模块
|
||||
│ ├─ 📂 productionAgent/ # 生产 Agent
|
||||
│ └─ 📂 scriptAgent/ # 剧本 Agent
|
||||
├─ 📂 lib/ # 公共库(数据库初始化、响应格式)
|
||||
├─ 📂 middleware/ # 中间件
|
||||
├─ 📂 routes/ # 路由模块
|
||||
│ ├─ 📂 agents/ # Agent 记忆管理
|
||||
│ ├─ 📂 artStyle/ # 画风管理
|
||||
│ ├─ 📂 assets/ # 素材管理
|
||||
│ ├─ 📂 assetsGenerate/ # 素材生成
|
||||
│ ├─ 📂 cornerScape/ # 分镜管理
|
||||
│ ├─ 📂 general/ # 通用接口
|
||||
│ ├─ 📂 login/ # 登录认证
|
||||
│ ├─ 📂 migrate/ # 数据迁移
|
||||
│ ├─ 📂 modelSelect/ # 模型选择
|
||||
│ ├─ 📂 novel/ # 小说管理
|
||||
│ ├─ 📂 other/ # 其他功能
|
||||
│ ├─ 📂 production/ # 制作管理
|
||||
│ ├─ 📂 project/ # 项目管理
|
||||
│ ├─ 📂 script/ # 剧本生成
|
||||
│ ├─ 📂 scriptAgent/ # 剧本 Agent 接口
|
||||
│ ├─ 📂 setting/ # 系统设置
|
||||
│ ├─ 📂 task/ # 任务管理
|
||||
│ └─ 📂 test/ # 测试接口
|
||||
├─ 📂 socket/ # WebSocket 实时通信
|
||||
├─ 📂 types/ # TypeScript 类型声明
|
||||
├─ 📂 utils/ # 工具函数
|
||||
├─ 📄 app.ts # 应用入口
|
||||
├─ 📄 core.ts # 核心初始化
|
||||
├─ 📄 env.ts # 环境变量处理
|
||||
├─ 📄 err.ts # 错误处理
|
||||
├─ 📄 logger.ts # 日志模块
|
||||
├─ 📄 router.ts # 路由注册
|
||||
└─ 📄 utils.ts # 通用工具
|
||||
📄 Dockerfile # Docker 构建文件
|
||||
📄 electron-builder.yml # Electron 打包配置
|
||||
📄 skillList.json # 技能清单
|
||||
📄 LICENSE # 许可证(Apache-2.0)
|
||||
📄 NOTICES.txt # 第三方依赖声明
|
||||
📄 package.json # 项目配置
|
||||
📄 tsconfig.json # TypeScript 配置
|
||||
```
|
||||
|
||||
---
|
||||
@ -483,58 +519,11 @@ pm2 monit # 监控面板
|
||||
|
||||
---
|
||||
|
||||
# 📝 开发计划
|
||||
|
||||
我们正持续优化产品,以下为近期开发重点:
|
||||
|
||||
1. 核心功能升级
|
||||
|
||||
- `🧩 提示词润色生成 Agent` 基于 AI 智能润色视频提示词,自动拆解生成分镜脚本,支持多镜头智能融合与平滑过渡
|
||||
- `📄 多格式文本支持` 扩展小说以外的剧本、漫画脚本、游戏对话文本等多种格式的智能解析
|
||||
|
||||
2. 生产流程优化
|
||||
|
||||
- `👗 角色服化道管理` 强化长篇内容中角色的服装、化妆、道具一致性,支持多剧集关联记忆和着装自动生成
|
||||
- `📦 批量处理/任务队列` 支持多章节同时处理,后台任务管理,进度实时监控和中断恢复
|
||||
|
||||
3. 视觉生成增强
|
||||
|
||||
- `🎭 多风格模板库` 内置多种视觉风格包,支持一键风格转换和用户自定义风格保存
|
||||
- `⏱️ 智能节奏分析/优化` 分析剧情情绪曲线,自动建议高潮点和节奏变化,优化分镜安排生产流程优化
|
||||
|
||||
---
|
||||
|
||||
# 👨👩👧👦 微信交流群
|
||||
|
||||
~~交流群 1~~
|
||||
|
||||
~~交流群 2~~
|
||||
|
||||
~~交流群 3~~
|
||||
|
||||
~~交流群 4~~
|
||||
|
||||
~~交流群 5~~
|
||||
|
||||
~~交流群 6~~
|
||||
|
||||
~~交流群 7~~
|
||||
|
||||
~~交流群 8~~
|
||||
|
||||
~~交流群 9~~
|
||||
|
||||
~~交流群 10~~
|
||||
|
||||
~~交流群 11~~
|
||||
|
||||
~~交流群 12~~
|
||||
|
||||
~~交流群 13~~
|
||||
|
||||
拉群小助手:
|
||||
|
||||
<img src="./docs/QR.png" alt="Toonflow Logo" height="400"/>
|
||||
<img src="./docs/QR.png" alt="Toonflow QR" height="400"/>
|
||||
|
||||
---
|
||||
|
||||
@ -546,11 +535,36 @@ pm2 monit # 监控面板
|
||||
|
||||
# 📜 许可证
|
||||
|
||||
Toonflow 基于 AGPL-3.0 协议开源发布,许可证详情:https://www.gnu.org/licenses/agpl-3.0.html
|
||||
Toonflow 基于 Apache-2.0 协议开源发布,并附有补充商业协议。
|
||||
|
||||
您可以在遵循 AGPL-3.0 相关条款与条件的情况下,将 Toonflow 用于包括商业目的在内的各类用途。
|
||||
许可证详情:https://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
如需获得免于 AGPL-3.0 限制的专有商业许可,请通过邮箱与我们联系。
|
||||
## 补充协议
|
||||
|
||||
- 若将本软件以产品形式分发给 **2 个及以上独立第三方**使用,须取得 HBAI-Ltd **书面商业授权**。
|
||||
- **≤ 5 个法人**联合运营内部使用,不对外提供服务的,视为内部使用,**无需授权**。
|
||||
- 不得删除或修改 Toonflow 中的标识或版权信息。
|
||||
|
||||
## 永久免费场景
|
||||
|
||||
- ✅ 用 Toonflow 制作内容并获得平台分账
|
||||
- ✅ 二次开发供自己团队内部使用
|
||||
- ✅ ≤ 5 个法人联合运营内部使用
|
||||
- ✅ 个人学习、研究、非商业用途
|
||||
|
||||
## 商业授权定价
|
||||
|
||||
| 阶段 | 年销售额 | 年费 |
|
||||
|------|---------|------|
|
||||
| 🌱 扶持期 | < ¥10 万 | **申请即可免费授权** |
|
||||
| 🚀 初创期 | ¥10–50 万 | ¥5,000/年 |
|
||||
| 📈 成长期 | ¥50–150 万 | ¥20,000/年 |
|
||||
| 🏢 规模期 | ¥150–500 万 | ¥80,000/年 |
|
||||
| 🌐 企业级 | > ¥500 万 | 面议 |
|
||||
|
||||
> **不追溯条款**:v1.0.8 发布前基于 AGPL-3.0 使用的用户,继续按 AGPL-3.0 执行,不受本协议变更约束。
|
||||
|
||||
完整协议详见 [LICENSE](./LICENSE) 文件。
|
||||
|
||||
---
|
||||
|
||||
@ -565,13 +579,14 @@ Toonflow 基于 AGPL-3.0 协议开源发布,许可证详情:https://www.gnu.
|
||||
感谢以下开源项目为 Toonflow 提供强大支持:
|
||||
|
||||
- [Express](https://expressjs.com/) - 快速、开放、极简的 Node.js Web 框架
|
||||
- [AI](https://ai-sdk.dev/) - 面向 TypeScript 的 AI 工具包
|
||||
- [AI SDK](https://ai-sdk.dev/) - 面向 TypeScript 的 AI 工具包
|
||||
- [Better-SQLite3](https://github.com/WiseLibs/better-sqlite3) - 高性能 SQLite3 绑定库
|
||||
- [Sharp](https://sharp.pixelplumbing.com/) - 高性能 Node.js 图像处理库
|
||||
- [Axios](https://axios-http.com/) - 基于 Promise 的 HTTP 客户端
|
||||
- [Zod](https://zod.dev/) - TypeScript 优先的模式验证库
|
||||
- [Aigne](https://github.com/aigne-com/aigne) - LLM API 统一管理与接入中间件
|
||||
- [Socket.IO](https://socket.io/) - 实时双向事件通信引擎
|
||||
- [Electron](https://www.electronjs.org/) - 跨平台桌面应用开发框架
|
||||
- [Hugging Face Transformers](https://huggingface.co/docs/transformers.js) - 本地 ML 推理库
|
||||
|
||||
感谢以下组织/单位/个人为 Toonflow 提供支持:
|
||||
|
||||
@ -589,4 +604,8 @@ Toonflow 基于 AGPL-3.0 协议开源发布,许可证详情:https://www.gnu.
|
||||
|
||||
完整的第三方依赖清单请查阅 `NOTICES.txt`
|
||||
|
||||
<<<<<<< HEAD
|
||||
##### copyright © 淮北艾阿网络科技有限公司
|
||||
=======
|
||||
##### copyright © 淮北艾阿网络科技有限公司
|
||||
>>>>>>> 108
|
||||
|
||||
@ -1,36 +0,0 @@
|
||||
import { ChatOpenAI, ChatOpenAIFields } from "@langchain/openai";
|
||||
|
||||
export const openAI = (config: ChatOpenAIFields = {}) => {
|
||||
return new ChatOpenAI({
|
||||
modelName: "gpt-4.1",
|
||||
temperature: 1,
|
||||
configuration: {
|
||||
apiKey: process.env.AI_OPENAI_KEY,
|
||||
baseURL: process.env.AI_OPENAI_URL,
|
||||
},
|
||||
...config,
|
||||
});
|
||||
};
|
||||
|
||||
export const doubao = (config: ChatOpenAIFields = {}) => {
|
||||
return new ChatOpenAI({
|
||||
model: "doubao-seed-1-6-flash-250828",
|
||||
temperature: 1,
|
||||
configuration: {
|
||||
apiKey: process.env.AI_TIKTOK_KEY,
|
||||
baseURL: process.env.AI_TIKTOK_URL,
|
||||
},
|
||||
...config,
|
||||
});
|
||||
};
|
||||
|
||||
export const deepseek = (config: ChatOpenAIFields = {}) =>
|
||||
new ChatOpenAI({
|
||||
model: "DeepSeek-V3.2",
|
||||
temperature: 1,
|
||||
configuration: {
|
||||
apiKey: process.env.AI_DEEPSEEK_KEY,
|
||||
baseURL: process.env.AI_DEEPSEEK_URL,
|
||||
},
|
||||
...config,
|
||||
});
|
||||
@ -1,769 +0,0 @@
|
||||
// @/agents/outlineScript.ts
|
||||
import u from "@/utils";
|
||||
import { createAgent } from "langchain";
|
||||
import { EventEmitter } from "events";
|
||||
import { openAI } from "@/agents/models";
|
||||
import { z } from "zod";
|
||||
import { tool } from "@langchain/core/tools";
|
||||
import type { DB } from "@/types/database";
|
||||
// ==================== 类型定义 ====================
|
||||
|
||||
type AgentType = "AI1" | "AI2" | "director";
|
||||
type AssetType = "角色" | "道具" | "场景";
|
||||
type RefreshEvent = "storyline" | "outline" | "assets";
|
||||
|
||||
interface AssetItem {
|
||||
name: string;
|
||||
description: string;
|
||||
}
|
||||
|
||||
interface EpisodeData {
|
||||
episodeIndex: number;
|
||||
title: string;
|
||||
chapterRange: number[];
|
||||
scenes: AssetItem[]; // 按 outline 出场顺序排列
|
||||
characters: AssetItem[]; // 按 outline 出场顺序排列
|
||||
props: AssetItem[]; // 按 outline 出场顺序排列
|
||||
coreConflict: string;
|
||||
outline: string; // 最高优先级,剧本生成的唯一权威
|
||||
openingHook: string; // outline 第一句话的视觉化,开篇第一个镜头
|
||||
keyEvents: string[]; // 4个元素:[起, 承, 转, 合],严格按 outline 顺序
|
||||
emotionalCurve: string; // 对应 keyEvents 各阶段
|
||||
visualHighlights: string[]; // 按 outline 顺序排列的标志性镜头
|
||||
endingHook: string; // outline 之后的悬念延伸
|
||||
classicQuotes: string[];
|
||||
}
|
||||
|
||||
// ==================== Schema 定义 ====================
|
||||
|
||||
const sceneItemSchema = z.object({
|
||||
name: z.string().describe("场景名称,如'五星酒店宴会厅'、'老旧出租屋'"),
|
||||
description: z.string().describe("环境描写:空间结构、光线氛围、装饰陈设、环境细节"),
|
||||
});
|
||||
|
||||
const characterItemSchema = z.object({
|
||||
name: z.string().describe("角色姓名(必须是具体人名,禁止'众人'、'群众'等集合描述)"),
|
||||
description: z.string().describe("人设样貌:年龄体态、五官特征、发型妆容、服装配饰、气质神态"),
|
||||
});
|
||||
|
||||
const propItemSchema = z.object({
|
||||
name: z.string().describe("道具名称"),
|
||||
description: z.string().describe("样式描写:材质质感、颜色图案、形状尺寸、磨损痕迹、特殊标记"),
|
||||
});
|
||||
|
||||
const episodeSchema = z.object({
|
||||
episodeIndex: z.number().describe("集数索引,从1开始递增"),
|
||||
title: z.string().describe("8字内标题,疑问/感叹句,含情绪爆点"),
|
||||
chapterRange: z.array(z.number()).describe("关联章节号数组"),
|
||||
scenes: z.array(sceneItemSchema).describe("场景列表,按 outline 出场顺序排列"),
|
||||
characters: z.array(characterItemSchema).describe("角色列表,按 outline 出场顺序排列,必须是独立个体"),
|
||||
props: z.array(propItemSchema).describe("道具列表,按 outline 出场顺序排列,至少3个"),
|
||||
coreConflict: z.string().describe("核心矛盾:A想要X vs B阻碍X"),
|
||||
outline: z.string().describe("100-300字剧情主干,最高优先级,剧本生成的唯一权威,按时间顺序完整叙述"),
|
||||
openingHook: z.string().describe("开场镜头:outline 第一句话的视觉化,必须作为剧本第一个镜头"),
|
||||
keyEvents: z.array(z.string()).length(4).describe("4个元素的数组:[起, 承, 转, 合],严格按 outline 顺序从中提取"),
|
||||
emotionalCurve: z.string().describe("情绪曲线,如:2(压抑)→5(反抗)→9(爆发)→3(余波),对应 keyEvents 各阶段"),
|
||||
visualHighlights: z.array(z.string()).describe("3-5个标志性镜头,按 outline 叙事顺序排列"),
|
||||
endingHook: z.string().describe("结尾悬念:outline 之后的延伸,勾引下集"),
|
||||
classicQuotes: z.array(z.string()).describe("1-2句金句,每句≤15字,必须从原文提取"),
|
||||
});
|
||||
|
||||
// ==================== 常量配置 ====================
|
||||
|
||||
// ==================== 主类 ====================
|
||||
|
||||
export default class OutlineScript {
|
||||
private readonly projectId: number;
|
||||
readonly emitter = new EventEmitter();
|
||||
history: Array<[string, string]> = [];
|
||||
novelChapters: DB["t_novel"][] = [];
|
||||
|
||||
modelName = "gpt-4.1";
|
||||
apiKey = "";
|
||||
baseURL = "";
|
||||
|
||||
constructor(projectId: number) {
|
||||
this.projectId = projectId;
|
||||
}
|
||||
|
||||
// ==================== 公共方法 ====================
|
||||
|
||||
get events() {
|
||||
return this.emitter;
|
||||
}
|
||||
|
||||
setNovel(chapters: DB["t_novel"][]) {
|
||||
this.novelChapters = chapters;
|
||||
}
|
||||
|
||||
// ==================== 私有工具方法 ====================
|
||||
|
||||
private emit(event: string, data?: any) {
|
||||
this.emitter.emit(event, data);
|
||||
}
|
||||
|
||||
private refresh(type: RefreshEvent) {
|
||||
this.emit("refresh", type);
|
||||
}
|
||||
|
||||
private log(action: string, detail?: string) {
|
||||
const msg = detail ? `${action}: ${detail}` : action;
|
||||
console.log(`\n[${new Date().toLocaleTimeString()}] ${msg}\n`);
|
||||
}
|
||||
|
||||
private safeParseJson<T>(str: string, fallback: T): T {
|
||||
try {
|
||||
return JSON.parse(str);
|
||||
} catch {
|
||||
return fallback;
|
||||
}
|
||||
}
|
||||
|
||||
private uniqueByName<T extends { name: string }>(items: T[]): T[] {
|
||||
return Array.from(new Map(items.map((item) => [item.name, item])).values());
|
||||
}
|
||||
|
||||
// ==================== 数据库操作 ====================
|
||||
|
||||
private async getProjectInfo(): Promise<any> {
|
||||
return u.db("t_project").where({ id: this.projectId }).first();
|
||||
}
|
||||
|
||||
private async getNovelInfo(asString = false): Promise<any> {
|
||||
const info = await this.getProjectInfo();
|
||||
if (!info) return asString ? "未查询到项目信息" : null;
|
||||
|
||||
if (asString) {
|
||||
const fields = [
|
||||
`小说名称: ${info.name}`,
|
||||
`小说简介: ${info.intro}`,
|
||||
`小说类型: ${info.type}`,
|
||||
`目标短剧类型: ${info.artStyle}`,
|
||||
`短剧画幅: ${info.videoRatio}`,
|
||||
];
|
||||
return fields.join("\n");
|
||||
}
|
||||
return info;
|
||||
}
|
||||
|
||||
// ==================== 故事线操作 ====================
|
||||
|
||||
private async findStoryline() {
|
||||
return u.db("t_storyline").where({ projectId: this.projectId }).first();
|
||||
}
|
||||
|
||||
private async upsertStorylineContent(content: string) {
|
||||
const existing = await this.findStoryline();
|
||||
if (existing) {
|
||||
await u.db("t_storyline").where({ projectId: this.projectId }).update({ content });
|
||||
} else {
|
||||
await u.db("t_storyline").insert({ projectId: this.projectId, content });
|
||||
}
|
||||
this.refresh("storyline");
|
||||
}
|
||||
|
||||
private async deleteStorylineContent() {
|
||||
const deleted = await u.db("t_storyline").where({ projectId: this.projectId }).del();
|
||||
this.refresh("storyline");
|
||||
return deleted;
|
||||
}
|
||||
|
||||
// ==================== 大纲操作 ====================
|
||||
|
||||
private async findOutlines() {
|
||||
return u.db("t_outline").where({ projectId: this.projectId }).orderBy("episode", "asc");
|
||||
}
|
||||
|
||||
private async findOutlineById(id: number) {
|
||||
return u.db("t_outline").where({ id, projectId: this.projectId }).first();
|
||||
}
|
||||
|
||||
private async getMaxEpisode(): Promise<number> {
|
||||
const result: any = await u.db("t_outline").where({ projectId: this.projectId }).max("episode as max").first();
|
||||
return result?.max ?? 0;
|
||||
}
|
||||
|
||||
private async clearOutlinesAndScripts() {
|
||||
const outlines = await u.db("t_outline").select("id").where({ projectId: this.projectId });
|
||||
if (outlines.length === 0) return 0;
|
||||
|
||||
const outlineIds = outlines.map((o) => o.id);
|
||||
await u.db("t_script").whereIn("outlineId", outlineIds).del();
|
||||
await u.db("t_outline").where({ projectId: this.projectId }).del();
|
||||
|
||||
return outlines.length;
|
||||
}
|
||||
|
||||
private async insertOutlines(episodes: EpisodeData[], startEpisode: number) {
|
||||
const insertList = episodes.map((ep, idx) => ({
|
||||
projectId: this.projectId,
|
||||
data: JSON.stringify({ ...ep, episodeIndex: startEpisode + idx }),
|
||||
episode: startEpisode + idx,
|
||||
}));
|
||||
|
||||
await u.db("t_outline").insert(insertList);
|
||||
return insertList.length;
|
||||
}
|
||||
|
||||
private async createEmptyScripts(outlineIds: Array<{ id: number; data: string }>) {
|
||||
const scripts = outlineIds.map((item) => {
|
||||
const data = this.safeParseJson<Partial<EpisodeData>>(item.data, {});
|
||||
return {
|
||||
name: `第${data.episodeIndex ?? ""}集`,
|
||||
content: "",
|
||||
projectId: this.projectId,
|
||||
outlineId: item.id,
|
||||
};
|
||||
});
|
||||
|
||||
if (scripts.length > 0) {
|
||||
await u.db("t_script").insert(scripts);
|
||||
}
|
||||
return scripts.length;
|
||||
}
|
||||
|
||||
private async saveOutlineData(episodes: EpisodeData[], overwrite: boolean, startEpisode?: number) {
|
||||
if (overwrite) {
|
||||
const cleared = await this.clearOutlinesAndScripts();
|
||||
if (cleared > 0) {
|
||||
this.log("清理旧数据", `删除了 ${cleared} 条大纲及关联剧本`);
|
||||
}
|
||||
}
|
||||
|
||||
const actualStart = overwrite ? 1 : startEpisode ?? (await this.getMaxEpisode()) + 1;
|
||||
const insertedCount = await this.insertOutlines(episodes, actualStart);
|
||||
|
||||
const newOutlines = await u
|
||||
.db("t_outline")
|
||||
.select("id", "data")
|
||||
.where({ projectId: this.projectId })
|
||||
.orderBy("episode", "desc")
|
||||
.limit(insertedCount);
|
||||
|
||||
const scriptCount = await this.createEmptyScripts(newOutlines as Array<{ id: number; data: string }>);
|
||||
|
||||
this.refresh("outline");
|
||||
return { insertedCount, scriptCount };
|
||||
}
|
||||
|
||||
private async updateOutlineData(id: number, data: EpisodeData) {
|
||||
const existing = await this.findOutlineById(id);
|
||||
if (!existing) return false;
|
||||
|
||||
await u
|
||||
.db("t_outline")
|
||||
.where({ id })
|
||||
.update({ data: JSON.stringify(data) });
|
||||
this.refresh("outline");
|
||||
return true;
|
||||
}
|
||||
|
||||
private async deleteOutlineData(ids: number[]) {
|
||||
const results = await Promise.allSettled(ids.map((id) => u.deleteOutline(id, this.projectId)));
|
||||
this.refresh("outline");
|
||||
return results;
|
||||
}
|
||||
|
||||
private formatOutlineDetail(ep: any): string {
|
||||
const formatList = (items: any[], formatter: (item: any) => string) =>
|
||||
items?.map((item, i) => ` ${i + 1}. ${formatter(item)}`).join("\n") || " 无";
|
||||
|
||||
// keyEvents 按顺序显示:起、承、转、合
|
||||
const keyEventsLabels = ["起", "承", "转", "合"];
|
||||
const formatKeyEvents = (events: string[]) => events?.map((e, i) => ` 【${keyEventsLabels[i] || i + 1}】${e}`).join("\n") || " 无";
|
||||
|
||||
return `
|
||||
大纲ID: ${ep.id}
|
||||
第 ${ep.episodeIndex} 集: ${ep.title || ""}
|
||||
${"=".repeat(50)}
|
||||
章节范围: ${ep.chapterRange?.join(", ") || ""}
|
||||
核心矛盾: ${ep.coreConflict || ""}
|
||||
|
||||
【剧情主干】(最高优先级,剧本生成的唯一权威):
|
||||
${ep.outline || "无"}
|
||||
|
||||
【开场镜头】(必须作为剧本第一个镜头):
|
||||
${ep.openingHook || "无"}
|
||||
|
||||
【剧情节点】(严格按顺序:起→承→转→合):
|
||||
${formatKeyEvents(ep.keyEvents)}
|
||||
|
||||
情绪曲线: ${ep.emotionalCurve || ""}
|
||||
|
||||
【视觉重点】(按剧情主干顺序排列):
|
||||
${formatList(ep.visualHighlights, (v) => v)}
|
||||
|
||||
【结尾悬念】:
|
||||
${ep.endingHook || "无"}
|
||||
|
||||
【经典台词】:
|
||||
${formatList(ep.classicQuotes, (q) => q)}
|
||||
|
||||
角色(按出场顺序): ${ep.characters?.map((c: AssetItem) => `${c.name}(${c.description})`).join("; ") || "无"}
|
||||
场景(按出场顺序): ${ep.scenes?.map((s: AssetItem) => `${s.name}(${s.description})`).join("; ") || "无"}
|
||||
道具(按出场顺序): ${ep.props?.map((p: AssetItem) => `${p.name}(${p.description})`).join("; ") || "无"}`;
|
||||
}
|
||||
|
||||
private async getOutlineText(simplified: boolean): Promise<string> {
|
||||
const records = await this.findOutlines();
|
||||
|
||||
if (!records.length) return "当前项目暂无大纲";
|
||||
|
||||
const episodes = records.map((r) => ({
|
||||
id: r.id,
|
||||
episode: r.episode,
|
||||
...this.safeParseJson<Partial<EpisodeData>>(r.data ?? "{}", {}),
|
||||
}));
|
||||
|
||||
if (simplified) {
|
||||
const list = episodes.map((ep) => `第 ${ep.episodeIndex ?? ep.episode} 集 (id=${ep.id})`).join("\n");
|
||||
return `项目大纲 (共 ${episodes.length} 集):\n${list}`;
|
||||
}
|
||||
|
||||
const details = episodes.map((ep) => this.formatOutlineDetail(ep)).join("\n");
|
||||
return `项目大纲 (共 ${episodes.length} 集)\n\n${details}`;
|
||||
}
|
||||
|
||||
// ==================== 资产操作 ====================
|
||||
|
||||
private async findAssetByTypeAndName(type: AssetType, name: string) {
|
||||
return u.db("t_assets").where({ projectId: this.projectId, type, name }).first();
|
||||
}
|
||||
|
||||
private async upsertAsset(type: AssetType, item: AssetItem): Promise<"inserted" | "updated" | "skipped"> {
|
||||
const existing = await this.findAssetByTypeAndName(type, item.name);
|
||||
|
||||
if (!existing) {
|
||||
await u.db("t_assets").insert({
|
||||
projectId: this.projectId,
|
||||
type,
|
||||
name: item.name,
|
||||
intro: item.description,
|
||||
prompt: item.description,
|
||||
});
|
||||
return "inserted";
|
||||
}
|
||||
|
||||
if (existing.intro !== item.description) {
|
||||
await u.db("t_assets").where({ id: existing.id }).update({
|
||||
intro: item.description,
|
||||
prompt: item.description,
|
||||
});
|
||||
return "updated";
|
||||
}
|
||||
|
||||
return "skipped";
|
||||
}
|
||||
|
||||
private extractAssetsFromOutlines(outlines: Array<{ data?: string | null | undefined }>): {
|
||||
characters: AssetItem[];
|
||||
props: AssetItem[];
|
||||
scenes: AssetItem[];
|
||||
} {
|
||||
const result = { characters: [] as AssetItem[], props: [] as AssetItem[], scenes: [] as AssetItem[] };
|
||||
|
||||
for (const outline of outlines) {
|
||||
const data = this.safeParseJson<Partial<EpisodeData>>(outline.data ?? "{}", {});
|
||||
if (data.characters) result.characters.push(...data.characters);
|
||||
if (data.props) result.props.push(...data.props);
|
||||
if (data.scenes) result.scenes.push(...data.scenes);
|
||||
}
|
||||
|
||||
return {
|
||||
characters: this.uniqueByName(result.characters),
|
||||
props: this.uniqueByName(result.props),
|
||||
scenes: this.uniqueByName(result.scenes),
|
||||
};
|
||||
}
|
||||
|
||||
private async generateAssetsFromOutlines() {
|
||||
const outlines = await u.db("t_outline").select("data").where({ projectId: this.projectId });
|
||||
|
||||
if (!outlines.length) return { inserted: 0, updated: 0, skipped: 0 };
|
||||
|
||||
const { characters, props, scenes } = this.extractAssetsFromOutlines(outlines);
|
||||
|
||||
// 只做新增和更新,不做删除
|
||||
const stats = { inserted: 0, updated: 0, skipped: 0 };
|
||||
|
||||
const processItems = async (items: AssetItem[], type: AssetType) => {
|
||||
for (const item of items) {
|
||||
const result = await this.upsertAsset(type, item);
|
||||
stats[result]++;
|
||||
}
|
||||
};
|
||||
|
||||
await processItems(characters, "角色");
|
||||
await processItems(props, "道具");
|
||||
await processItems(scenes, "场景");
|
||||
|
||||
this.refresh("assets");
|
||||
return { ...stats };
|
||||
}
|
||||
|
||||
// ==================== Tool 定义:故事线 ====================
|
||||
|
||||
getStoryline = tool(
|
||||
async () => {
|
||||
this.log("获取故事线");
|
||||
const storyline = await this.findStoryline();
|
||||
return storyline?.content ?? "当前项目暂无故事线";
|
||||
},
|
||||
{
|
||||
name: "getStoryline",
|
||||
description: "获取当前项目的故事线内容",
|
||||
schema: z.object({}),
|
||||
verboseParsingErrors: true,
|
||||
},
|
||||
);
|
||||
|
||||
saveStoryline = tool(
|
||||
async ({ content }) => {
|
||||
this.log("保存故事线");
|
||||
await this.upsertStorylineContent(content);
|
||||
return "故事线保存成功";
|
||||
},
|
||||
{
|
||||
name: "saveStoryline",
|
||||
description: "保存或更新当前项目的故事线,会覆盖已有内容",
|
||||
schema: z.object({
|
||||
content: z.string().describe("故事线完整内容"),
|
||||
}),
|
||||
verboseParsingErrors: true,
|
||||
},
|
||||
);
|
||||
|
||||
deleteStoryline = tool(
|
||||
async () => {
|
||||
this.log("删除故事线");
|
||||
const deleted = await this.deleteStorylineContent();
|
||||
return deleted > 0 ? "故事线删除成功" : "当前项目没有故事线";
|
||||
},
|
||||
{
|
||||
name: "deleteStoryline",
|
||||
description: "删除当前项目的故事线",
|
||||
schema: z.object({}),
|
||||
verboseParsingErrors: true,
|
||||
},
|
||||
);
|
||||
|
||||
// ==================== Tool 定义:大纲 ====================
|
||||
|
||||
getOutline = tool(
|
||||
async ({ simplified = false }) => {
|
||||
this.log("获取大纲", `简化模式: ${simplified}`);
|
||||
return this.getOutlineText(simplified);
|
||||
},
|
||||
{
|
||||
name: "getOutline",
|
||||
description: "获取项目大纲。simplified=true返回简化列表,false返回完整内容",
|
||||
schema: z.object({
|
||||
simplified: z.boolean().default(false).describe("是否返回简化版本"),
|
||||
}),
|
||||
verboseParsingErrors: true,
|
||||
},
|
||||
);
|
||||
|
||||
saveOutline = tool(
|
||||
async ({ episodes, overwrite = true, startEpisode }) => {
|
||||
this.log("保存大纲", `覆盖模式: ${overwrite}, 集数: ${episodes.length}`);
|
||||
const { insertedCount, scriptCount } = await this.saveOutlineData(episodes as EpisodeData[], overwrite, startEpisode);
|
||||
return `大纲保存成功:插入 ${insertedCount} 集大纲,创建 ${scriptCount} 个剧本记录`;
|
||||
},
|
||||
{
|
||||
name: "saveOutline",
|
||||
description: "保存大纲数据。overwrite=true会清空现有大纲后写入,false则追加到末尾",
|
||||
schema: z.object({
|
||||
episodes: z.array(episodeSchema).min(1).describe("大纲数据数组"),
|
||||
overwrite: z.boolean().default(true).describe("是否覆盖现有大纲"),
|
||||
startEpisode: z.number().optional().describe("追加模式下的起始集数(不填则自动递增)"),
|
||||
}),
|
||||
verboseParsingErrors: true,
|
||||
},
|
||||
);
|
||||
|
||||
updateOutline = tool(
|
||||
async ({ id, data }) => {
|
||||
this.log("更新大纲", `ID: ${id}`);
|
||||
const success = await this.updateOutlineData(id, data as EpisodeData);
|
||||
return success ? `大纲ID ${id} 更新成功` : `未找到大纲ID: ${id}`;
|
||||
},
|
||||
{
|
||||
name: "updateOutline",
|
||||
description: "更新指定ID的单集大纲内容",
|
||||
schema: z.object({
|
||||
id: z.number().describe("大纲ID"),
|
||||
data: episodeSchema.describe("更新后的大纲数据"),
|
||||
}),
|
||||
verboseParsingErrors: true,
|
||||
},
|
||||
);
|
||||
|
||||
deleteOutline = tool(
|
||||
async ({ ids }) => {
|
||||
this.log("删除大纲", `IDs: ${ids.join(", ")}`);
|
||||
const results = await this.deleteOutlineData(ids);
|
||||
const summary = results.map((r, i) => `ID ${ids[i]}: ${r.status === "fulfilled" ? "成功" : "失败"}`).join(", ");
|
||||
return `删除结果: ${summary}`;
|
||||
},
|
||||
{
|
||||
name: "deleteOutline",
|
||||
description: "根据大纲ID删除指定大纲及关联数据",
|
||||
schema: z.object({
|
||||
ids: z.array(z.number()).min(1).describe("要删除的大纲ID数组"),
|
||||
}),
|
||||
verboseParsingErrors: true,
|
||||
},
|
||||
);
|
||||
|
||||
// ==================== Tool 定义:章节 ====================
|
||||
|
||||
getChapter = tool(
|
||||
async ({ chapterNumbers }) => {
|
||||
this.log("获取章节", `章节号: ${chapterNumbers.join(", ")}`);
|
||||
|
||||
const results = await Promise.all(
|
||||
chapterNumbers.map(async (num) => {
|
||||
const chapter = await u
|
||||
.db("t_novel")
|
||||
.where({ projectId: this.projectId, chapterIndex: num })
|
||||
.select("chapterData", "chapterIndex", "chapter")
|
||||
.first();
|
||||
|
||||
if (chapter) {
|
||||
return `\n【第${chapter.chapterIndex}章 ${chapter.chapter || ""}】\n${chapter.chapterData}`;
|
||||
}
|
||||
return `\n【第${num}章】未找到`;
|
||||
}),
|
||||
);
|
||||
|
||||
return results.join("\n\n---\n");
|
||||
},
|
||||
{
|
||||
name: "getChapter",
|
||||
description: "根据章节编号获取小说章节的完整原文内容,支持批量获取",
|
||||
schema: z.object({
|
||||
chapterNumbers: z.array(z.number()).min(1).describe("章节编号数组"),
|
||||
}),
|
||||
verboseParsingErrors: true,
|
||||
},
|
||||
);
|
||||
|
||||
// ==================== Tool 定义:资产 ====================
|
||||
|
||||
generateAssets = tool(
|
||||
async () => {
|
||||
this.log("生成资产");
|
||||
const stats = await this.generateAssetsFromOutlines();
|
||||
|
||||
if (stats.inserted === 0 && stats.updated === 0 && stats.skipped === 0) {
|
||||
return "当前项目没有大纲数据,无法生成资产";
|
||||
}
|
||||
|
||||
return `资产生成完成:新增 ${stats.inserted},更新 ${stats.updated},保持 ${stats.skipped}`;
|
||||
},
|
||||
{
|
||||
name: "generateAssets",
|
||||
description: "从当前项目的所有大纲中提取并生成角色、道具、场景资产,自动去重并清理冗余",
|
||||
schema: z.object({}),
|
||||
verboseParsingErrors: true,
|
||||
},
|
||||
);
|
||||
|
||||
// ==================== 上下文构建 ====================
|
||||
|
||||
private getChapterContext(): string {
|
||||
if (!this.novelChapters.length) return "无章节数据";
|
||||
return this.novelChapters.map((c) => `章节号:${c.chapterIndex},分卷:${c.reel},章节名:${c.chapter}`).join("\n");
|
||||
}
|
||||
|
||||
private async buildEnvironmentContext(): Promise<string> {
|
||||
const [novelInfo, storyline, outlineCount] = await Promise.all([
|
||||
this.getNovelInfo(true),
|
||||
this.findStoryline(),
|
||||
u.db("t_outline").where({ projectId: this.projectId }).count("id as count").first() as any,
|
||||
]);
|
||||
|
||||
return `<环境信息>
|
||||
项目ID: ${this.projectId}
|
||||
系统时间: ${new Date().toLocaleString()}
|
||||
|
||||
${novelInfo}
|
||||
|
||||
已加载章节列表:
|
||||
${this.getChapterContext()}
|
||||
|
||||
故事线状态: ${storyline ? "已生成" : "未生成"}
|
||||
大纲状态: 共 ${outlineCount?.count ?? 0} 集
|
||||
|
||||
可用工具:
|
||||
- getChapter: 获取章节原文
|
||||
- getStoryline/saveStoryline/deleteStoryline: 故事线操作
|
||||
- getOutline/saveOutline/updateOutline/deleteOutline: 大纲操作
|
||||
- generateAssets: 从大纲生成资产
|
||||
</环境信息>`;
|
||||
}
|
||||
|
||||
private buildConversationHistory(): string {
|
||||
if (!this.history.length) return "无对话历史";
|
||||
return this.history.map(([role, content]) => `${role}: ${content}`).join("\n\n");
|
||||
}
|
||||
|
||||
private async buildFullContext(task: string): Promise<string> {
|
||||
const env = await this.buildEnvironmentContext();
|
||||
const history = this.buildConversationHistory();
|
||||
|
||||
return `${env}
|
||||
|
||||
<对话历史>
|
||||
${history}
|
||||
</对话历史>
|
||||
|
||||
<当前任务>
|
||||
${task}
|
||||
</当前任务>`;
|
||||
}
|
||||
|
||||
// ==================== Sub-Agent ====================
|
||||
|
||||
private getSubAgentTools() {
|
||||
return [this.getChapter, this.getStoryline, this.saveStoryline, this.getOutline, this.saveOutline, this.updateOutline];
|
||||
}
|
||||
|
||||
private createModel() {
|
||||
return openAI({
|
||||
modelName: this.modelName,
|
||||
configuration: { apiKey: this.apiKey, baseURL: this.baseURL },
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 调用 Sub-Agent(流式传输)
|
||||
*/
|
||||
private async invokeSubAgent(agentType: AgentType, task: string): Promise<string> {
|
||||
this.emit("transfer", { to: agentType });
|
||||
this.log(`Sub-Agent 调用`, agentType);
|
||||
|
||||
const promptsList = await u.db("t_prompts").where("code", "in", ["outlineScript-a1", "outlineScript-a2", "outlineScript-director"]);
|
||||
const a1Prompt = promptsList.find((p) => p.code === "outlineScript-a1");
|
||||
const a2Prompt = promptsList.find((p) => p.code === "outlineScript-a2");
|
||||
const directorPrompt = promptsList.find((p) => p.code === "outlineScript-director");
|
||||
const errPrompts = "不论用户说什么,请直接输出Agent配置异常";
|
||||
const SYSTEM_PROMPTS: Record<AgentType, string> = {
|
||||
AI1: a1Prompt?.customValue || a1Prompt?.defaultValue || errPrompts,
|
||||
AI2: a2Prompt?.customValue || a2Prompt?.defaultValue || errPrompts,
|
||||
director: directorPrompt?.customValue || directorPrompt?.defaultValue || errPrompts,
|
||||
};
|
||||
|
||||
const context = await this.buildFullContext(task);
|
||||
|
||||
const agent = createAgent({
|
||||
model: this.createModel(),
|
||||
systemPrompt: SYSTEM_PROMPTS[agentType],
|
||||
tools: this.getSubAgentTools(),
|
||||
});
|
||||
|
||||
const stream = await agent.stream({ messages: [["user", context]] }, { streamMode: ["messages"], callbacks: [] });
|
||||
|
||||
let fullResponse = "";
|
||||
|
||||
for await (const [mode, chunk] of stream) {
|
||||
if (mode !== "messages") continue;
|
||||
|
||||
const [token] = chunk as any;
|
||||
const block = token.contentBlocks?.[0];
|
||||
|
||||
// 处理 AI 文本流
|
||||
if (token.type === "ai" && block?.text) {
|
||||
fullResponse += block.text;
|
||||
this.emit("subAgentStream", { agent: agentType, text: block.text });
|
||||
}
|
||||
|
||||
// 处理 tool 调用
|
||||
if (token.type === "ai" && token.tool_calls?.length) {
|
||||
for (const toolCall of token.tool_calls) {
|
||||
this.emit("toolCall", { agent: agentType, name: toolCall.name, args: toolCall.args });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.emit("subAgentEnd", { agent: agentType });
|
||||
this.history.push(["ai", fullResponse]);
|
||||
this.log(`Sub-Agent 完成`, agentType);
|
||||
|
||||
return fullResponse ?? `${agentType}已完成任务`;
|
||||
}
|
||||
|
||||
private createSubAgentTool(agentType: AgentType, description: string) {
|
||||
return tool(async ({ taskDescription }) => this.invokeSubAgent(agentType, taskDescription), {
|
||||
name: agentType,
|
||||
description,
|
||||
schema: z.object({
|
||||
taskDescription: z.string().describe("具体的任务描述,包含章节范围、修改要求等详细信息"),
|
||||
}),
|
||||
});
|
||||
}
|
||||
|
||||
// ==================== 主入口 ====================
|
||||
|
||||
private getAllTools() {
|
||||
return [
|
||||
this.createSubAgentTool("AI1", "调用故事师。负责分析小说原文并生成故事线,会自行调用 saveStoryline 保存结果。"),
|
||||
this.createSubAgentTool("AI2", "调用大纲师。负责根据故事线生成剧集大纲,会自行调用 saveOutline 保存结果。"),
|
||||
this.createSubAgentTool("director", "调用导演。负责审核故事线和大纲,会自行调用 updateOutline 或 saveStoryline 进行修改。"),
|
||||
this.getChapter,
|
||||
this.getStoryline,
|
||||
this.saveStoryline,
|
||||
this.deleteStoryline,
|
||||
this.getOutline,
|
||||
this.saveOutline,
|
||||
this.updateOutline,
|
||||
this.deleteOutline,
|
||||
this.generateAssets,
|
||||
];
|
||||
}
|
||||
|
||||
async call(msg: string): Promise<string> {
|
||||
this.history.push(["user", msg]);
|
||||
|
||||
const envContext = await this.buildEnvironmentContext();
|
||||
|
||||
const prompts = await u.db("t_prompts").where("code", "outlineScript-main").first();
|
||||
|
||||
const mainPrompts = prompts?.customValue || prompts?.defaultValue || "不论用户说什么,请直接输出Agent配置异常";
|
||||
|
||||
const mainAgent = createAgent({
|
||||
model: this.createModel(),
|
||||
tools: this.getAllTools(),
|
||||
systemPrompt: `${envContext}\n${mainPrompts}`,
|
||||
});
|
||||
const stream = await mainAgent.stream({ messages: this.history }, { streamMode: ["messages"], callbacks: [] });
|
||||
|
||||
let fullResponse = "";
|
||||
|
||||
for await (const [mode, chunk] of stream) {
|
||||
if (mode !== "messages") continue;
|
||||
|
||||
const [token] = chunk as any;
|
||||
const block = token.contentBlocks?.[0];
|
||||
|
||||
// 处理 AI 文本流
|
||||
if (token.type === "ai" && block?.text) {
|
||||
fullResponse += block.text;
|
||||
this.emit("data", block.text);
|
||||
}
|
||||
|
||||
// 处理 tool 调用
|
||||
if (token.type === "ai" && token.tool_calls?.length) {
|
||||
for (const toolCall of token.tool_calls) {
|
||||
this.emit("toolCall", { agent: "main", name: toolCall.name, args: toolCall.args });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.history.push(["assistant", fullResponse]);
|
||||
this.emit("response", fullResponse);
|
||||
|
||||
return fullResponse;
|
||||
}
|
||||
}
|
||||
@ -1,128 +0,0 @@
|
||||
import u from "@/utils";
|
||||
|
||||
type AspectRatio = "16:9" | "9:16" | "21:9" | "1:1" | "4:3" | "3:4" | "3:2" | "2:3";
|
||||
|
||||
interface GridLayoutResult {
|
||||
cols: number;
|
||||
rows: number;
|
||||
totalCells: number;
|
||||
placeholderCount: number;
|
||||
}
|
||||
|
||||
interface GridPromptOptions {
|
||||
prompts: string[];
|
||||
style: string;
|
||||
aspectRatio: AspectRatio;
|
||||
assetsName: { name: string; intro: string }[];
|
||||
}
|
||||
|
||||
interface GridPromptResult {
|
||||
prompt: string;
|
||||
gridLayout: GridLayoutResult;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据prompts数量计算宫格布局
|
||||
*/
|
||||
function calculateGridLayout(count: number): GridLayoutResult {
|
||||
let cols: number;
|
||||
let rows: number;
|
||||
if (count <= 0) {
|
||||
cols = 1;
|
||||
rows = 1;
|
||||
} else if (count === 1) {
|
||||
cols = 1;
|
||||
rows = 1;
|
||||
} else if (count === 2) {
|
||||
cols = 2;
|
||||
rows = 1;
|
||||
} else if (count === 3) {
|
||||
cols = 3;
|
||||
rows = 1;
|
||||
} else if (count === 4) {
|
||||
cols = 2;
|
||||
rows = 2;
|
||||
} else if (count <= 9) {
|
||||
cols = 3;
|
||||
rows = 3;
|
||||
} else {
|
||||
cols = 3;
|
||||
rows = Math.ceil(count / 3);
|
||||
}
|
||||
const totalCells = cols * rows;
|
||||
const placeholderCount = totalCells - count;
|
||||
return { cols, rows, totalCells, placeholderCount };
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取宽高比描述
|
||||
*/
|
||||
function getAspectRatioDescription(aspectRatio: AspectRatio): string {
|
||||
const descriptions: Record<AspectRatio, string> = {
|
||||
"16:9": "电影宽银幕",
|
||||
"9:16": "竖屏短剧",
|
||||
"21:9": "超宽银幕史诗感",
|
||||
"1:1": "方形构图",
|
||||
"4:3": "经典银幕",
|
||||
"3:4": "竖版经典",
|
||||
"3:2": "摄影标准",
|
||||
"2:3": "竖版摄影",
|
||||
};
|
||||
return descriptions[aspectRatio] || "标准比例";
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成电影级宫格分镜提示词
|
||||
*/
|
||||
async function generateGridPrompt(options: GridPromptOptions): Promise<GridPromptResult> {
|
||||
const { prompts, style, aspectRatio, assetsName } = options;
|
||||
const layout = calculateGridLayout(prompts.length);
|
||||
const aspectRatioDesc = getAspectRatioDescription(aspectRatio);
|
||||
|
||||
// 构建宫格位置描述
|
||||
const gridPositions: string[] = [];
|
||||
for (let i = 0; i < layout.totalCells; i++) {
|
||||
const row = Math.floor(i / layout.cols) + 1;
|
||||
const col = (i % layout.cols) + 1;
|
||||
if (i < prompts.length) {
|
||||
gridPositions.push(`[第${row}行第${col}列]: ${prompts[i]}`);
|
||||
} else {
|
||||
gridPositions.push(`[第${row}行第${col}列]: 纯黑图`);
|
||||
}
|
||||
}
|
||||
|
||||
// 构建资产说明
|
||||
const assetsSection =
|
||||
assetsName.length > 0
|
||||
? `\n【可用资产】\n${assetsName.map((a) => `- ${a.name}:${a.intro}`).join("\n")}\n\n⚠️ 必须使用完整资产名称,禁止简称或代词。`
|
||||
: "";
|
||||
|
||||
const promptsData = await u.db("t_prompts").where("code", "generateImagePrompts").first();
|
||||
|
||||
const mainPrompts = promptsData?.customValue || promptsData?.defaultValue;
|
||||
const errData = `请输出${options.prompts.length}张图片\n提示词如下:\n${options.prompts.map((p, i) => `第${i + 1}格: ${p}`).join("\n")}`;
|
||||
|
||||
if (!mainPrompts) return { prompt: errData, gridLayout: layout };
|
||||
|
||||
const result = await u.ai.text.invoke({
|
||||
messages: [
|
||||
{
|
||||
role: "system",
|
||||
content: mainPrompts,
|
||||
},
|
||||
{
|
||||
role: "user",
|
||||
content: `请优化以下分镜提示词:\n\n【布局】${layout.cols}列×${layout.rows}行=${
|
||||
layout.totalCells
|
||||
}格\n【比例】${aspectRatio}(${aspectRatioDesc})\n【风格】${style}\n${assetsSection}\n\n【原始内容】\n${gridPositions.join("\n")}`,
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
return {
|
||||
prompt: result?.text ?? errData,
|
||||
gridLayout: layout,
|
||||
};
|
||||
}
|
||||
|
||||
export default generateGridPrompt;
|
||||
@ -1,334 +0,0 @@
|
||||
import generateImagePromptsTool from "@/agents/storyboard/generateImagePromptsTool";
|
||||
import u from "@/utils";
|
||||
import sharp from "sharp";
|
||||
import { z } from "zod";
|
||||
|
||||
interface AssetItem {
|
||||
name: string;
|
||||
description: string;
|
||||
}
|
||||
|
||||
interface EpisodeData {
|
||||
episodeIndex: number;
|
||||
title: string;
|
||||
chapterRange: number[];
|
||||
scenes: AssetItem[];
|
||||
characters: AssetItem[];
|
||||
props: AssetItem[];
|
||||
coreConflict: string;
|
||||
openingHook: string;
|
||||
outline: string;
|
||||
keyEvents: string[];
|
||||
emotionalCurve: string;
|
||||
visualHighlights: string[];
|
||||
endingHook: string;
|
||||
classicQuotes: string[];
|
||||
}
|
||||
|
||||
interface ImageInfo {
|
||||
name: string;
|
||||
type: string;
|
||||
filePath: string;
|
||||
}
|
||||
|
||||
interface ResourceItem {
|
||||
name: string;
|
||||
intro: string;
|
||||
}
|
||||
|
||||
// 资产过滤响应的 schema
|
||||
const filteredAssetsSchema = z.object({
|
||||
relevantAssets: z
|
||||
.array(
|
||||
z.object({
|
||||
name: z.string().describe("资产名称"),
|
||||
reason: z.string().describe("选择该资产的原因"),
|
||||
}),
|
||||
)
|
||||
.describe("与分镜内容相关的资产列表"),
|
||||
});
|
||||
|
||||
// 压缩图片直到不超过指定大小
|
||||
async function compressImage(buffer: Buffer, maxSizeBytes: number = 3 * 1024 * 1024): Promise<Buffer> {
|
||||
if (buffer.length <= maxSizeBytes) {
|
||||
return buffer;
|
||||
}
|
||||
let quality = 90;
|
||||
let compressedBuffer = await sharp(buffer).jpeg({ quality }).toBuffer();
|
||||
while (compressedBuffer.length > maxSizeBytes && quality > 10) {
|
||||
quality -= 10;
|
||||
compressedBuffer = await sharp(buffer).jpeg({ quality }).toBuffer();
|
||||
}
|
||||
if (compressedBuffer.length > maxSizeBytes) {
|
||||
const metadata = await sharp(buffer).metadata();
|
||||
let scale = 0.9;
|
||||
while (compressedBuffer.length > maxSizeBytes && scale > 0.1) {
|
||||
const newWidth = Math.round((metadata.width || 1000) * scale);
|
||||
const newHeight = Math.round((metadata.height || 1000) * scale);
|
||||
compressedBuffer = await sharp(buffer)
|
||||
.resize(newWidth, newHeight, { fit: "inside" })
|
||||
.jpeg({ quality: Math.max(quality, 30) })
|
||||
.toBuffer();
|
||||
scale -= 0.1;
|
||||
}
|
||||
}
|
||||
return compressedBuffer;
|
||||
}
|
||||
|
||||
// 拼接多张图片为一张
|
||||
async function mergeImages(imagePaths: string[]): Promise<Buffer> {
|
||||
const imageBuffers = await Promise.all(imagePaths.map((path) => u.oss.getFile(path)));
|
||||
const imageMetadatas = await Promise.all(imageBuffers.map((buffer) => sharp(buffer).metadata()));
|
||||
const maxHeight = Math.max(...imageMetadatas.map((m) => m.height || 0));
|
||||
const resizedImages = await Promise.all(
|
||||
imageBuffers.map(async (buffer, index) => {
|
||||
const metadata = imageMetadatas[index];
|
||||
const aspectRatio = (metadata.width || 1) / (metadata.height || 1);
|
||||
const newWidth = Math.round(maxHeight * aspectRatio);
|
||||
return {
|
||||
buffer: await sharp(buffer).resize(newWidth, maxHeight, { fit: "cover" }).toBuffer(),
|
||||
width: newWidth,
|
||||
};
|
||||
}),
|
||||
);
|
||||
let currentX = 0;
|
||||
const compositeInputs = resizedImages.map(({ buffer, width }) => {
|
||||
const input = {
|
||||
input: buffer,
|
||||
left: currentX,
|
||||
top: 0,
|
||||
};
|
||||
currentX += width;
|
||||
return input;
|
||||
});
|
||||
const mergedImage = await sharp({
|
||||
create: {
|
||||
width: currentX,
|
||||
height: maxHeight,
|
||||
channels: 4,
|
||||
background: { r: 255, g: 255, b: 255, alpha: 1 },
|
||||
},
|
||||
})
|
||||
.composite(compositeInputs)
|
||||
.jpeg({ quality: 90 })
|
||||
.toBuffer();
|
||||
return compressImage(mergedImage);
|
||||
}
|
||||
|
||||
// 进一步压缩单张图片到指定大小
|
||||
async function compressToSize(buffer: Buffer, targetSize: number): Promise<Buffer> {
|
||||
if (buffer.length <= targetSize) {
|
||||
return buffer;
|
||||
}
|
||||
|
||||
const metadata = await sharp(buffer).metadata();
|
||||
let quality = 80;
|
||||
let scale = 1.0;
|
||||
let compressedBuffer = buffer;
|
||||
|
||||
// 先尝试降低质量
|
||||
while (compressedBuffer.length > targetSize && quality > 10) {
|
||||
compressedBuffer = await sharp(buffer).jpeg({ quality }).toBuffer();
|
||||
quality -= 10;
|
||||
}
|
||||
|
||||
// 如果还是太大,缩小尺寸
|
||||
while (compressedBuffer.length > targetSize && scale > 0.2) {
|
||||
scale -= 0.1;
|
||||
const newWidth = Math.round((metadata.width || 1000) * scale);
|
||||
const newHeight = Math.round((metadata.height || 1000) * scale);
|
||||
compressedBuffer = await sharp(buffer)
|
||||
.resize(newWidth, newHeight, { fit: "inside" })
|
||||
.jpeg({ quality: Math.max(quality, 20) })
|
||||
.toBuffer();
|
||||
}
|
||||
|
||||
return compressedBuffer;
|
||||
}
|
||||
|
||||
// 确保图片列表总大小不超过指定限制
|
||||
async function ensureTotalSizeLimit(buffers: Buffer[], maxTotalBytes: number = 10 * 1024 * 1024): Promise<Buffer[]> {
|
||||
let totalSize = buffers.reduce((sum, buf) => sum + buf.length, 0);
|
||||
|
||||
if (totalSize <= maxTotalBytes) {
|
||||
return buffers;
|
||||
}
|
||||
|
||||
// 计算每张图片的平均目标大小
|
||||
const avgTargetSize = Math.floor(maxTotalBytes / buffers.length);
|
||||
|
||||
// 按大小降序排列,优先压缩大图片
|
||||
const indexedBuffers = buffers.map((buf, idx) => ({ buf, idx, size: buf.length }));
|
||||
indexedBuffers.sort((a, b) => b.size - a.size);
|
||||
|
||||
const result = [...buffers];
|
||||
|
||||
for (const item of indexedBuffers) {
|
||||
totalSize = result.reduce((sum, buf) => sum + buf.length, 0);
|
||||
if (totalSize <= maxTotalBytes) {
|
||||
break;
|
||||
}
|
||||
|
||||
// 计算这张图片需要压缩到的目标大小
|
||||
const excessSize = totalSize - maxTotalBytes;
|
||||
const targetSize = Math.max(item.buf.length - excessSize, avgTargetSize, 100 * 1024); // 最小100KB
|
||||
|
||||
if (item.buf.length > targetSize) {
|
||||
result[item.idx] = await compressToSize(item.buf, targetSize);
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
// 处理图片列表,确保不超过10张且每张不超过3MB,总大小不超过10MB
|
||||
async function processImages(images: ImageInfo[]): Promise<Buffer[]> {
|
||||
const maxImages = 10;
|
||||
let processedBuffers: Buffer[];
|
||||
|
||||
if (images.length <= maxImages) {
|
||||
const buffers = await Promise.all(images.map((img) => u.oss.getFile(img.filePath)));
|
||||
processedBuffers = await Promise.all(buffers.map((buffer) => compressImage(buffer)));
|
||||
} else {
|
||||
const mergeStartIndex = maxImages - 1;
|
||||
const firstBuffers = await Promise.all(images.slice(0, mergeStartIndex).map((img) => u.oss.getFile(img.filePath)));
|
||||
const compressedFirstImages = await Promise.all(firstBuffers.map((buffer) => compressImage(buffer)));
|
||||
const imagesToMergeList = images.slice(mergeStartIndex).map((img) => img.filePath);
|
||||
const mergedImage = await mergeImages(imagesToMergeList);
|
||||
processedBuffers = [...compressedFirstImages, mergedImage];
|
||||
}
|
||||
|
||||
// 确保总大小不超过10MB
|
||||
return ensureTotalSizeLimit(processedBuffers);
|
||||
}
|
||||
|
||||
// 使用 AI 过滤与分镜相关的资产
|
||||
async function filterRelevantAssets(prompts: string[], allResources: ResourceItem[], availableImages: ImageInfo[]): Promise<ImageInfo[]> {
|
||||
if (allResources.length === 0 || availableImages.length === 0) {
|
||||
return availableImages;
|
||||
}
|
||||
|
||||
const availableNames = new Set(availableImages.map((img) => img.name));
|
||||
const availableResources = allResources.filter((r) => availableNames.has(r.name));
|
||||
|
||||
if (availableResources.length === 0) {
|
||||
return availableImages;
|
||||
}
|
||||
|
||||
const result = await u.ai.text.invoke({
|
||||
messages: [
|
||||
{
|
||||
role: "user",
|
||||
content: `请分析以下分镜描述,从可用资产中筛选出与分镜内容直接相关的资产。
|
||||
|
||||
分镜描述:
|
||||
${prompts.map((p, i) => `${i + 1}. ${p}`).join("\n")}
|
||||
|
||||
可用资产列表:
|
||||
${availableResources.map((r) => `- ${r.name}:${r.intro}`).join("\n")}
|
||||
|
||||
请仅选择在分镜中明确出现或被提及的角色、场景、道具。不要选择与分镜内容无关的资产。`,
|
||||
},
|
||||
],
|
||||
output: {
|
||||
relevantAssets: z
|
||||
.array(
|
||||
z.object({
|
||||
name: z.string().describe("资产名称"),
|
||||
reason: z.string().describe("选择该资产的原因"),
|
||||
}),
|
||||
)
|
||||
.describe("与分镜内容相关的资产列表"),
|
||||
},
|
||||
});
|
||||
|
||||
|
||||
if (!result?.relevantAssets || result.relevantAssets.length === 0) {
|
||||
return availableImages;
|
||||
}
|
||||
|
||||
const relevantNames = new Set(result.relevantAssets.map((a) => a.name));
|
||||
const filteredImages = availableImages.filter((img) => relevantNames.has(img.name));
|
||||
|
||||
return filteredImages.length > 0 ? filteredImages : availableImages;
|
||||
}
|
||||
|
||||
// 构建资产映射提示词
|
||||
function buildResourcesMapPrompts(images: ImageInfo[]): string {
|
||||
if (images.length === 0) return "";
|
||||
|
||||
const mapping = images.map((item, index) => {
|
||||
if (index < 9) {
|
||||
return `${item.name}=图片${index + 1}`;
|
||||
} else {
|
||||
return `${item.name}=图10-${index - 8}`;
|
||||
}
|
||||
});
|
||||
|
||||
return `其中人物、场景、道具参考对照关系如下:${mapping.join(", ")}。`;
|
||||
}
|
||||
|
||||
export default async (cells: { prompt: string }[], scriptId: number, projectId: number) => {
|
||||
const scriptData = await u.db("t_script").where({ id: scriptId, projectId }).first();
|
||||
const projectInfo = await u.db("t_project").where({ id: projectId }).first();
|
||||
|
||||
const row = await u.db("t_outline").where({ id: scriptData?.outlineId!, projectId }).first();
|
||||
const outline: EpisodeData | null = row?.data ? JSON.parse(row.data) : null;
|
||||
|
||||
const resources: ResourceItem[] = outline
|
||||
? (["characters", "props", "scenes"] as const).flatMap((k) => outline[k]?.map((i) => ({ name: i.name, intro: i.description })) ?? [])
|
||||
: [];
|
||||
|
||||
const resourceNames = resources.map((r) => r.name);
|
||||
const imagesRaw = await u.db("t_assets").whereIn("name", resourceNames).andWhere({ projectId }).select("name", "type", "filePath");
|
||||
|
||||
const allImages = imagesRaw
|
||||
.sort((a, b) => {
|
||||
const order = ["角色", "场景", "道具"];
|
||||
return order.indexOf(a.type!) - order.indexOf(b.type!);
|
||||
})
|
||||
.filter((img) => img.filePath) as ImageInfo[];
|
||||
|
||||
if (allImages.length === 0) {
|
||||
throw new Error("未找到可用的图片资源");
|
||||
}
|
||||
|
||||
const cellPrompts = cells.map((c) => c.prompt);
|
||||
|
||||
// 使用 AI 过滤相关资产
|
||||
const filteredImages = await filterRelevantAssets(cellPrompts, resources, allImages);
|
||||
|
||||
const resourcesMapPrompts = buildResourcesMapPrompts(filteredImages);
|
||||
console.log("====润色前:", cellPrompts);
|
||||
const promptsData = await generateImagePromptsTool({
|
||||
prompts: cellPrompts,
|
||||
style: `类型:${projectInfo?.type!},风格:${projectInfo?.artStyle!}`,
|
||||
aspectRatio: projectInfo?.videoRatio! as any,
|
||||
assetsName: resources,
|
||||
});
|
||||
|
||||
// const prompts = `请生成${promptsData.gridLayout.totalCells}格,${promptsData.gridLayout.cols}列×${promptsData.gridLayout.rows}行宫格图。
|
||||
|
||||
// ${promptsData.prompt}
|
||||
|
||||
// 注意:请严格按照提示词内容生成图片,确保人物样貌、艺术风格、色调光影一致。
|
||||
// `;
|
||||
const prompts = promptsData.prompt;
|
||||
console.log("====润色后:", prompts);
|
||||
|
||||
const processedImages = await processImages(filteredImages);
|
||||
|
||||
const contentStr = await u.ai.image({
|
||||
systemPrompt: resourcesMapPrompts,
|
||||
prompt: prompts,
|
||||
size: "4K",
|
||||
aspectRatio: projectInfo?.videoRatio ? (projectInfo.videoRatio as any) : "16:9",
|
||||
imageBase64: processedImages.map((buf) => buf.toString("base64")),
|
||||
});
|
||||
|
||||
const match = contentStr.match(/base64,([A-Za-z0-9+/=]+)/);
|
||||
const base64Str = match?.[1] ?? contentStr;
|
||||
const buffer = Buffer.from(base64Str, "base64");
|
||||
|
||||
return buffer;
|
||||
};
|
||||
@ -1,94 +0,0 @@
|
||||
import sharp from "sharp";
|
||||
|
||||
interface GridLayoutResult {
|
||||
cols: number;
|
||||
rows: number;
|
||||
totalCells: number;
|
||||
placeholderCount: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算宫格布局
|
||||
* 1张: 1x1
|
||||
* 2张: 2x1
|
||||
* 3张: 3x1
|
||||
* 4张: 2x2
|
||||
* 5-9张: 3x3
|
||||
* 10-12张: 3x4
|
||||
* 13-15张: 3x5
|
||||
* ...以此类推(3列,行数递增)
|
||||
*/
|
||||
function calculateGridLayout(count: number): GridLayoutResult {
|
||||
let cols: number;
|
||||
let rows: number;
|
||||
if (count <= 0) {
|
||||
cols = 1;
|
||||
rows = 1;
|
||||
} else if (count === 1) {
|
||||
cols = 1;
|
||||
rows = 1;
|
||||
} else if (count === 2) {
|
||||
cols = 2;
|
||||
rows = 1;
|
||||
} else if (count === 3) {
|
||||
cols = 3;
|
||||
rows = 1;
|
||||
} else if (count === 4) {
|
||||
cols = 2;
|
||||
rows = 2;
|
||||
} else if (count <= 9) {
|
||||
// 5-9格统一用3x3
|
||||
cols = 3;
|
||||
rows = 3;
|
||||
} else {
|
||||
cols = 3;
|
||||
rows = Math.ceil(count / 3);
|
||||
}
|
||||
const totalCells = cols * rows;
|
||||
const placeholderCount = totalCells - count;
|
||||
return { cols, rows, totalCells, placeholderCount };
|
||||
}
|
||||
|
||||
/**
|
||||
* 分割宫格图片
|
||||
* @param image - 输入的宫格图片 Buffer
|
||||
* @param length - 实际需要的图片数量(不包含占位图)
|
||||
* @returns 分割后的单张图片 Buffer 数组
|
||||
*/
|
||||
export default async (image: Buffer, length: number): Promise<Buffer[]> => {
|
||||
const metadata = await sharp(image).metadata();
|
||||
const { width: totalWidth, height: totalHeight } = metadata;
|
||||
|
||||
if (!totalWidth || !totalHeight) {
|
||||
throw new Error("无法获取图片尺寸");
|
||||
}
|
||||
|
||||
const { cols, rows } = calculateGridLayout(length);
|
||||
|
||||
const cellWidth = Math.floor(totalWidth / cols);
|
||||
const cellHeight = Math.floor(totalHeight / rows);
|
||||
|
||||
const buffers: Buffer[] = [];
|
||||
|
||||
for (let i = 0; i < length; i++) {
|
||||
const row = Math.floor(i / cols);
|
||||
const col = i % cols;
|
||||
|
||||
const left = col * cellWidth;
|
||||
const top = row * cellHeight;
|
||||
|
||||
const cellBuffer = await sharp(image)
|
||||
.extract({
|
||||
left,
|
||||
top,
|
||||
width: cellWidth,
|
||||
height: cellHeight,
|
||||
})
|
||||
.png()
|
||||
.toBuffer();
|
||||
|
||||
buffers.push(cellBuffer);
|
||||
}
|
||||
|
||||
return buffers;
|
||||
};
|
||||
@ -1,737 +0,0 @@
|
||||
// @/agents/Storyboard.ts
|
||||
import u from "@/utils";
|
||||
import { createAgent } from "langchain";
|
||||
import { EventEmitter } from "events";
|
||||
import { openAI } from "@/agents/models";
|
||||
import { z } from "zod";
|
||||
import { tool } from "@langchain/core/tools";
|
||||
import type { DB } from "@/types/database";
|
||||
import generateImageTool from "./generateImageTool";
|
||||
import imageSplitting from "./imageSplitting";
|
||||
|
||||
// ==================== 类型定义 ====================
|
||||
|
||||
type AgentType = "segmentAgent" | "shotAgent";
|
||||
type RefreshEvent = "storyline" | "outline" | "assets";
|
||||
|
||||
// ==================== 常量配置 ====================
|
||||
|
||||
// const SYSTEM_PROMPTS: Record<AgentType, string> = {
|
||||
// segmentAgent: segmentPrompts,
|
||||
// shotAgent: shotPrompts,
|
||||
// director: directorPrompts,
|
||||
// };
|
||||
|
||||
// ==================== 类型定义:片段和画面 ====================
|
||||
|
||||
interface Segment {
|
||||
index: number;
|
||||
description: string;
|
||||
emotion?: string;
|
||||
action?: string;
|
||||
}
|
||||
|
||||
interface Shot {
|
||||
id: number; // 分镜独立ID
|
||||
segmentId: number; // 所属片段ID
|
||||
title: string;
|
||||
x: number;
|
||||
y: number;
|
||||
cells: Array<{ src?: string; prompt?: string; id?: string }>; // 镜头数组,每个cell是一个镜头
|
||||
}
|
||||
|
||||
// ==================== 主类 ====================
|
||||
|
||||
export default class Storyboard {
|
||||
private readonly projectId: number;
|
||||
private readonly scriptId: number;
|
||||
readonly emitter = new EventEmitter();
|
||||
history: Array<[string, string]> = [];
|
||||
novelChapters: DB["t_novel"][] = [];
|
||||
|
||||
// 存储 segmentAgent 生成的片段结果
|
||||
private segments: Segment[] = [];
|
||||
// 存储 shotAgent 生成的分镜结果
|
||||
private shots: Shot[] = [];
|
||||
// 分镜ID计数器
|
||||
private shotIdCounter: number = 0;
|
||||
// 存储正在生成分镜图的分镜ID
|
||||
private generatingShots: Set<number> = new Set();
|
||||
|
||||
modelName = "gpt-4.1";
|
||||
apiKey = "";
|
||||
baseURL = "";
|
||||
|
||||
constructor(projectId: number, scriptId: number) {
|
||||
this.projectId = projectId;
|
||||
this.scriptId = scriptId;
|
||||
}
|
||||
|
||||
// 更新shopts
|
||||
public updatePreShots(segmentId: number, cellId: number, cell: { src?: string; prompt?: string; id?: string }) {
|
||||
console.log("%c Line:76 🍤 segmentId", "background:#465975", segmentId);
|
||||
console.log("%c Line:76 🍷 cellId", "background:#ffdd4d", cellId);
|
||||
console.log("%c Line:76 🍢 cell", "background:#ffdd4d", cell);
|
||||
const shotIndex = this.shots.findIndex((item) => item.segmentId === segmentId);
|
||||
if (shotIndex === -1) {
|
||||
return `分镜 ${segmentId} 不存在,请检查分镜ID是否正确`;
|
||||
}
|
||||
const cellIndex = this.shots[shotIndex].cells.findIndex((item) => item.id === cellId.toString());
|
||||
if (cellIndex === -1) {
|
||||
return `镜头 ${cellId} 不存在,请检查镜头ID是否正确`;
|
||||
}
|
||||
this.shots[shotIndex].cells[cellIndex] = { ...this.shots[shotIndex].cells[cellIndex], ...cell };
|
||||
}
|
||||
|
||||
// ==================== 公共方法 ====================
|
||||
|
||||
get events() {
|
||||
return this.emitter;
|
||||
}
|
||||
// ==================== 私有工具方法 ====================
|
||||
|
||||
private emit(event: string, data?: any) {
|
||||
this.emitter.emit(event, data);
|
||||
}
|
||||
|
||||
private refresh(type: RefreshEvent) {
|
||||
this.emit("refresh", type);
|
||||
}
|
||||
|
||||
private log(action: string, detail?: string) {
|
||||
const msg = detail ? `${action}: ${detail}` : action;
|
||||
console.log(`\n[${new Date().toLocaleTimeString()}] ${msg}\n`);
|
||||
}
|
||||
|
||||
// ==================== 剧本相关操作 ====================
|
||||
|
||||
getScript = tool(
|
||||
async () => {
|
||||
this.log("获取剧本", `scriptId: ${this.scriptId}`);
|
||||
const script = await u.db("t_script").where({ id: this.scriptId, projectId: this.projectId }).first();
|
||||
if (!script) throw new Error("剧本不存在");
|
||||
return `剧本集:${script.name}\n\n内容:\n\`\`\`${script.content}\`\`\``;
|
||||
},
|
||||
{
|
||||
name: "getScript",
|
||||
description: "获取剧本内容",
|
||||
schema: z.object({}),
|
||||
verboseParsingErrors: true,
|
||||
},
|
||||
);
|
||||
|
||||
// ==================== 资产相关操作 ====================
|
||||
|
||||
/**
|
||||
* 获取资产列表(供 segmentAgent 和 shotAgent 调用)
|
||||
*/
|
||||
getAssets = tool(
|
||||
async () => {
|
||||
this.log("获取资产列表", `scriptId: ${this.scriptId}`);
|
||||
const scriptData = await u.db("t_script").where({ id: this.scriptId, projectId: this.projectId }).first();
|
||||
const row = await u.db("t_outline").where({ id: scriptData?.outlineId!, projectId: this.projectId }).first();
|
||||
const outline: any | null = row?.data ? JSON.parse(row.data) : null;
|
||||
|
||||
if (!outline) {
|
||||
return "暂无资产数据";
|
||||
}
|
||||
|
||||
// 提取资源名称和描述(与generateImageTool保持一致的字段名)
|
||||
const resources = outline
|
||||
? (["characters", "props", "scenes"] as const).flatMap(
|
||||
(k) => outline[k]?.map((i: any) => ({ name: i.name, description: i.description })) ?? [],
|
||||
)
|
||||
: [];
|
||||
|
||||
if (resources.length === 0) {
|
||||
return "暂无资产数据";
|
||||
}
|
||||
|
||||
// 分类提取资源并格式化
|
||||
const characters = outline?.characters?.map((item: any) => `- ${item.name}${item.description ? `:${item.description}` : ""}`) ?? [];
|
||||
const props = outline?.props?.map((item: any) => `- ${item.name}${item.description ? `:${item.description}` : ""}`) ?? [];
|
||||
const scenes = outline?.scenes?.map((item: any) => `- ${item.name}${item.description ? `:${item.description}` : ""}`) ?? [];
|
||||
|
||||
const sections = [
|
||||
characters.length ? `【角色】\n${characters.join("\n")}` : "",
|
||||
props.length ? `【道具】\n${props.join("\n")}` : "",
|
||||
scenes.length ? `【场景】\n${scenes.join("\n")}` : "",
|
||||
].filter(Boolean);
|
||||
|
||||
if (sections.length === 0) {
|
||||
return "暂无资产数据";
|
||||
}
|
||||
|
||||
return `<资产列表>
|
||||
${sections.join("\n\n")}
|
||||
</资产列表>
|
||||
|
||||
⚠️ 重要规则:
|
||||
1. 必须原封不动地使用上述资产名称,禁止使用近义词、缩写或任何变体
|
||||
2. 禁止在资产名称前后添加修饰词
|
||||
3. 禁止捏造资产列表中不存在的角色、场景、道具`;
|
||||
},
|
||||
{
|
||||
name: "getAssets",
|
||||
description: "获取资产列表(角色、道具、场景),包含名称和详细介绍。生成片段和分镜时必须先调用此工具获取资产信息,确保名称一致性",
|
||||
schema: z.object({}),
|
||||
verboseParsingErrors: true,
|
||||
},
|
||||
);
|
||||
|
||||
// ==================== 片段和分镜工具 ====================
|
||||
|
||||
/**
|
||||
* 获取当前存储的片段数据(供 shotAgent 调用)
|
||||
*/
|
||||
getSegments = tool(
|
||||
async () => {
|
||||
this.log("获取片段数据", `共 ${this.segments.length} 个片段`);
|
||||
if (this.segments.length === 0) {
|
||||
return "暂无片段数据,请先调用 segmentAgent 生成片段";
|
||||
}
|
||||
return JSON.stringify(this.segments, null, 2);
|
||||
},
|
||||
{
|
||||
name: "getSegments",
|
||||
description: "获取当前已生成的片段数据,用于生成分镜",
|
||||
schema: z.object({}),
|
||||
verboseParsingErrors: true,
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* 更新/存储片段数据(供 segmentAgent 调用)
|
||||
*/
|
||||
updateSegments = tool(
|
||||
async ({ segments }: { segments: Segment[] }) => {
|
||||
this.log("更新片段数据", `共 ${segments.length} 个片段`);
|
||||
this.segments = segments;
|
||||
this.emit("segmentsUpdated", this.segments);
|
||||
return `成功存储 ${segments.length} 个片段`;
|
||||
},
|
||||
{
|
||||
name: "updateSegments",
|
||||
description: "存储生成的片段数据,segmentAgent 在生成片段后必须调用此工具保存结果",
|
||||
schema: z.object({
|
||||
segments: z
|
||||
.array(
|
||||
z.object({
|
||||
index: z.number().describe("片段序号"),
|
||||
description: z.string().describe("片段描述"),
|
||||
emotion: z.string().optional().describe("情绪氛围"),
|
||||
action: z.string().optional().describe("主要动作"),
|
||||
}),
|
||||
)
|
||||
.describe("片段数组"),
|
||||
}),
|
||||
verboseParsingErrors: true,
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* 添加分镜(供 shotAgent 调用)
|
||||
*/
|
||||
addShots = tool(
|
||||
async ({ shots }: { shots: Array<{ segmentIndex: number; prompts: string[] }> }) => {
|
||||
const added: { id: number; segmentIndex: number }[] = [];
|
||||
const skipped: number[] = [];
|
||||
|
||||
for (const item of shots) {
|
||||
const exists = this.shots.some((f) => f.segmentId === item.segmentIndex);
|
||||
if (exists) {
|
||||
skipped.push(item.segmentIndex);
|
||||
continue;
|
||||
}
|
||||
// 分配独立的分镜ID
|
||||
this.shotIdCounter++;
|
||||
const shotId = this.shotIdCounter;
|
||||
this.shots.push({
|
||||
id: shotId,
|
||||
segmentId: item.segmentIndex,
|
||||
title: `分镜 ${shotId}`,
|
||||
x: 0,
|
||||
y: 0,
|
||||
cells: item.prompts.map((prompt) => ({ id: u.uuid(), prompt })),
|
||||
});
|
||||
added.push({ id: shotId, segmentIndex: item.segmentIndex });
|
||||
}
|
||||
|
||||
const addedInfo = added.map((a) => `分镜${a.id}(片段${a.segmentIndex})`).join(", ");
|
||||
this.log("添加分镜", `新增: [${addedInfo}], 跳过片段: [${skipped.join(", ")}]`);
|
||||
this.emit("shotsUpdated", this.shots);
|
||||
|
||||
if (skipped.length) {
|
||||
return `已添加${addedInfo};片段 ${skipped.join(", ")} 已存在分镜被跳过。当前共 ${this.shots.length} 个分镜`;
|
||||
}
|
||||
return `已添加${addedInfo}。当前共 ${this.shots.length} 个分镜`;
|
||||
},
|
||||
{
|
||||
name: "addShots",
|
||||
description: "添加新的分镜。每个分镜有独立ID,包含多个镜头(每个镜头对应一个提示词)。如果片段已存在分镜会跳过",
|
||||
schema: z.object({
|
||||
shots: z
|
||||
.array(
|
||||
z.object({
|
||||
segmentIndex: z.number().describe("对应的片段序号"),
|
||||
prompts: z.array(z.string()).describe("镜头提示词数组,每个提示词对应一个镜头(中文)"),
|
||||
}),
|
||||
)
|
||||
.describe("要添加的分镜数组"),
|
||||
}),
|
||||
verboseParsingErrors: true,
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* 更新指定分镜(供 shotAgent 调用)
|
||||
* 保留原有 cells 的 id 和 src 字段,只更新 prompt
|
||||
*/
|
||||
updateShots = tool(
|
||||
async ({ shotId, prompts }: { shotId: number; prompts: string[] }) => {
|
||||
const existingIndex = this.shots.findIndex((item) => item.id === shotId);
|
||||
|
||||
if (existingIndex === -1) {
|
||||
return `分镜 ${shotId} 不存在,请检查分镜ID是否正确`;
|
||||
}
|
||||
|
||||
const existingCells = this.shots[existingIndex].cells;
|
||||
|
||||
// 更新 cells,保留原有的 id 和 src 字段
|
||||
this.shots[existingIndex].cells = prompts.map((prompt, i) => {
|
||||
const existingCell = existingCells[i];
|
||||
if (existingCell) {
|
||||
// 保留原有 cell 的 id 和 src,只更新 prompt
|
||||
return { ...existingCell, prompt };
|
||||
} else {
|
||||
// 新增的 cell
|
||||
return { id: u.uuid(), prompt };
|
||||
}
|
||||
});
|
||||
|
||||
this.log("更新分镜", `分镜 ${shotId}`);
|
||||
this.emit("shotsUpdated", this.shots);
|
||||
|
||||
return `已更新分镜 ${shotId}`;
|
||||
},
|
||||
{
|
||||
name: "updateShots",
|
||||
description: "更新指定分镜的镜头提示词。通过分镜ID指定要修改的分镜",
|
||||
schema: z.object({
|
||||
shotId: z.number().describe("要更新的分镜ID"),
|
||||
prompts: z.array(z.string()).describe("新的镜头提示词数组,每个提示词对应一个镜头"),
|
||||
}),
|
||||
verboseParsingErrors: true,
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* 删除指定分镜(供 shotAgent 调用)
|
||||
*/
|
||||
deleteShots = tool(
|
||||
async ({ shotIds }: { shotIds: number[] }) => {
|
||||
const deleted: number[] = [];
|
||||
const notFound: number[] = [];
|
||||
|
||||
for (const shotId of shotIds) {
|
||||
const idx = this.shots.findIndex((item) => item.id === shotId);
|
||||
if (idx === -1) {
|
||||
notFound.push(shotId);
|
||||
} else {
|
||||
this.shots.splice(idx, 1);
|
||||
deleted.push(shotId);
|
||||
}
|
||||
}
|
||||
|
||||
this.log("删除分镜", `删除: [分镜${deleted.join(", 分镜")}], 未找到: [分镜${notFound.join(", 分镜")}]`);
|
||||
this.emit("shotsUpdated", this.shots);
|
||||
|
||||
if (notFound.length) {
|
||||
return `已删除分镜 ${deleted.join(", ")};分镜 ${notFound.join(", ")} 不存在。当前共 ${this.shots.length} 个分镜`;
|
||||
}
|
||||
return `已删除分镜 ${deleted.join(", ")}。当前共 ${this.shots.length} 个分镜`;
|
||||
},
|
||||
{
|
||||
name: "deleteShots",
|
||||
description: "删除指定的分镜。通过分镜ID指定要删除的分镜",
|
||||
schema: z.object({
|
||||
shotIds: z.array(z.number()).describe("要删除的分镜ID数组"),
|
||||
}),
|
||||
verboseParsingErrors: true,
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* 生成分镜图(异步执行,使用 nanoBanana)
|
||||
*/
|
||||
generateShotImage = tool(
|
||||
async ({ shotIds }: { shotIds: number[] }) => {
|
||||
const toGenerate: number[] = [];
|
||||
const alreadyGenerating: number[] = [];
|
||||
const notFound: number[] = [];
|
||||
|
||||
for (const shotId of shotIds) {
|
||||
const shot = this.shots.find((f) => f.id === shotId);
|
||||
if (!shot) {
|
||||
notFound.push(shotId);
|
||||
continue;
|
||||
}
|
||||
if (this.generatingShots.has(shotId)) {
|
||||
alreadyGenerating.push(shotId);
|
||||
continue;
|
||||
}
|
||||
toGenerate.push(shotId);
|
||||
}
|
||||
|
||||
if (toGenerate.length === 0) {
|
||||
if (notFound.length) {
|
||||
return `分镜 ${notFound.join(", ")} 不存在,请检查分镜ID是否正确`;
|
||||
}
|
||||
if (alreadyGenerating.length) {
|
||||
return `分镜 ${alreadyGenerating.join(", ")} 正在生成中,请稍候`;
|
||||
}
|
||||
return "没有需要生成的分镜";
|
||||
}
|
||||
|
||||
// 标记为正在生成
|
||||
for (const id of toGenerate) {
|
||||
this.generatingShots.add(id);
|
||||
}
|
||||
|
||||
// 通知前端开始生成
|
||||
this.emit("shotImageGenerateStart", { shotIds: toGenerate });
|
||||
this.log("开始生成分镜图", `分镜: [${toGenerate.join(", ")}]`);
|
||||
|
||||
// 异步执行图片生成(不阻塞 Agent 流程)
|
||||
this.executeShotImageGeneration(toGenerate).catch((err) => {
|
||||
this.log("分镜图生成错误", err.message);
|
||||
this.emit("shotImageGenerateError", { shotIds: toGenerate, error: err.message });
|
||||
});
|
||||
|
||||
let result = `已开始为分镜 ${toGenerate.join(", ")} 生成分镜图,生成过程在后台进行`;
|
||||
if (alreadyGenerating.length) {
|
||||
result += `;分镜 ${alreadyGenerating.join(", ")} 正在生成中`;
|
||||
}
|
||||
if (notFound.length) {
|
||||
result += `;分镜 ${notFound.join(", ")} 不存在`;
|
||||
}
|
||||
return result;
|
||||
},
|
||||
{
|
||||
name: "generateShotImage",
|
||||
description:
|
||||
"为指定分镜生成分镜图。每个分镜会根据其所有提示词生成一张完整宫格图,然后自动分割为单格图片。通过分镜ID指定,不需要指定具体格子,整个分镜是一个完整的生成单元",
|
||||
schema: z.object({
|
||||
shotIds: z.array(z.number()).describe("要生成分镜图的分镜ID数组"),
|
||||
}),
|
||||
verboseParsingErrors: true,
|
||||
},
|
||||
);
|
||||
|
||||
/**
|
||||
* 执行分镜图生成的具体逻辑(异步并发)
|
||||
* 每个分镜包含多个镜头,所有镜头的提示词合并生成一张宫格图,再分割为单张镜头图片
|
||||
*/
|
||||
async executeShotImageGeneration(shotIds: number[]): Promise<void> {
|
||||
await Promise.all(shotIds.map((shotId) => this.generateSingleShotImage(shotId)));
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成单个分镜的图片
|
||||
*/
|
||||
private async generateSingleShotImage(shotId: number): Promise<void> {
|
||||
try {
|
||||
const shot = this.shots.find((f) => f.id === shotId);
|
||||
if (!shot) return;
|
||||
|
||||
// 提取所有镜头的有效提示词
|
||||
const prompts: string[] = shot.cells.map((c) => c.prompt).filter((p): p is string => Boolean(p));
|
||||
|
||||
if (prompts.length === 0) {
|
||||
this.log("跳过分镜图生成", `分镜 ${shotId} 没有有效的镜头提示词`);
|
||||
this.generatingShots.delete(shotId);
|
||||
return;
|
||||
}
|
||||
|
||||
// 通知前端正在生成该分镜
|
||||
this.emit("shotImageGenerateProgress", { shotId, status: "generating", message: "正在调用 AI 生成宫格图片" });
|
||||
|
||||
// 根据所有镜头提示词生成宫格图片
|
||||
const gridImage = await generateImageTool(
|
||||
prompts.map((p) => ({ prompt: p })),
|
||||
this.scriptId,
|
||||
this.projectId,
|
||||
);
|
||||
|
||||
// 通知前端正在分割图片
|
||||
this.emit("shotImageGenerateProgress", { shotId, status: "splitting", message: "正在分割宫格图片为单张镜头图" });
|
||||
|
||||
// 分割宫格图片为单张镜头图片
|
||||
const imageBuffers = await imageSplitting(gridImage, prompts.length);
|
||||
|
||||
// 通知前端正在保存图片
|
||||
this.emit("shotImageGenerateProgress", { shotId, status: "saving", message: `正在保存 ${imageBuffers.length} 张镜头图片` });
|
||||
|
||||
// 保存分割后的镜头图片到 OSS,并获取文件路径
|
||||
const timestamp = Date.now();
|
||||
const imagePaths: string[] = [];
|
||||
|
||||
for (let i = 0; i < imageBuffers.length; i++) {
|
||||
const fileName = `${this.projectId}/chat/${this.scriptId}/storyboard/shot_${shotId}_take_${i}_${timestamp}.png`;
|
||||
await u.oss.writeFile(fileName, imageBuffers[i]);
|
||||
const imageUrl = await u.oss.getFileUrl(fileName);
|
||||
imagePaths.push(imageUrl);
|
||||
|
||||
// 每保存一张镜头图片通知进度
|
||||
this.emit("shotImageGenerateProgress", {
|
||||
shotId,
|
||||
status: "saving",
|
||||
message: `已保存 ${i + 1}/${imageBuffers.length} 张镜头图片`,
|
||||
progress: Math.round(((i + 1) / imageBuffers.length) * 100),
|
||||
});
|
||||
}
|
||||
|
||||
// 更新每个镜头的 src 字段
|
||||
shot.cells = shot.cells.map((cell, i) => ({
|
||||
id: u.uuid(),
|
||||
...cell,
|
||||
src: imagePaths[i] || cell.src,
|
||||
}));
|
||||
|
||||
// 生成完成后更新状态
|
||||
this.generatingShots.delete(shotId);
|
||||
this.emit("shotImageGenerateComplete", { shotId, shot, imagePaths });
|
||||
this.emit("shotsUpdated", this.shots);
|
||||
this.log("分镜图生成完成", `分镜 ${shotId},共 ${imagePaths.length} 张镜头图片`);
|
||||
} catch (err: any) {
|
||||
this.generatingShots.delete(shotId);
|
||||
this.emit("shotImageGenerateError", { shotId, error: err.message });
|
||||
this.log("分镜图生成失败", `分镜 ${shotId}: ${err.message}`);
|
||||
}
|
||||
}
|
||||
|
||||
// ==================== 公共访问器 ====================
|
||||
|
||||
/**
|
||||
* 获取当前片段数据
|
||||
*/
|
||||
getSegmentsData(): Segment[] {
|
||||
return this.segments;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前分镜数据
|
||||
*/
|
||||
getShotsData(): Shot[] {
|
||||
return this.shots;
|
||||
}
|
||||
|
||||
// ==================== 上下文构建 ====================
|
||||
|
||||
private async buildEnvironmentContext(): Promise<string> {
|
||||
const projectInfo = await u.db("t_project").where({ id: this.projectId }).first();
|
||||
|
||||
const row = await u.db("t_outline").where({ id: this.scriptId, projectId: this.projectId }).first();
|
||||
const outline: any | null = row?.data ? JSON.parse(row.data) : null;
|
||||
|
||||
// 分类提取资源名称
|
||||
const characters = outline?.characters?.map((i: any) => i.name) ?? [];
|
||||
const props = outline?.props?.map((i: any) => i.name) ?? [];
|
||||
const scenes = outline?.scenes?.map((i: any) => i.name) ?? [];
|
||||
|
||||
const assetList =
|
||||
[
|
||||
characters.length ? `【角色】${characters.join("、")}` : "",
|
||||
props.length ? `【道具】${props.join("、")}` : "",
|
||||
scenes.length ? `【场景】${scenes.join("、")}` : "",
|
||||
]
|
||||
.filter(Boolean)
|
||||
.join("\n") || "无";
|
||||
|
||||
return `<环境信息>
|
||||
项目ID: ${this.projectId}
|
||||
系统时间: ${new Date().toLocaleString()}
|
||||
|
||||
项目名称: ${projectInfo?.name || "未知"}
|
||||
项目简介: ${projectInfo?.intro || "无"}
|
||||
类型: ${projectInfo?.type || "未知"}
|
||||
风格: ${projectInfo?.artStyle || "未知"}
|
||||
视频比例: ${projectInfo?.videoRatio || "未知"}
|
||||
|
||||
资产列表:
|
||||
${assetList}
|
||||
|
||||
</环境信息>`;
|
||||
}
|
||||
|
||||
private buildConversationHistory(): string {
|
||||
if (!this.history.length) return "无对话历史";
|
||||
return this.history.map(([role, content]) => `${role}: ${content}`).join("\n\n");
|
||||
}
|
||||
|
||||
private async buildFullContext(task: string): Promise<string> {
|
||||
const env = await this.buildEnvironmentContext();
|
||||
const history = this.buildConversationHistory();
|
||||
|
||||
return `${env}
|
||||
|
||||
<对话历史>
|
||||
${history}
|
||||
</对话历史>
|
||||
|
||||
<当前任务>
|
||||
${task}
|
||||
</当前任务>`;
|
||||
}
|
||||
|
||||
// ==================== Sub-Agent ====================
|
||||
|
||||
private createModel() {
|
||||
return openAI({
|
||||
modelName: this.modelName,
|
||||
configuration: { apiKey: this.apiKey, baseURL: this.baseURL },
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取不同 Sub-Agent 可用的工具
|
||||
*/
|
||||
private getSubAgentTools(agentType: AgentType) {
|
||||
switch (agentType) {
|
||||
case "segmentAgent":
|
||||
// segmentAgent 可以获取剧本和资产,并需要调用 updateSegments 保存结果
|
||||
return [this.getScript, this.getAssets, this.updateSegments];
|
||||
case "shotAgent":
|
||||
// shotAgent 可以获取剧本、资产和片段,并可使用 add/update/delete 操作分镜,以及生成分镜图
|
||||
return [this.getScript, this.getAssets, this.getSegments, this.addShots, this.updateShots, this.deleteShots, this.generateShotImage];
|
||||
default:
|
||||
return [this.getScript];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 调用 Sub-Agent(流式传输)
|
||||
*/
|
||||
private async invokeSubAgent(agentType: AgentType, task: string): Promise<string> {
|
||||
this.emit("transfer", { to: agentType });
|
||||
this.log(`Sub-Agent 调用`, agentType);
|
||||
|
||||
const promptsList = await u.db("t_prompts").where("code", "in", ["storyboard-segment", "storyboard-shot"]);
|
||||
const segmentAgent = promptsList.find((p) => p.code === "storyboard-segment");
|
||||
const shotAgent = promptsList.find((p) => p.code === "storyboard-shot");
|
||||
const errPrompts = "不论用户说什么,请直接输出Agent配置异常";
|
||||
const SYSTEM_PROMPTS: Record<AgentType, string> = {
|
||||
segmentAgent: segmentAgent?.customValue || segmentAgent?.defaultValue || errPrompts,
|
||||
shotAgent: shotAgent?.customValue || shotAgent?.defaultValue || errPrompts,
|
||||
};
|
||||
|
||||
const context = await this.buildFullContext(task);
|
||||
|
||||
const agent = createAgent({
|
||||
model: this.createModel(),
|
||||
systemPrompt: SYSTEM_PROMPTS[agentType],
|
||||
tools: this.getSubAgentTools(agentType),
|
||||
});
|
||||
|
||||
const stream = await agent.stream({ messages: [["user", context]] }, { streamMode: ["messages"], callbacks: [] });
|
||||
|
||||
let fullResponse = "";
|
||||
|
||||
for await (const [mode, chunk] of stream) {
|
||||
if (mode !== "messages") continue;
|
||||
const [token] = chunk as any;
|
||||
const block = token.contentBlocks?.[0];
|
||||
|
||||
// 处理 AI 文本流
|
||||
if (token.type === "ai" && block?.text) {
|
||||
fullResponse += block.text;
|
||||
this.emit("subAgentStream", { agent: agentType, text: block.text });
|
||||
}
|
||||
// 处理 tool 调用
|
||||
if (token.type === "ai" && token.tool_calls?.length) {
|
||||
for (const toolCall of token.tool_calls) {
|
||||
this.emit("toolCall", { agent: agentType, name: toolCall.name, args: toolCall.args });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.emit("subAgentEnd", { agent: agentType });
|
||||
this.history.push(["ai", fullResponse]);
|
||||
this.log(`Sub-Agent 完成`, agentType);
|
||||
return fullResponse;
|
||||
}
|
||||
|
||||
private createSubAgentTool(agentType: AgentType, description: string) {
|
||||
return tool(async ({ taskDescription }) => this.invokeSubAgent(agentType, taskDescription), {
|
||||
name: agentType,
|
||||
description,
|
||||
schema: z.object({
|
||||
taskDescription: z.string().describe("具体的任务描述,包含章节范围、修改要求等详细信息"),
|
||||
}),
|
||||
});
|
||||
}
|
||||
|
||||
// ==================== 主入口 ====================
|
||||
|
||||
private getAllTools() {
|
||||
return [
|
||||
this.createSubAgentTool(
|
||||
"segmentAgent",
|
||||
"调用片段师。负责根据剧本生成片段,会自行调用 getScript 获取剧本内容,并调用 updateSegments 保存片段结果。",
|
||||
),
|
||||
this.createSubAgentTool(
|
||||
"shotAgent",
|
||||
"调用分镜师。负责根据片段生成分镜提示词,会自行调用 getSegments 获取片段数据,并调用 addShots/updateShots 保存分镜结果。",
|
||||
),
|
||||
// this.createSubAgentTool("director", "调用导演。负责审核故事线和大纲,会自行调用 updateOutline 或 saveStoryline 进行修改。"),
|
||||
this.getScript,
|
||||
this.getSegments,
|
||||
this.generateShotImage,
|
||||
...this.getSubAgentTools("segmentAgent"),
|
||||
...this.getSubAgentTools("shotAgent"),
|
||||
];
|
||||
}
|
||||
|
||||
async call(msg: string): Promise<string> {
|
||||
console.log("模型名称:", this.modelName);
|
||||
this.history.push(["user", msg]);
|
||||
|
||||
const envContext = await this.buildEnvironmentContext();
|
||||
|
||||
const prompts = await u.db("t_prompts").where("code", "storyboard-main").first();
|
||||
|
||||
const mainPrompts = prompts?.customValue || prompts?.defaultValue || "不论用户说什么,请直接输出Agent配置异常";
|
||||
|
||||
const mainAgent = createAgent({
|
||||
model: this.createModel(),
|
||||
tools: this.getAllTools(),
|
||||
systemPrompt: `${envContext}\n${mainPrompts}`,
|
||||
});
|
||||
const stream = await mainAgent.stream({ messages: this.history }, { streamMode: ["messages"], callbacks: [] });
|
||||
|
||||
let fullResponse = "";
|
||||
|
||||
for await (const [mode, chunk] of stream) {
|
||||
if (mode !== "messages") continue;
|
||||
const [token] = chunk as any;
|
||||
const block = token.contentBlocks?.[0];
|
||||
// 处理 AI 文本流
|
||||
if (token.type === "ai" && block?.text) {
|
||||
fullResponse += block.text;
|
||||
this.emit("data", block.text);
|
||||
}
|
||||
|
||||
// 处理 tool 调用
|
||||
if (token.type === "ai" && token.tool_calls?.length) {
|
||||
for (const toolCall of token.tool_calls) {
|
||||
this.emit("toolCall", { agent: "main", name: toolCall.name, args: toolCall.args });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.history.push(["assistant", fullResponse]);
|
||||
this.emit("response", fullResponse);
|
||||
|
||||
return fullResponse;
|
||||
}
|
||||
}
|
||||
BIN
data/assets/ending.mp4
Normal file
25
data/models/all-MiniLM-L6-v2/config.json
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"_name_or_path": "sentence-transformers/all-MiniLM-L6-v2",
|
||||
"architectures": [
|
||||
"BertModel"
|
||||
],
|
||||
"attention_probs_dropout_prob": 0.1,
|
||||
"classifier_dropout": null,
|
||||
"gradient_checkpointing": false,
|
||||
"hidden_act": "gelu",
|
||||
"hidden_dropout_prob": 0.1,
|
||||
"hidden_size": 384,
|
||||
"initializer_range": 0.02,
|
||||
"intermediate_size": 1536,
|
||||
"layer_norm_eps": 1e-12,
|
||||
"max_position_embeddings": 512,
|
||||
"model_type": "bert",
|
||||
"num_attention_heads": 12,
|
||||
"num_hidden_layers": 6,
|
||||
"pad_token_id": 0,
|
||||
"position_embedding_type": "absolute",
|
||||
"transformers_version": "4.29.2",
|
||||
"type_vocab_size": 2,
|
||||
"use_cache": true,
|
||||
"vocab_size": 30522
|
||||
}
|
||||
BIN
data/models/all-MiniLM-L6-v2/onnx/model_fp16.onnx
Normal file
7
data/models/all-MiniLM-L6-v2/special_tokens_map.json
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
"cls_token": "[CLS]",
|
||||
"mask_token": "[MASK]",
|
||||
"pad_token": "[PAD]",
|
||||
"sep_token": "[SEP]",
|
||||
"unk_token": "[UNK]"
|
||||
}
|
||||
30686
data/models/all-MiniLM-L6-v2/tokenizer.json
Normal file
15
data/models/all-MiniLM-L6-v2/tokenizer_config.json
Normal file
@ -0,0 +1,15 @@
|
||||
{
|
||||
"clean_up_tokenization_spaces": true,
|
||||
"cls_token": "[CLS]",
|
||||
"do_basic_tokenize": true,
|
||||
"do_lower_case": true,
|
||||
"mask_token": "[MASK]",
|
||||
"model_max_length": 512,
|
||||
"never_split": null,
|
||||
"pad_token": "[PAD]",
|
||||
"sep_token": "[SEP]",
|
||||
"strip_accents": null,
|
||||
"tokenize_chinese_chars": true,
|
||||
"tokenizer_class": "BertTokenizer",
|
||||
"unk_token": "[UNK]"
|
||||
}
|
||||
30522
data/models/all-MiniLM-L6-v2/vocab.txt
Normal file
33
data/skills/art_skills/2D_90s_japanese_anime/README.md
Normal file
@ -0,0 +1,33 @@
|
||||
# 90年代日式动画风格说明
|
||||
|
||||
本风格专为"90年代日式动画质感"题材打造,所有美术提示词、规范和生成内容均严格限定于:
|
||||
|
||||
- **90年代动画世界观**:以90年代日式生活为背景,涵盖学校、车站、街道、咖啡馆、住宅等,体现日式生活气息。
|
||||
- **手绘平涂质感**:所有角色、场景、道具均以90年代手绘动画为标准,强调线条清晰度、上色均匀度、光影层次感。
|
||||
- **怀旧治愈美学**:在平涂基础上追求电影感氛围,画面色调柔和温暖,细节丰富,整体氛围温暖治愈、怀旧感人。
|
||||
- **情感表达**:适合展现温柔、治愈、浪漫的日式恋爱故事,强调东方美学下的情感表达。
|
||||
|
||||
## 适用范围
|
||||
|
||||
- 90年代日式动画题材的AI美术生成(角色、场景、道具、分镜等)
|
||||
- 需要极致手绘质感、细腻线条、温馨治愈氛围的视觉创作
|
||||
|
||||
## 严禁内容
|
||||
|
||||
- 现代日系动画风格、3D渲染、CG动画
|
||||
- 现代元素、现代建筑、现代服饰
|
||||
- 高饱和荧光色、霓虹色
|
||||
- 过度阴影、黑暗暴力、成人向内容
|
||||
|
||||
## 风格体验
|
||||
|
||||
在本风格下,您将体验到:
|
||||
|
||||
- 角色面容精致、气质温柔或清亮,服饰、妆容、发型均为90年代日式动画风格
|
||||
- 场景空间层次丰富,线条清晰流畅,氛围真实且富有诗意
|
||||
- 道具、日常物品、环境细节均为日式造型,工艺精细,质感细腻
|
||||
- 分镜与画面均以手绘平涂为基础,强调叙事与情感表达
|
||||
|
||||
---
|
||||
|
||||
本风格仅适用于"90年代日式动画"相关项目。如需其他风格(如现代动画、CG、插画、现代等),请勿使用本套提示词。
|
||||
@ -0,0 +1,203 @@
|
||||
# 90年代复古日系动画风格 - 人物基础形象生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、基础形象原则
|
||||
|
||||
1. **线条即灵魂** — 手绘流畅线条为角色核心,避免数字化锐利边缘
|
||||
2. **平涂上色** — 基础服装+素颜,后续服化为叠加层(女性:白色背心+内裤;男性:白色内裤)
|
||||
3. **四视图一致** — 面容/体型/发型/基础服装跨视图高度统一
|
||||
4. **情感克制冷静** — 无妆状态需体现角色气质(温柔/忧郁/淡然)
|
||||
|
||||
---
|
||||
|
||||
## 二、面容约束
|
||||
|
||||
### 女性面容
|
||||
|
||||
| 部位 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 脸型 | 鹅蛋脸、下巴圆润、线条柔和 | 鹅蛋脸、圆润脸型 |
|
||||
| 眼型 | 大眼、单眼皮/内双、瞳孔有柔光 | 大眼、单眼皮、柔光瞳孔 |
|
||||
| 眉型 | 自然弯眉、颜色深棕 | 自然弯眉、深棕色 |
|
||||
| 鼻型 | 小鼻、鼻梁线条简洁 | 小巧鼻、简洁线条 |
|
||||
| 唇型 | 樱桃唇、自然粉色 | 樱桃唇、自然粉色 |
|
||||
| 气质 | 温柔/忧郁/古典、怀旧感 | 温柔忧郁、怀旧气质 |
|
||||
|
||||
### 男性面容
|
||||
|
||||
| 部位 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 脸型 | 棱角分明、下颌线清晰 | 棱角分明、清晰下颌 |
|
||||
| 眼型 | 狭长眼、眼神清澈 | 狭长眼、清澈眼神 |
|
||||
| 眉型 | 剑眉、自然浓密 | 剑眉、自然浓密 |
|
||||
| 鼻型 | 高挺鼻梁、线条分明 | 高挺鼻梁、分明线条 |
|
||||
| 唇型 | 薄唇、自然唇色 | 薄唇、自然唇色 |
|
||||
| 气质 | 清冷/阳光/温柔 | 清冷俊逸/阳光少年、怀旧感 |
|
||||
|
||||
---
|
||||
|
||||
## 三、肤感约束
|
||||
|
||||
### 女性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 肤色 | 冷白皮、暖调米白 | 冷白皮、暖调米白 |
|
||||
| 光泽 | 平涂上色、柔和光泽 | 平涂上色、柔和光泽 |
|
||||
| 质感 | 手绘质感、无数字化痕迹 | 手绘质感、无数字化痕迹 |
|
||||
| 露肤 | 面部/颈部/手部 | 锁骨可见、颈线清晰 |
|
||||
|
||||
### 男性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 肤色 | 健康肤色、暖调自然 | 健康肤色、暖调自然 |
|
||||
| 光泽 | 平涂上色、自然光泽 | 平涂上色、自然光泽 |
|
||||
| 质感 | 手绘质感、简单纹理 | 手绘质感、简单纹理 |
|
||||
|
||||
---
|
||||
|
||||
## 四、体型约束
|
||||
|
||||
### 女性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 身高 | 由角色设定指定,默认155-165cm | {身高}cm、{身高描述} |
|
||||
| 头身比 | 六头身至六头半、90年代常见比例 | 6-6.5 heads tall、90年代比例 |
|
||||
| 肩颈 | 纤细、肩线柔和 | 纤细肩部、柔美颈线 |
|
||||
| 手部 | 纤细、指节分明 | 纤细玉手、手指修长 |
|
||||
| 体态 | 优雅/温柔、体态轻盈 | 体态轻盈、身姿优雅 |
|
||||
|
||||
### 男性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 身高 | 由角色设定指定,默认170-180cm | {身高}cm、{身高描述} |
|
||||
| 头身比 | 六头半至七头半 | 6.5-7.5 heads tall、90年代比例 |
|
||||
| 肩颈 | 宽肩、颈线有力 | 宽肩、颈部有力 |
|
||||
| 手部 | 骨节分明、手掌比例协调 | 手指骨节分明 |
|
||||
| 体态 | 挺拔/健壮、体态自然 | 身姿挺拔、体态健壮 |
|
||||
|
||||
---
|
||||
|
||||
## 五、基础发型约束
|
||||
|
||||
> 仅定义自然散发/简单束发,发饰在衍生环节叠加。
|
||||
|
||||
### 女性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 发色 | 自然发色(黑/棕/金) | 黑发、棕发、金发 |
|
||||
| 发长 | 及肩或更长 | 长发、及肩发 |
|
||||
| 发质 | 手绘质感、线条流畅 | 发丝流畅、手绘质感 |
|
||||
| 造型 | 自然散发、无发饰 | 长发自然散落、无发饰 |
|
||||
|
||||
### 男性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 发色 | 自然发色(黑/棕/灰) | 黑发、棕发、银发 |
|
||||
| 发长 | 中长至长发 | 中长发、长发 |
|
||||
| 发质 | 手绘质感、线条流畅 | 发丝流畅、手绘质感 |
|
||||
| 造型 | 自然散发或半束、无发冠 | 长发自然散落、半束发 |
|
||||
|
||||
---
|
||||
|
||||
## 六、基础服装约束
|
||||
|
||||
> 基础服装无特殊约束,女性为白色背心+内裤,男性为白色内裤。正式服饰在衍生环节叠加。
|
||||
|
||||
### 女性基础服装
|
||||
|
||||
白色背心和内裤,颜色统一为暖白色,无花纹装饰。
|
||||
|
||||
### 男性基础服装
|
||||
|
||||
白色内裤,颜色统一为暖白色,无花纹装饰。
|
||||
|
||||
### 着装统一规则
|
||||
|
||||
- 服装风格统一,确保后续服饰叠加无色彩干扰
|
||||
- 除面部/手部/颈部外基本覆盖
|
||||
- 四视图服装款式完全一致
|
||||
- 基础服装仅为安全打底,焦点在面容与体态
|
||||
|
||||
---
|
||||
|
||||
## 七、四视图设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
| 位置 | 视图 | 角度 | 景别 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|---|
|
||||
| 左一 | 人像特写 | 正面平视 | 头顶至锁骨 | 从头顶到锁骨完整展示,面部占60%+ | portrait closeup、face detail |
|
||||
| 左二 | 正视图 | 正面 0° | 全身立像 | 面对镜头、双臂自然、从头到脚完整 | front view、full body head to toe |
|
||||
| 右二 | 侧视图 | 右侧 90° | 全身立像 | 纯侧面轮廓清晰、从头到脚完整 | side view、profile、full body head to toe |
|
||||
| 右一 | 后视图 | 后方 180° | 全身立像 | 后脑/背部/发尾/脚部清晰 | back view、rear view、full body head to toe |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面从左至右并排四视图 |
|
||||
| 背景 | 暖调米白 #F8F4E8 |
|
||||
| 站姿 | 自然站立、双脚平行微分、双臂自然下垂 |
|
||||
| 全身展示 | 从头到脚完整入画,严禁裁切头顶或脚部 |
|
||||
| 特写展示 | 从头顶到锁骨完整入画,严禁裁切头顶 |
|
||||
| 表情 | 中性微表情,符合角色气质 |
|
||||
| 光线 | 柔和电影光,前方主光 + 双侧补光 |
|
||||
| 一致性 | 四视图的肤色/体型/发型/面容/基础服装完全一致 |
|
||||
| 画面比例 | 建议 4:1 或 3:1 |
|
||||
|
||||
---
|
||||
|
||||
## 八、提示词模板
|
||||
|
||||
```
|
||||
{性别}角色四视图设定图,90s anime style,复古日系动画风格,手绘平涂上色,柔和暖色调,精细流畅线条,电影感光影,
|
||||
character design sheet,character turnaround,
|
||||
{脸型},{眼型},{鼻型},{唇型},{整体气质},素颜无妆,
|
||||
{肤色},平涂上色,手绘质感,皮肤细腻,
|
||||
{身高描述,如:165cm tall、slender woman},{头身比,如:6.5 heads tall proportion},{身材描述},{体态描述},
|
||||
{发色}{发长},发丝流畅,{基础造型},无发饰,
|
||||
(女性:白色背心和内裤 / 男性:仅白色内裤),暖白色,无花纹,
|
||||
同一画面左至右并排:人像特写+正视图+侧视图+后视图,
|
||||
人像特写从头顶到锁骨完整展示,head to collarbone complete,
|
||||
全身立像从头顶到脚底完整展示,full body head to toe,不裁切头顶和脚部,
|
||||
自然站立,纯净中性灰背景,柔和电影光,无硬阴影,
|
||||
四视图一致性,面容细腻渲染,发丝细腻渲染
|
||||
图中不要有任何文字
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 九、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 必须为「素颜无妆」状态 |
|
||||
| R2 | 必须声明基础服装(女性:白色背心+内裤;男性:白色内裤) |
|
||||
| R3 | 必须声明「无发饰、无配饰」 |
|
||||
| R4 | 必须指定「暖调米白背景 #F8F4E8」 |
|
||||
| R5 | 必须指定「四视图一致性」 |
|
||||
| R6 | 全身立像必须从头到脚完整展示,严禁裁切 |
|
||||
| R7 | 必须指定角色身高并通过头身比换算约束全身比例(女性默认155-165cm/6-6.5头身,男性默认170-180cm/6.5-7.5头身) |
|
||||
| R8 | 人像特写必须从头顶到锁骨完整展示,严禁裁切头顶 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 基础服装以外的任何服装/配饰/妆容 |
|
||||
| X2 | 数字化锐利边缘、过饱和色彩 |
|
||||
| X3 | 过度美白至无血色 |
|
||||
| X4 | 复杂场景背景(必须暖色调背景) |
|
||||
| X5 | 夸张表情/动态姿势 |
|
||||
| X6 | 全身立像裁切头顶或脚底,必须从头到脚完整入画 |
|
||||
| X7 | 人像特写裁切头顶,必须从头顶到锁骨完整入画 |
|
||||
| X8 | 忽略身高和头身比约束 |
|
||||
@ -0,0 +1,273 @@
|
||||
# 90年代复古日系动画风格 - 人物衍生资产生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、叠加原则
|
||||
|
||||
1. **面容不变** — 叠加后五官必须与底模完全一致,禁止面容偏移
|
||||
2. **姿态不变** — 保持底模自然站立姿态,禁止任何姿态/动作/体态变化
|
||||
3. **逐层可控** — 每层独立描述,便于按层替换(换装不换妆)
|
||||
4. **风格统一** — 所有服化元素服从90年代复古手绘平涂美学体系
|
||||
5. **质感不降** — 叠加后手绘质感标准不低于底模
|
||||
6. **纯服化范畴** — 仅叠加妆容/发型/服饰/配饰,禁止引入道具、场景、环境、动作
|
||||
|
||||
---
|
||||
|
||||
## 二、叠加层级
|
||||
|
||||
| 层级 | 内容 | 说明 |
|
||||
|---|---|---|
|
||||
| L0 | 底模 | 基础形象底模,不修改 |
|
||||
| L1 | 妆容(决策层) | 根据用户线索分析妆造强度 |
|
||||
| L2 | 发型造型 | 发髻/束发/编发 + 发饰 |
|
||||
| L3 | 中衣/内搭 | 替换白色基础中衣 |
|
||||
| L4 | 外衣/主服 | 和服/现代装/复古装等 |
|
||||
| L5 | 配饰 | 头饰/耳饰/项饰/腰饰/手饰 |
|
||||
|
||||
> **范畴边界**:人物衍生资产仅包含 L0–L5 层级,不包含道具、场景环境、姿态动作。
|
||||
|
||||
---
|
||||
|
||||
## 三、妆容约束(L1)
|
||||
|
||||
### 底模到衍生妆造策略(关键)
|
||||
|
||||
> 角色底模为素颜,但衍生资产默认进入妆造流程。系统应根据用户线索分析妆容需求,在基础妆/轻妆/正式妆之间决策强度。
|
||||
|
||||
### 线索到妆容映射
|
||||
|
||||
| 线索类型 | 典型线索 | L1 决策 |
|
||||
|---|---|---|
|
||||
| 无明显面部强调线索 | 仅服饰/发型变化 | 基础妆 |
|
||||
| 轻微面部线索 | 含笑、气色微提 | 轻妆 |
|
||||
| 明确病弱线索 | 面色苍白、唇色极淡 | 病弱妆 |
|
||||
| 明确正式仪式线索 | 盛装、典礼 | 正式妆 |
|
||||
|
||||
### 女性妆容风格矩阵
|
||||
|
||||
| 风格 | 适用场景 | 核心提示词 |
|
||||
|---|---|---|
|
||||
| 日常淡妆 | 日常、初遇 | 淡妆、自然妆容、怀旧感 |
|
||||
| 约会妆 | 约会、约会 | 甜美妆、暖粉色、气色好 |
|
||||
| 正式妆 | 宴会、典礼 | 精致妆容、眼妆明显 |
|
||||
| 病弱妆 | 受伤、虚弱 | 面色苍白、唇色淡、眼妆轻 |
|
||||
| 复古妆 | 怀旧场景、经典 | 复古妆容、90年代风格 |
|
||||
|
||||
### 通用底肤
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 质感 | 平涂上色、均匀色调 | 平涂上色、皮肤均匀 |
|
||||
| 白度 | 暖白皮、柔和不刺眼 | 暖白皮、柔和白皙 |
|
||||
| 内透光 | 平涂中保留柔光感 | 皮肤通透、柔和光泽 |
|
||||
| 禁止 | 过度数字化/油光/厚重感 | — |
|
||||
|
||||
### 男性妆容
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 底肤 | 健康肤色、平涂上色 | 健康肤色、平涂上色 |
|
||||
| 原则 | 伪素颜——看着没化妆但皮肤好 | 伪素颜、天生好皮 |
|
||||
| 眉毛 | 自然浓眉、不画眉 | 剑眉自然、眉形英挺 |
|
||||
| 唇色 | 自然血色、微润 | 唇色自然、血色感 |
|
||||
|
||||
---
|
||||
|
||||
## 四、发型造型约束(L2)
|
||||
|
||||
### 女性造型类型
|
||||
|
||||
| 造型 | 描述 | 适用 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 双马尾 | 两侧马尾、90年代常见 | 少女、日常 | 双马尾、90年代风格 |
|
||||
| 高马尾 | 头顶马尾、干练 | 运动、行动 | 高马尾、干练 |
|
||||
| 长发披散 | 长发全散、温柔 | 温柔、日常 | 长发披散、柔顺 |
|
||||
| 侧马尾 | 一侧马尾、不对称 | 俏皮、个性 | 侧马尾、俏皮 |
|
||||
| 编发 | 辫子造型、精致 | 正式、场合 | 编发、精致发型 |
|
||||
| 丸子头 | 头顶丸子、可爱 | 可爱、日常 | 丸子头、可爱 |
|
||||
|
||||
### 女性发饰
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 风格 | 90年代常见、与服饰配套 | 90年代发饰、复古风格 |
|
||||
| 材质 | 丝带/珠玉/金属 | 丝带发饰、珠玉发饰 |
|
||||
| 工艺 | 手绘质感、符合90年代 | 手绘发饰、90年代风格 |
|
||||
|
||||
### 男性造型类型
|
||||
|
||||
| 造型 | 适用 | 提示词 |
|
||||
|---|---|---|
|
||||
| 短发 | 日常、干练 | 短发、干练 |
|
||||
| 中长发 | 日常、文雅 | 中长发、文雅 |
|
||||
| 长发束起 | 正式、战斗 | 长发束起、帅气 |
|
||||
| 散发披肩 | 休闲、温柔 | 散发披肩、温柔 |
|
||||
|
||||
---
|
||||
|
||||
## 五、服饰约束(L3+L4)
|
||||
|
||||
### 女性服饰矩阵
|
||||
|
||||
| 风格 | 款式 | 适用 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 日常休闲装 | T恤/牛仔裤/连衣裙 | 日常、校园 | 休闲装、舒适 |
|
||||
| 和服/汉服 | 传统服饰 | 场合、主题 | 和服、汉服 |
|
||||
| 运动装 | 运动服、卫衣 | 运动、休闲 | 运动装、活力 |
|
||||
| 礼服 | 礼服裙、90年代风格 | 宴会、正式 | 礼服、优雅 |
|
||||
| 制服 | 校服、90年代制服 | 校园、职场 | 制服、整洁 |
|
||||
|
||||
### 女性服饰通用约束
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 主色 | 暖色调、怀旧色彩 | 暖色调、怀旧色彩 |
|
||||
| 材质 | 布料质感清晰 | 布料纹理清晰、平涂上色 |
|
||||
| 质感 | 线条流畅、色彩柔和 | 线条流畅、色彩柔和 |
|
||||
| 层次 | 层次分明、细节丰富 | 层次分明、细节清晰 |
|
||||
|
||||
### 男性服饰矩阵
|
||||
|
||||
| 风格 | 适用 | 提示词 |
|
||||
|---|---|---|
|
||||
| 日常休闲装 | T恤/牛仔裤 | 日常、休闲 |
|
||||
| 制服 | 校服、90年代制服 | 制服、整洁 |
|
||||
| 西装 | 正装、正式 | 西装、正式 |
|
||||
| 运动装 | 运动服、卫衣 | 运动、活力 |
|
||||
| 和服/汉服 | 传统、场合 | 和服、汉服 |
|
||||
|
||||
---
|
||||
|
||||
## 六、配饰约束(L5)
|
||||
|
||||
### 女性配饰
|
||||
|
||||
| 类型 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 头饰 | 发箍/发夹/蝴蝶结 | 发饰、精致 |
|
||||
| 耳饰 | 耳环/耳钉 | 耳环、小巧 |
|
||||
| 项饰 | 项链/吊坠 | 项链、精致 |
|
||||
| 手饰 | 手镯/手环 | 手镯、纤细 |
|
||||
| 包饰 | 包包、挎包 | 包包、时尚 |
|
||||
|
||||
### 男性配饰
|
||||
|
||||
| 类型 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 眼镜 | 眼镜/墨镜 | 眼镜、时尚 |
|
||||
| 手表 | 手表 | 手表、精致 |
|
||||
| 戒指 | 戒指 | 戒指、简约 |
|
||||
| 围巾 | 围巾 | 围巾、保暖 |
|
||||
|
||||
---
|
||||
|
||||
## 七、服化组合速查
|
||||
|
||||
| 场景 | 妆容 | 发型 | 服饰 | 配饰 |
|
||||
|---|---|---|---|---|
|
||||
| 日常校园 | 日常淡妆 | 双马尾/长发披散 | 制服/日常休闲装 | 简约 |
|
||||
| 初次相遇 | 日常淡妆 | 长发披散/侧马尾 | 日常休闲装 | 中等 |
|
||||
| 甜蜜约会 | 约会妆 | 侧马尾/丸子头 | 休闲/和服 | 中偏多 |
|
||||
| 正式场合 | 正式妆 | 编发/高马尾 | 礼服/正式服 | 较繁 |
|
||||
| 温柔私密 | 日常淡妆 | 长发披散 | 日常休闲装 | 简约 |
|
||||
| 激烈行动 | 日常淡妆(极淡) | 高马尾 | 运动装 | 简 |
|
||||
| 复古场景 | 复古妆 | 编发/双马尾 | 和服/复古装 | 中等 |
|
||||
|
||||
> **🔍 未覆盖场景推断规则**
|
||||
>
|
||||
> 当用户描述的场景/情境不在上表时,根据本风格核心基因自行推断:
|
||||
>
|
||||
> | 推断维度 | 90年代复古日系动画基因 |
|
||||
> |---|---|
|
||||
> | 妆容强度 | 默认日常淡妆(平涂上色、怀旧感);正式/典礼→正式妆;约会/心动→约会妆;复古主题→复古妆 |
|
||||
> | 发型 | 日常/少女→双马尾或长发披散;运动/行动→高马尾;正式→编发;俏皮/个性→侧马尾;可爱→丸子头 |
|
||||
> | 服饰 | 90年代风格为锚(校服/制服/休闲装/和服);暖色调、怀旧色彩优先;线条流畅、布料纹理清晰 |
|
||||
> | 配饰繁度 | 日常→简约(90年代风格发饰+基础配饰);正式→中等偏繁;行动/运动→简或无 |
|
||||
> | 质感基准 | 手绘平涂上色始终锁定;线条流畅、色彩柔和暖调;禁止数字感/3D渲染/现代CG质感 |
|
||||
|
||||
---
|
||||
|
||||
## 八、四视图设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
| 位置 | 视图 | 角度 | 景别 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|---|
|
||||
| 左一 | 人像特写 | 正面平视 | 面部至锁骨 | 面部占60%+,五官/妆容清晰 | portrait closeup、face detail |
|
||||
| 左二 | 正视图 | 正面 0° | 全身立像 | 面对镜头、服饰正面全貌 | front view、full body |
|
||||
| 右二 | 侧视图 | 右侧 90° | 全身立像 | 纯侧面轮廓、服饰侧面层次 | side view、profile |
|
||||
| 右一 | 后视图 | 后方 180° | 全身立像 | 后脑发饰/背部服饰清晰 | back view、rear view |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面从左至右并排四视图 |
|
||||
| 背景 | 暖调米白 #F8F4E8 |
|
||||
| 站姿 | 自然站立、双脚平行微分(**禁止任何姿态变化**) |
|
||||
| 表情 | 符合妆容风格的微表情(如淡妆→自然、正式妆→微笑) |
|
||||
| 光线 | 柔和电影光,均匀柔光,无硬阴影 |
|
||||
| 一致性 | 四视图的面容/妆容/发型/发饰/服饰/配饰完全一致 |
|
||||
| 画面比例 | 建议 4:1 或 3:1 |
|
||||
|
||||
---
|
||||
|
||||
## 八、提示词模板
|
||||
|
||||
```
|
||||
以角色基础形象图为底图,img2img叠加服化妆造,
|
||||
90s anime style,复古日系动画风格,{性别}角色四视图设定图,手绘平涂上色,柔和暖色调,电影感光影,
|
||||
character design sheet,character turnaround,
|
||||
保持基础形象面容不变,{整体气质},
|
||||
【L1·妆容】{基础妆/轻妆/正式妆};使用 {妆容风格},皮肤均匀,{眉妆},{眼妆},{唇妆},
|
||||
【L2·发型】{造型类型},发丝流畅,{发饰描述},
|
||||
【L3+L4·服饰】{主色}{款式},{材质},{装饰工艺},衣服线条流畅,纹理清晰,
|
||||
【L5·配饰】{头饰},{耳饰},{项饰},{腰饰},
|
||||
同一画面左至右并排:人像特写+正视图+侧视图+后视图,
|
||||
自然站立,纯净中性灰背景,柔和电影光,无硬阴影,
|
||||
四视图一致性,面容细腻渲染,发丝细腻渲染,纹理细节清晰
|
||||
图中不要有任何文字
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 九、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 叠加后面容必须与底模一致 |
|
||||
| R2 | 服饰必须用「衣服线条流畅 + 纹理清晰」 |
|
||||
| R3 | 女性配饰必须「90年代风格、与服饰配套」 |
|
||||
| R4 | 妆容/发型/服饰/配饰风格统一 |
|
||||
| R5 | 必须输出四视图设定图(人像特写+正视图+侧视图+后视图) |
|
||||
| R6 | 必须指定「暖调米白背景 #F8F4E8」 |
|
||||
| R7 | 必须指定「四视图一致性」 |
|
||||
| R8 | **仅输出提示词**——禁止输出表格/方案/解释/变体等 |
|
||||
| R9 | **禁止包含场景描述**——不包含场景/环境/天气描述 |
|
||||
| R10 | **禁止道具交互**——不包含任何手持物/交互物 |
|
||||
| R11 | **姿态保持不变**——必须保持底模自然站立姿态 |
|
||||
| R12 | **L1 先分析再决策**——先解析用户面部线索,再确定妆容强度 |
|
||||
| R13 | **所有衍生资产均需妆造**——至少使用基础妆 |
|
||||
| R14 | **上妆强度受控**——不得出现过度夸张的妆容 |
|
||||
| R15 | **道具/场景/动作不作强度升级依据**——仅凭这些信息不得把基础妆抬高 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 叠加后面容偏移 |
|
||||
| X2 | 配饰过于简单/现代化(女性) |
|
||||
| X3 | 妆容/服饰风格互相冲突 |
|
||||
| X4 | 复杂场景背景(必须暖色调背景) |
|
||||
| X5 | 四视图间服化妆造不一致 |
|
||||
| X6 | 输出提示词以外的任何内容 |
|
||||
| X7 | 在人物衍生资产中加入场景描述 |
|
||||
| X8 | 输出「速查表」「方案」「建议」等章节 |
|
||||
| X9 | 加入任何道具交互 |
|
||||
| X10 | 改变底模姿态 |
|
||||
| X11 | 加入表情与姿态联动描述 |
|
||||
| X12 | 未分析用户线索就直接套用固定妆容 |
|
||||
| X13 | 错误保持素颜,导致缺少应有妆造 |
|
||||
| X14 | 仅因道具/场景/动作词而误把妆容升级 |
|
||||
@ -0,0 +1,127 @@
|
||||
# 90年代复古日系动画风格 - 道具图像生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、道具设计原则
|
||||
|
||||
1. **功能可读** — 道具用途一目了然,造型服务于功能
|
||||
2. **质感极致** — 材质纹理必须清晰可辨(金属/玉石/木/布/纸)
|
||||
3. **年代风格** — 所有道具符合90年代世界观,风格统一
|
||||
4. **尺度明确** — 通过参照物或标注暗示道具真实尺寸
|
||||
5. **纯道具独立展示** — 画面中只能出现道具本身,严禁出现任何人物、手部、肢体,道具不可处于被持有/佩戴/握持状态,必须以静物陈列方式独立呈现
|
||||
|
||||
---
|
||||
|
||||
## 二、道具分类与美学约束
|
||||
|
||||
### 2.1 兵器类
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 剑/刀/弓/长枪/镰刀 | {兵器类型},90年代兵器 |
|
||||
| 材质 | 金属+宝石装饰+丝带 | 金属光泽、宝石装饰 |
|
||||
| 装饰 | 雕花、流苏、复古纹样 | 雕花精致、复古纹样 |
|
||||
| 光泽 | 金属光泽、宝石反光 | 金属光泽、宝石璀璨 |
|
||||
| 提示词 | 90年代{兵器},金属锻造,宝石装饰 | — |
|
||||
|
||||
### 2.2 饰品类
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 发饰/项链/手镯/戒指 | {饰品类型},90年代首饰 |
|
||||
| 材质 | 金属/宝石/丝带/珍珠 | 金属光泽、宝石透明 |
|
||||
| 工艺 | 手绘质感、复古风格 | 精细工艺、90年代风格 |
|
||||
| 光泽 | 宝石光泽/金属光泽 | 宝石璀璨、金属光泽 |
|
||||
| 提示词 | 90年代{饰品},{材质},精细工艺 | — |
|
||||
|
||||
### 2.3 生活器物类
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 茶具/书本/乐器/文具 | {器物类型},90年代器物 |
|
||||
| 材质 | 金属/木/纸/陶瓷 | 材质质感清晰 |
|
||||
| 质感 | 线条流畅、色彩柔和 | 线条流畅、质感清晰 |
|
||||
| 风格 | 简约/华丽按场景切换 | 简约精致 / 华丽精致 |
|
||||
| 提示词 | 90年代{器物},{材质}质感,线条流畅 | — |
|
||||
|
||||
### 2.4 信物/关键道具类
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 信物/令牌/卷轴/药瓶/魔法道具 | {道具类型},90年代道具 |
|
||||
| 特殊性 | 需有辨识度、叙事象征意义 | 独特造型、象征意义 |
|
||||
| 状态 | 可按剧情需要添加使用感 | 古旧 / 崭新 |
|
||||
| 提示词 | 90年代{道具},{材质},{状态},独特造型 | — |
|
||||
|
||||
---
|
||||
|
||||
## 三、多角度设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
| 位置 | 视图 | 角度 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|
|
||||
| 左上 | 正面图 | 正面 0° | 道具完整正面形态 | front view |
|
||||
| 右上 | 侧面图 | 侧面 90° | 厚度/轮廓/结构清晰 | side view |
|
||||
| 左下 | 背面图 | 背面 180° | 道具背部结构/装饰 | back view |
|
||||
| 右下 | 细节特写 | 局部放大 | 材质纹理/工艺细节 | detail closeup |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面四宫格(2×2),上下左右四视角 |
|
||||
| 背景 | 暖调米白 #F8F4E8 |
|
||||
| 光线 | 柔和电影光,均匀柔光,无硬阴影 |
|
||||
| 比例 | 每格道具占格内主体 70%+ |
|
||||
| 投影 | 允许自然地面微投影 |
|
||||
| 画面比例 | 建议 1:1 |
|
||||
|
||||
---
|
||||
|
||||
## 四、材质渲染约束
|
||||
|
||||
| 材质 | 渲染要求 | 提示词 |
|
||||
|---|---|---|
|
||||
| 金属 | 光泽清晰、线条分明 | 金属质感、光泽清晰 |
|
||||
| 玉石 | 透明感、温润感 | 玉质通透、温润 |
|
||||
| 木质 | 纹理清晰、线条分明 | 木纹清晰、质感自然 |
|
||||
| 陶瓷 | 光滑表面、光泽均匀 | 陶瓷光泽、表面光滑 |
|
||||
| 布/纸 | 纤维质感、边缘清晰 | 布料纹理、纸质清晰 |
|
||||
| 宝石 | 透明感、折射感 | 宝石透明、折射感 |
|
||||
|
||||
---
|
||||
|
||||
## 五、提示词模板
|
||||
```
|
||||
90年代复古日系动画风格道具设定图,手绘平涂上色,柔和暖色调,精细流畅线条,电影感光影,
|
||||
{道具类型},{材质描述},{工艺/装饰描述},{状态描述},
|
||||
纯道具静物展示,道具独立陈列,无人持有,无人佩戴,
|
||||
同一画面四宫格(2×2):左上正面图+右上侧面图+左下背面图+右下细节特写,
|
||||
暖调米白背景,柔和电影光,均匀柔光,无硬阴影,
|
||||
材质纹理超清晰,手绘质感,{材质光泽描述}
|
||||
图中不要有任何文字,
|
||||
画面中不能出现任何人物、手部、手指、肢体,道具不可处于被握持或佩戴状态
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 六、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 必须指定「暖调米白背景 #F8F4E8」 |
|
||||
| R2 | 必须明确道具材质与工艺 |
|
||||
| R3 | 道具造型必须符合90年代世界观风格 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 复杂场景背景 |
|
||||
| X2 | 道具与人物同画面 |
|
||||
| X3 | 出现任何人物形象 |
|
||||
| X4 | 道具处于被持有、握持、佩戴、使用中的状态 |
|
||||
| X5 | 出现暗示人物存在的元素 |
|
||||
@ -0,0 +1,117 @@
|
||||
# 90年代复古日系动画风格 - 道具衍生状态生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、衍生原则
|
||||
|
||||
1. **造型锚定** — 道具核心造型/轮廓在所有状态中可识别
|
||||
2. **状态可读** — 状态差异必须一目了然
|
||||
3. **叙事服务** — 每种状态变体服务于特定剧情节点
|
||||
4. **渐进退化** — 损伤/老化状态应有合理的物理逻辑
|
||||
5. **纯道具独立展示** — 画面中只能出现道具本身,严禁出现任何人物、手部、肢体
|
||||
|
||||
---
|
||||
|
||||
## 二、状态类型
|
||||
|
||||
### 2.1 使用状态
|
||||
|
||||
| 状态 | 描述 | 适用道具 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 崭新 | 完好无损、光泽如新 | 所有道具 | 崭新、完好无损 |
|
||||
| 日常使用 | 微磨损、自然包浆 | 兵器/器物/饰品 | 日常使用痕迹、轻微磨损 |
|
||||
| 陈旧 | 明显年代感、色泽暗淡 | 器物/信物/卷轴 | 古旧、年代感 |
|
||||
|
||||
### 2.2 损伤状态
|
||||
|
||||
| 状态 | 描述 | 适用道具 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 微损 | 小裂纹/小缺口/轻微磨损 | 瓷器/玉佩/兵器 | 细微裂纹、轻微缺口 |
|
||||
| 破损 | 明显裂缝/断裂/破碎 | 瓷器/饰品/兵器 | 裂缝明显、碎裂 |
|
||||
| 残片 | 仅剩部分/碎片 | 瓷器/玉佩/信物 | 残片、碎片 |
|
||||
|
||||
### 2.3 特殊状态
|
||||
|
||||
| 状态 | 描述 | 适用道具 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 染血 | 血迹附着 | 兵器/信物 | 血迹、染血 |
|
||||
| 浸水/湿润 | 水渍、湿润反光 | 卷轴/信物/衣物 | 浸水、湿润 |
|
||||
| 燃烧/焦损 | 焦黑边缘、火烧痕迹 | 卷轴/信物/木质品 | 边缘焦黑、火烧痕迹 |
|
||||
| 发光/激活 | 内在能量、光芒四射 | 信物/法器/玉石 | 微微发光、内蕴光华 |
|
||||
| 包裹/封存 | 用布/盒子包裹 | 信物/饰品/秘物 | 包裹、封存 |
|
||||
|
||||
---
|
||||
|
||||
## 三、状态变体画面规范
|
||||
|
||||
### 单状态图
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 背景 | 暖调米白 #F8F4E8(与设定图一致) |
|
||||
| 光线 | 柔和电影光,均匀照明,无硬阴影 |
|
||||
| 角度 | 与原设定图正面图一致 |
|
||||
| 比例 | 道具占画面主体 70%+ |
|
||||
|
||||
### 状态对比图
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面并排展示 2-3 种状态 |
|
||||
| 标注 | 每种状态下方标注状态名 |
|
||||
| 一致性 | 角度/光线/背景完全一致,仅状态不同 |
|
||||
|
||||
---
|
||||
|
||||
## 四、材质状态变化规则
|
||||
|
||||
| 材质 | 崭新 → 日常 | 日常 → 陈旧 | 损伤表现 |
|
||||
|---|---|---|---|
|
||||
| 金属 | 亮光泽 → 微包浆 | 包浆 → 锈蚀斑点 | 缺口/卷刃/断裂 |
|
||||
| 玉石 | 通透温润 → 微磨损 | 磨损 → 表面微裂 | 裂纹/碎裂/缺角 |
|
||||
| 木质 | 新木纹理 → 自然包浆 | 包浆 → 色泽暗沉 | 开裂/断裂/虫蛀 |
|
||||
| 瓷器 | 釉面光泽 → 微划痕 | 划痕 → 釉面暗淡 | 裂纹/碎裂/缺口 |
|
||||
| 布/纸 | 崭新平整 → 微皱折 | 皱折 → 发黄变脆 | 撕裂/焦损 |
|
||||
|
||||
---
|
||||
|
||||
## 五、提示词模板
|
||||
|
||||
### 单状态变体
|
||||
|
||||
```
|
||||
基于{道具名}设定图,90年代复古日系动画风格,手绘平涂上色,柔和暖色调,
|
||||
{道具类型},{材质描述},
|
||||
当前状态:{状态名},{状态视觉描述},
|
||||
{材质表面变化描述},
|
||||
纯道具静物展示,道具独立陈列,无人持有,无人佩戴,
|
||||
同一画面四宫格(2×2):左上正面图(front view)+右上侧面图(side view)+左下背面图(back view)+右下细节特写(detail closeup),
|
||||
暖调米白背景,柔和电影光,均匀柔光,无硬阴影,
|
||||
材质纹理超清晰,手绘质感,状态细节可辨
|
||||
图中不要有任何文字,
|
||||
画面中不能出现任何人物、手部、手指、肢体,道具不可处于被握持或佩戴状态
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 六、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 道具核心造型/轮廓在所有状态中可识别 |
|
||||
| R2 | 状态变化须符合物理逻辑 |
|
||||
| R3 | 必须使用四宫格(2×2)布局 |
|
||||
| R4 | 必须指定「暖调米白背景」,柔和电影光 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 状态变化后道具不可识别 |
|
||||
| X2 | 违反物理逻辑的损伤 |
|
||||
| X3 | 过度血腥/恐怖的损伤描绘 |
|
||||
| X4 | 出现任何人物形象 |
|
||||
| X5 | 道具处于被持有、握持、佩戴、使用中的状态 |
|
||||
| X6 | 出现暗示人物存在的元素 |
|
||||
@ -0,0 +1,152 @@
|
||||
# 90年代复古日系动画风格 - 场景图生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、场景美学原则
|
||||
|
||||
1. **空间叙事** — 场景承载情绪与叙事功能,不是纯背景板
|
||||
2. **层次纵深** — 所有场景必须具备前/中/后景,杜绝扁平
|
||||
3. **质感至上** — 线条/色彩/光影等材质表现必须清晰
|
||||
4. **90年代为锚** — 一切画面以90年代复古日系动画为标准,拒绝现代CG/3D渲染;追求手绘线条特征(流畅线条、块面阴影)与电影感光影(柔和暖光、体积光)
|
||||
|
||||
---
|
||||
|
||||
## 二、季节色调映射
|
||||
|
||||
| 季节 | 主色调 | 辅色调 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 春 | 粉色+嫩绿 | 浅黄、淡紫 | 春日粉色、樱花盛开 |
|
||||
| 夏 | 碧绿+蓝色 | 浅蓝、白色 | 夏日碧绿、蓝天白云 |
|
||||
| 秋 | 金黄+橙红 | 棕色、深绿 | 秋日金黄、枫叶变红 |
|
||||
| 冬 | 白色+灰色 | 深蓝、浅蓝 | 冬日白色、雪花飘落 |
|
||||
|
||||
---
|
||||
|
||||
## 三、室内场景
|
||||
|
||||
### 空间规范
|
||||
|
||||
| 维度 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 风格 | 90年代日式房间/西式房间 | {风格}风格 |
|
||||
| 材质 | 木质/石材/布料/玻璃为主 | 木质家具、布艺装饰 |
|
||||
| 色调 | 低饱和暖色调/柔和冷色调 | 暖色调/冷色调 |
|
||||
| 纵深 | 前/中/后景层次 | 前景{元素}、中景{元素}、后景{元素} |
|
||||
| 质感 | 线条流畅、色彩柔和 | 线条流畅、色彩柔和 |
|
||||
| 光照 | 自然光/灯光,柔和电影光 | 自然光照、柔和电影光 |
|
||||
| 线条感 | 轮廓线清晰、块面阴影 | 清晰线条、块面阴影 |
|
||||
| 瑕疵感 | 墙面有使用痕迹、家具自然磨损 | 使用痕迹、自然磨损 |
|
||||
|
||||
### 室内类型速查
|
||||
|
||||
| 类型 | 核心元素 | 氛围词 |
|
||||
|---|---|---|
|
||||
| 卧室/闺房 | 床/衣柜/梳妆台 | 温馨私密、舒适 |
|
||||
| 书房/书斋 | 书架/书桌/椅子 | 宁静、书卷气 |
|
||||
| 客厅/正厅 | 沙发/茶几/装饰 | 舒适、温馨 |
|
||||
| 走廊/阳台 | 栏杆/植物/装饰 | 通透、开阔 |
|
||||
| 厨房/餐厅 | 餐桌/厨具 | 温馨、烟火气 |
|
||||
|
||||
---
|
||||
|
||||
## 四、室外场景
|
||||
|
||||
### 空间规范
|
||||
|
||||
| 维度 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 庭院/山林/街道/广场 | {场景},{季节},{时间} |
|
||||
| 天候 | 晴/阴/雨/雪 | 晴天、雨天、雪天 |
|
||||
| 植被 | 树/花/草(须符合季节) | 树木、花草 |
|
||||
| 建筑 | 90年代建筑/日式建筑 | 90年代建筑/日式建筑 |
|
||||
| 空气感 | 必须有空气透视,远处偏灰 | 空气透视、远景模糊 |
|
||||
| 光照 | 自然光为唯一光源,柔和电影光 | 自然光照、柔和电影光 |
|
||||
| 线条感 | 轮廓线清晰、块面阴影 | 清晰线条、块面阴影 |
|
||||
| 瑕疵感 | 墙面有使用痕迹、地面有磨损 | 使用痕迹、磨损痕迹 |
|
||||
|
||||
### 室外类型速查
|
||||
|
||||
| 类型 | 核心元素 | 氛围词 |
|
||||
|---|---|---|
|
||||
| 庭院花园 | 植物/小桥/水池 | 宁静、优美 |
|
||||
| 山林/公园 | 树木/山石/道路 | 自然、开阔 |
|
||||
| 街道/市场 | 建筑/摊位/行人 | 热闹、生活气息 |
|
||||
| 河边/湖边 | 水面/桥梁/树木 | 宁静、优美 |
|
||||
| 屋顶/天台 | 栏杆/天空/远景 | 开阔、自由 |
|
||||
|
||||
---
|
||||
|
||||
## 五、四视图设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
> 摄像机固定于场景中心点,分别朝前/后/左/右四个方向拍摄,形成 360° 环视。
|
||||
|
||||
| 位置 | 视图 | 视角方向 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|
|
||||
| 左上 | 前视图 | 从中心点向前方平视(0°) | 展示场景正面主体结构与纵深层次 | front view、eye level |
|
||||
| 右上 | 右视图 | 从中心点向右方平视(90°) | 展示场景右侧空间延伸与侧面结构 | right side view、eye level |
|
||||
| 左下 | 后视图 | 从中心点向后方平视(180°) | 展示场景背面结构与空间纵深 | back view、eye level |
|
||||
| 右下 | 左视图 | 从中心点向左方平视(270°) | 展示场景左侧空间延伸与侧面结构 | left side view、eye level |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面 2×2 网格排列 |
|
||||
| 人物 | **严禁出现任何人物、人影、人体轮廓** |
|
||||
| 视点 | 四视图均从同一中心点出发,视线高度一致 |
|
||||
| 一致性 | 四视图的建筑结构/材质/色调/光线完全一致 |
|
||||
| 光线 | 四视图光源方向统一,保持光影逻辑一致 |
|
||||
| 画面比例 | 建议 1:1(2×2 网格) |
|
||||
|
||||
---
|
||||
|
||||
## 六、提示词模板
|
||||
```
|
||||
90年代复古日系动画风格场景四视图设定图,
|
||||
90s anime style,手绘平涂上色,柔和暖色调,精细流畅线条,电影感光影,
|
||||
scene design sheet,environment concept art,no people,no characters,no human figures,
|
||||
90年代复古风格,怀旧治愈氛围,
|
||||
{室内/室外},{场景类型},{季节+时间},
|
||||
前景:{元素},中景:{元素},后景:{元素},
|
||||
{色调描述},{天候/氛围元素},
|
||||
{材质描述},空气透视,线条细节超清晰,
|
||||
线条流畅、块面阴影、使用痕迹,
|
||||
柔和电影光、背景光晕、自然光照,
|
||||
同一画面2×2网格排列:从场景中心点环视,前视图+右视图+后视图+左视图,
|
||||
四视图均从同一中心点平视拍摄,建筑结构一致,材质色调一致,光影逻辑一致,
|
||||
画面中无任何人物
|
||||
图中不要有任何文字
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 七、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 场景必须有「前中后景层次」 |
|
||||
| R2 | 室外必须包含「空气透视」 |
|
||||
| R3 | 场景图必须为「四视图设定图」 |
|
||||
| R4 | 四视图的建筑结构/材质/色调/光线必须完全一致 |
|
||||
| R5 | 场景图中**严禁出现任何人物** |
|
||||
| R6 | 必须包含90年代关键词(90s anime style / hand-drawn / warm tone) |
|
||||
| R7 | 必须包含线条特征(流畅线条、块面阴影 至少一项) |
|
||||
| R8 | 材质必须带有使用痕迹,禁止全新无瑕的"CG 感" |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 背景纯白/纯黑/无场景 |
|
||||
| X2 | 极端天候(暴风雨/雷电/暴雪,除非剧情需要) |
|
||||
| X3 | 场景无纵深/无层次 |
|
||||
| X4 | 植被/天候与季节矛盾 |
|
||||
| X5 | 出现任何人物、人影、人体剪影 |
|
||||
| X6 | 四视图之间建筑结构/材质/色调不一致 |
|
||||
| X7 | 3D 渲染/CG 动画/现代风格质感 |
|
||||
| X8 | 材质过于干净完美、无任何使用痕迹 |
|
||||
| X9 | 光照过于均匀平坦、无柔和电影光 |
|
||||
@ -0,0 +1,159 @@
|
||||
# 90年代复古日系动画风格 - 场景衍生资产生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、衍生原则
|
||||
|
||||
1. **空间一致** — 建筑结构/布局/材质在所有变体中保持一致
|
||||
2. **景别驱动** — 同一场景通过不同景别展示不同叙事功能
|
||||
3. **时段切换** — 同一空间在不同时间段呈现不同光影氛围
|
||||
4. **天候变化** — 同一空间在不同天气下呈现不同情绪
|
||||
5. **90年代为锚** — 所有变体必须保持90年代复古风格,拒绝现代CG/3D渲染
|
||||
|
||||
---
|
||||
|
||||
## 二、景别变体
|
||||
|
||||
### 景别定义
|
||||
|
||||
| 景别 | 范围 | 叙事功能 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 大全景 | 场景全貌 + 周围环境 | 建立空间感、定位 | extreme wide shot |
|
||||
| 全景 | 场景完整呈现 | 展示空间结构 | wide shot |
|
||||
| 中景 | 场景局部区域 | 聚焦功能区 | medium shot |
|
||||
| 近景 | 场景细部 | 材质/氛围道具特写 | close shot |
|
||||
| 特写 | 极局部细节 | 材质纹理/关键道具 | extreme closeup |
|
||||
|
||||
### 景别衍生规范
|
||||
|
||||
| 从基准图衍生 | 保持不变 | 允许变化 |
|
||||
|---|---|---|
|
||||
| 大全景 → 全景 | 建筑外观、整体布局 | 视角收窄、前景增加 |
|
||||
| 全景 → 中景 | 材质、色调、光线 | 裁切聚焦、景深变化 |
|
||||
| 中景 → 近景 | 材质、色调 | 景深浅、背景虚化 |
|
||||
| 近景 → 特写 | 材质纹理 | 极浅景深、微距感 |
|
||||
|
||||
---
|
||||
|
||||
## 三、时段变体
|
||||
|
||||
### 时段定义
|
||||
|
||||
| 时段 | 视觉特征 | 提示词 |
|
||||
|---|---|---|
|
||||
| 清晨 | 薄雾柔光、色调偏冷 | 晨光、清晨薄雾 |
|
||||
| 正午 | 明亮、阴影短、色彩鲜明 | 正午阳光、光线明亮 |
|
||||
| 黄昏 | 金色色调、长影、天空渐变 | 黄昏、golden hour |
|
||||
| 夜间(月光) | 冷蓝色调、幽静清冷 | 月光、月夜 |
|
||||
| 夜间(灯火) | 暖黄点缀、明暗对比 | 夜晚、灯火 |
|
||||
|
||||
### 时段衍生规范
|
||||
|
||||
| 从基准时段衍生 | 保持不变 | 变化项 |
|
||||
|---|---|---|
|
||||
| 日间 → 黄昏 | 建筑/布局/材质 | 天空色调暖化、影子拉长 |
|
||||
| 日间 → 夜间 | 建筑/布局/材质 | 整体变暗、增加灯火/月色 |
|
||||
| 室内日间 → 室内夜间 | 空间结构、家具 | 整体色调暖化、增加光源 |
|
||||
|
||||
---
|
||||
|
||||
## 四、天候变体
|
||||
|
||||
### 天候定义
|
||||
|
||||
| 天候 | 视觉特征 | 提示词 |
|
||||
|---|---|---|
|
||||
| 晴天 | 明亮、阴影清晰 | 晴天、阳光明媚 |
|
||||
| 阴天 | 光线均匀、无硬影 | 阴天、柔和光线 |
|
||||
| 薄雾 | 能见度降低、空气朦胧 | 薄雾、雾气缭绕 |
|
||||
| 细雨 | 水珠、湿润反光 | 细雨、雨丝 |
|
||||
| 飞雪 | 白色覆盖、雪花飘落 | 飞雪、雪花 |
|
||||
|
||||
### 天候衍生规范
|
||||
|
||||
| 从基准天候衍生 | 保持不变 | 变化项 |
|
||||
|---|---|---|
|
||||
| 晴 → 薄雾 | 建筑/布局 | 增加雾气层、远景模糊 |
|
||||
| 晴 → 细雨 | 建筑/布局 | 增加雨丝、地面反光 |
|
||||
| 晴 → 飞雪 | 建筑/布局 | 增加积雪、雪花 |
|
||||
| 植被需随天候逻辑适配 | — | 雨中植物湿润、雪中植物挂霜 |
|
||||
|
||||
---
|
||||
|
||||
## 五、四视图设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
> 摄像机固定于场景中心点,分别朝前/后/左/右四个方向拍摄。
|
||||
|
||||
| 位置 | 视图 | 视角方向 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|
|
||||
| 左上 | 前视图 | 从中心点向前方平视(0°) | 展示场景正面主体结构与纵深层次 | front view、eye level |
|
||||
| 右上 | 右视图 | 从中心点向右方平视(90°) | 展示场景右侧空间延伸与侧面结构 | right side view、eye level |
|
||||
| 左下 | 后视图 | 从中心点向后方平视(180°) | 展示场景背面结构与空间纵深 | back view、eye level |
|
||||
| 右下 | 左视图 | 从中心点向左方平视(270°) | 展示场景左侧空间延伸与侧面结构 | left side view、eye level |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面四宫格(2×2) |
|
||||
| 人物 | **严禁出现任何人物、人影、人体轮廓** |
|
||||
| 视点 | 四视图均从同一中心点出发,视线高度一致 |
|
||||
| 一致性 | 四视图的建筑结构/材质/色调/光线完全一致 |
|
||||
| 光线 | 四视图光源方向统一,保持光影逻辑一致 |
|
||||
| 画面比例 | 建议 1:1(2×2 网格) |
|
||||
|
||||
---
|
||||
|
||||
## 六、提示词模板
|
||||
```
|
||||
90年代复古日系动画风格场景衍生四视图设定图,基于{场景名}概念图,
|
||||
90s anime style,手绘平涂上色,柔和暖色调,精细流畅线条,电影感光影,
|
||||
scene derivative design sheet,environment concept art,no people,no characters,no human figures,
|
||||
保持场景空间结构一致,
|
||||
{景别视角(如有)},{时段描述(如有)},{天候描述(如有)},
|
||||
{前景},{中景},{后景},
|
||||
{色调描述},{景深描述(如有)},{天空色调变化(如有)},{氛围调整(如有)},
|
||||
{天候视觉特征(如有)},{材质表面变化(如有)},{植被适配描述(如有)},
|
||||
线条流畅、块面阴影、使用痕迹,
|
||||
柔和电影光、背景光晕、自然光照,
|
||||
同一画面四宫格(2×2):从场景中心点环视,前视图+右视图+后视图+左视图,
|
||||
四视图均从同一中心点平视拍摄,建筑结构一致,材质色调一致,光影逻辑一致,
|
||||
画面中无任何人物
|
||||
图中不要有任何文字
|
||||
```
|
||||
|
||||
> **使用说明**:根据用户提供的信息自行判断需要应用的变化维度(景别/时段/天候),未提及的维度对应字段留空省略即可。无需为每种变体单独生成模板。
|
||||
|
||||
---
|
||||
|
||||
## 七、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 场景空间结构在所有变体中保持一致 |
|
||||
| R2 | 时段变体必须调整天空色调与氛围 |
|
||||
| R3 | 天候变体必须适配植被/材质表面 |
|
||||
| R4 | 必须为「四视图设定图」 |
|
||||
| R5 | 四视图的建筑结构/材质/色调/光线必须完全一致 |
|
||||
| R6 | 场景图中**严禁出现任何人物** |
|
||||
| R7 | 根据用户提供的信息自行判断变化维度 |
|
||||
| R8 | 必须包含90年代关键词(90s anime style / hand-drawn / warm tone) |
|
||||
| R9 | 必须包含线条特征(流畅线条、块面阴影 至少一项) |
|
||||
| R10 | 材质必须带有使用痕迹,禁止全新无瑕的"CG 感" |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 变体间建筑结构/布局不一致 |
|
||||
| X2 | 天候与季节矛盾 |
|
||||
| X3 | 变体间材质/风格突变 |
|
||||
| X4 | 出现任何人物、人影、人体剪影 |
|
||||
| X5 | 四视图之间建筑结构/材质/色调不一致 |
|
||||
| X6 | 3D 渲染/CG 动画/现代风格质感 |
|
||||
| X7 | 材质过于干净完美、无任何使用痕迹 |
|
||||
| X8 | 光照过于均匀平坦、无柔和电影光 |
|
||||
@ -0,0 +1,11 @@
|
||||
# 视频提示词 · 视觉风格约束
|
||||
|
||||
生成视频提示词时,必须注入以下视觉风格标签:
|
||||
|
||||
| 模式 | 风格标签 |
|
||||
|------|----------|
|
||||
| **通用多参模式(英文)** | `90s Japanese anime, hand-drawn cel animation, soft warm tones, cinematic, clean line art, nostalgic aesthetic` |
|
||||
| **通用首尾帧模式(英文)** | `90s Japanese anime, hand-drawn cel animation, soft warm tones, cinematic, clean line art, nostalgic aesthetic, shallow depth of field` |
|
||||
| **Seedance 2.0(中文)** | `90年代日式动画,手绘赛璐璐,柔和暖调,电影风格,清晰线条,怀旧质感` |
|
||||
|
||||
|
||||
@ -0,0 +1,88 @@
|
||||
---
|
||||
name: director_planning_style
|
||||
description: 日式动画约束 — 定义90年代日式动画在色调体系、光影方案、质感方向、场景空间元素、乐器选择与环境音上的全局约束。适用于任何叙事类型。
|
||||
metaData: director_skills
|
||||
---
|
||||
|
||||
# 日式动画约束 · 90年代日式动画 · 技法参考
|
||||
|
||||
---
|
||||
|
||||
## 一、色调体系与画面基调
|
||||
|
||||
- **色调基底** — 全片以暖黄(C1)、樱花粉(C3)、天空蓝(C6)为基底色,整体色温偏暖(4800-5200K),饱和度中低(50-70%),呈现90年代手绘动画的温暖怀旧感。全片保持柔和暖色调基底,局部点缀冷色(浅蓝 C6、淡紫 C7)增加层次
|
||||
- **冷暖叙事对比** — 冷色(浅蓝 C6、淡紫 C7)作为叙事转折的视觉信号,用于夜晚或情绪转折段落局部点缀。冷暖切换应与故事弧线同步,而非随意混用
|
||||
- **色盘先行原则** — 段落规划需先绑定情绪场景(日常/心动/离别/重逢等),再确定主色+辅色与光影方案,避免"剧情对了但情绪不对色"
|
||||
- **禁用色域** — 高饱和荧光色、霓虹色、现代CG渲染色彩体系均与本风格不兼容
|
||||
|
||||
---
|
||||
|
||||
## 二、光影方案体系
|
||||
|
||||
- **光影即叙事** — 6 套光影方案对应不同情绪段落,导演规划阶段应在段落层面确定光影基调方向,而非逐镜指定
|
||||
- **光源角度** — 默认 30-45°斜侧光,模拟自然光效果
|
||||
|
||||
| 情绪段落 | 光影方向 | 色调倾向 | 适用阶段 |
|
||||
|---|---|---|---|
|
||||
| 日常温馨 | A·柔和漫射 | 暖黄底 + 均匀柔和光 | 全片 |
|
||||
| 心动瞬间 | B·暖调侧光 | 樱花粉 + 暖橙局部 | 升温段 |
|
||||
| 办公室/学校 | C·顶光+环境光 | 中性暖 + 柔和冷白 | 工作/学习段 |
|
||||
| 黄昏浪漫 | D·逆光暖调 | 琥珀暖主导 + 冷蓝背景 | 甜蜜段 |
|
||||
| 夜晚月色 | E·月光冷调 | 淡蓝主调 + 暖色局部点缀 | 夜晚段 |
|
||||
| 回忆/闪回 | F·柔焦暖光 | 暖黄主调 + 雾化效果 | 回忆段 |
|
||||
|
||||
- **冷暖光分配** — 暖色调贯穿全片可用,根据场景需要灵活调整;冷色调(淡蓝主调)仅在夜晚或情绪转折后使用
|
||||
- **氛围方向映射** — 每场戏的氛围方向应能映射到上述光影方案(A-F)的某一方向,确保视觉一致性
|
||||
|
||||
---
|
||||
|
||||
## 三、质感方向
|
||||
|
||||
- **平涂纪实感** — 90年代手绘动画的核心:线条清晰流畅、上色均匀、光影层次分明
|
||||
- **清晰线稿 + 细腻上色** — 这是画面质感的锚点。不是模糊晕染,不是现代CG渲染
|
||||
- **平涂不等于简陋** — 本风格强调90年代手绘动画的质感表达(清晰线稿、平涂上色、光影层次),通过构图与情绪设计放大感染力,而非依赖复杂特效
|
||||
- **手绘不等于粗糙** — 90年代日式动画强调手绘质感的影像表达(自然光位、柔和色彩、细腻表情),通过镜头与情绪设计放大感染力,而非依赖奇观特效
|
||||
|
||||
---
|
||||
|
||||
## 四、日式场景空间元素
|
||||
|
||||
90年代日式动画特有的场景元素及其视觉叙事功能:
|
||||
|
||||
- **窗框/门框/走廊** — 天然的框架式构图道具,制造"看不透"的层次感与空间纵深
|
||||
- **教室/屋顶/街道** — 青春感的天然载体,景即情:教室窗边阳光 = 青春、黄昏街道长影 = 怀旧、居家暖光餐桌 = 家庭温暖
|
||||
- **樱花/落叶/雨幕** — 留白构图的天然载体,景即情:满树樱花 = 心动、落叶纷飞 = 离愁、雨中独行 = 孤寂
|
||||
- **夕阳/月色/路灯** — 日式动画的光源载体,夕阳 = 暖/浪漫(方案D)、月色 = 冷/孤寂(方案E)、路灯 = 夜晚日常
|
||||
- **段落间用场景空镜过渡** — 本风格有丰富的场景资产(不同时段/天候/天气变体),段落衔接建议用场景空镜做情绪缓冲,不要硬切
|
||||
- **转折点用视觉而非台词** — 优先使用画面手段(光影突变、景别跳切、空镜隐喻)而非依赖对白解释
|
||||
|
||||
---
|
||||
|
||||
## 五、日式动画乐器与环境音
|
||||
|
||||
90年代日式动画世界观下的声音元素约束:
|
||||
|
||||
### 乐器选择
|
||||
|
||||
- **钢琴** — 日常/温馨/回忆段落的核心乐器,最能表现90年代动画的质感
|
||||
- **吉他** — 轻松/浪漫/街头段落,扫弦的温柔感适合日常氛围
|
||||
- **弦乐铺底** — 情感升华/离别段落,拉弦的细腻感适合情绪过渡
|
||||
- **八音盒/风铃** — 回忆/梦幻段落,清脆音色适合怀旧氛围
|
||||
|
||||
### 乐器组合策略
|
||||
|
||||
| 情绪阶段 | 乐器组合 |
|
||||
|---|---|
|
||||
| 平稳/开场/收尾 | 八音盒独奏 或 风铃独奏 |
|
||||
| 日常温馨 | 钢琴 + 轻吉他 |
|
||||
| 情绪升华/浪漫 | 弦乐 + 钢琴 |
|
||||
| 回忆/梦幻 | 八音盒 + 钢琴 |
|
||||
|
||||
### 日式环境音
|
||||
|
||||
- **典型环境音层次** — 蝉鸣虫唱 / 电车轨道声 / 风吹过树叶 / 雨滴檐廊 / 市井人声 / 鸟鸣 / 风声
|
||||
- **每场戏标注 1-2 个核心环境音**,帮助后续音效设计。环境音层次越丰富,日式场景越有沉浸感
|
||||
- **留白比配乐更重要** — 关键情感瞬间(对视、转身、离别)优先考虑去掉配乐,只留环境音(风声、蝉鸣、电车声),让观众自己感受情绪
|
||||
- **避免满配** — 全片配乐覆盖率建议不超过 50%。留白段落的"无声"与配乐段落形成呼吸感,突出真实情感
|
||||
|
||||
---
|
||||
@ -0,0 +1,189 @@
|
||||
---
|
||||
name: director_storyboard
|
||||
description: 导演分镜提示词技法 · 90年代日式动画质感
|
||||
metaData: director_skills
|
||||
---
|
||||
|
||||
# 分镜提示词 · 90年代日式动画 · 风格专属技法
|
||||
|
||||
---
|
||||
|
||||
## 适用范围
|
||||
|
||||
本 Skill 专用于**90年代日式动画质感**风格的分镜提示词生成。
|
||||
|
||||
---
|
||||
|
||||
## 情绪 → 面容/眼神词映射
|
||||
|
||||
| 情绪输入 | 面容词 | 眼神词 | 微表情补充 |
|
||||
|----------|--------|--------|-----------|
|
||||
| 心动 / 欣喜 | 嘴角微扬,脸颊微红 | 眼神明亮,目光温柔 | 眼睛弯月形,表情含蓄 |
|
||||
| 悲伤 / 失落 | 神情低落,眼眶微红 | 眼神黯淡,目光游离 | 眉心轻蹙,表情内敛 |
|
||||
| 惊讶 / 震惊 | 神情微愣,眼睛放大 | 眼神惊讶,目光集中 | 眉毛上扬,表情生动 |
|
||||
| 温柔 / 深情 | 神情柔和,眉眼温润 | 眼神专注,目光深情 | 嘴角轻扬,表情克制温暖 |
|
||||
| 坚定 / 决绝 | 神情严肃,眼神坚定 | 目光清澈,眼神专注 | 表情坚定,气质清亮 |
|
||||
| 害羞 / 羞涩 | 脸颊泛红,眼神躲闪 | 目光低垂,不敢直视 | 手指轻触脸颊,表情自然 |
|
||||
| 温暖 / 感动 | 表情柔和,眼角带笑 | 眼神温暖,目光柔和 | 嘴角上扬,表情真诚 |
|
||||
| 孤独 / 怀念 | 神情安静,眼神悠远 | 目光放空,若有所思 | 表情平静,气质安静 |
|
||||
| 快乐 / 雀跃 | 笑容灿烂,眼睛弯月 | 眼神明亮,表情生动 | 双手张开,动作轻快 |
|
||||
| 紧张 / 不安 | 表情略显僵硬,眉头微皱 | 眼神游离,目光不确定 | 手指轻捏衣角,动作自然 |
|
||||
|
||||
---
|
||||
|
||||
## 光影氛围词库(90年代日式动画)
|
||||
|
||||
### 时间段光线
|
||||
|
||||
| 时间段 | 主光词 | 色调词 | 气氛词 |
|
||||
|--------|--------|--------|---------|
|
||||
| 清晨 | 柔和晨光,散射光线 | 暖黄调 + 淡蓝点缀 | 清新感,光线透过树叶 |
|
||||
| 午后 | 柔和斜侧光,漫射光线 | 暖调为主 | 光影斑驳,温暖感 |
|
||||
| 黄昏/日落 | 逆光暖调,橙色余晖 | 琥珀暖 + 粉色点缀 | 长影拉伸,怀旧感 |
|
||||
| 夜间 | 月光冷调,局部暖光 | 淡蓝主调 + 暖色点缀 | 静谧感,光影层次 |
|
||||
| 雨天 | 漫射冷光,均匀柔和 | 灰蓝调 + 暖色局部 | 湿润感,清新感 |
|
||||
| 回忆/闪回 | 柔焦暖光,雾化效果 | 暖黄为主,轻微褪色 | 怀旧感,模糊边缘 |
|
||||
|
||||
### 情绪光影
|
||||
|
||||
| 情绪基调 | 光线类型 | 补充约束 |
|
||||
|----------|----------|---------|
|
||||
| 心动/温情 | 柔和侧光,暖调漫射 | 浅景深,背景轻微虚化 |
|
||||
| 悲伤/失落 | 冷调侧光,低调打光 | 面部局部暗部留存 |
|
||||
| 怀旧/回忆 | 柔焦暖光,雾化效果 | 边缘轻微模糊,整体柔和 |
|
||||
| 浪漫/甜蜜 | 逆光暖调,轮廓光 | 暖色光晕,背景轻微过曝 |
|
||||
| 日常/温馨 | 均匀漫射光,中性暖调 | 光线柔和,无明显阴影 |
|
||||
| 夜晚/静谧 | 月光冷调,局部暖光 | 明暗对比,层次清晰 |
|
||||
|
||||
---
|
||||
|
||||
## 场景质感约束词(按场景类型)
|
||||
|
||||
| 场景类型 | 必加约束词 |
|
||||
|----------|-----------|
|
||||
| 日式学校 | 木质地板纹理,黑板粉笔字,窗外绿树,教室窗户格子 |
|
||||
| 日式住宅 | 榻榻米纹理,拉门木质边框,暖色灯光,和室布局 |
|
||||
| 街道/广场 | 石板路面,电线杆,便利店招牌,自行车停放 |
|
||||
| 咖啡馆/餐厅 | 木质桌椅,暖色吊灯,窗外街景,咖啡杯细节 |
|
||||
| 公园/绿地 | 草地纹理,树木阴影,长椅,远处建筑 |
|
||||
| 电车/车厢 | 座椅布料,车窗反光,窗外风景,拉手细节 |
|
||||
| 卧室/私密空间 | 床铺褶皱,台灯暖光,书桌文具,生活气息 |
|
||||
| 神社/寺庙 | 鸟居木柱,石板路,枫叶/樱花,香炉烟雾 |
|
||||
|
||||
---
|
||||
|
||||
## 固定风格锚定词(所有输出必须包含)
|
||||
|
||||
**90年代动画锚定(必选):**
|
||||
|
||||
90年代日式动画风格,手绘质感,平涂上色,清晰流畅线条,柔和暖色调
|
||||
|
||||
**线条质感(所有输出必选):**
|
||||
|
||||
精细流畅线条,轮廓线清晰,线条均匀一致,无断线无粗糙边缘
|
||||
|
||||
**上色质感(含人物镜头时必选):**
|
||||
|
||||
平涂上色,色彩均匀,无明显渐变,色彩饱和适中
|
||||
|
||||
**光影层次(含光影场景时必选):**
|
||||
|
||||
电影感光影层次,明暗对比清晰,光效柔和自然
|
||||
|
||||
**氛围锚定(必选):**
|
||||
|
||||
怀旧治愈氛围,日式动画美学,温馨情感表达
|
||||
|
||||
**画质锁定词(所有输出必须包含,置于风格收尾之后):**
|
||||
|
||||
模式A(中文)——默认:
|
||||
高清画质,线条清晰,上色均匀,色彩柔和,画面无杂色无噪点
|
||||
|
||||
模式A(中文)——画内文字场景(画面描述中含招牌/标识等道具文字时):
|
||||
高清画质,线条清晰,上色均匀,色彩柔和,画面无杂色无噪点,招牌/标识等道具文字清晰可读
|
||||
|
||||
模式B(英文)——默认:
|
||||
high-quality 90s anime style, clear line art, even flat coloring, soft warm tones, no noise, no grain, no digital artifacts
|
||||
|
||||
模式B(英文)——画内文字场景:
|
||||
high-quality 90s anime style, clear line art, even flat coloring, soft warm tones, no noise, no grain, no digital artifacts, legible text on signs and props
|
||||
|
||||
**负向词模板(模式B 必须包含,置于提示词末尾):**
|
||||
|
||||
> ⚠️ Seedream(模式A)**不支持负向提示词**,负向词仅适用于模式B。模式A 通过正向词中的质感锚定和画质锁定来保证画面质量。
|
||||
|
||||
模式B(英文):
|
||||
no modern anime style, no digital 3D rendering, no CG animation, no cel-shading, no heavy shading, no gradient fills, no plastic look, no oversaturated colors, no neon colors, no cyberpunk, no sci-fi elements, no futuristic design
|
||||
|
||||
---
|
||||
|
||||
## 美学禁止项(生成时严格规避)
|
||||
|
||||
以下词汇/风格不得出现于输出提示词中:
|
||||
|
||||
- ❌ 现代日系动画风格(如新海诚后期、MAPPA风格)
|
||||
- ❌ 3D渲染/CG动画/数字绘画相关词
|
||||
- ❌ 高饱和荧光色/霓虹色系
|
||||
- ❌ 现代服饰/现代建筑元素
|
||||
- ❌ 重阴影/过度对比/暗调风格
|
||||
- ❌ 卡通比例、大眼睛、Q版等变形描述
|
||||
- ❌ 赛博朋克/蒸汽朋克/架空西幻元素
|
||||
- ❌ 画外叠加文字(字幕、水印、标题卡、旁白叠字等 UI 层文字,画面必须为纯视觉画面)
|
||||
|
||||
> 💡 **例外**:故事世界内的道具文字(招牌、路牌、标识、书籍等场景中自然存在的文字)**不属于禁止范围**。当分镜画面描述中包含此类内容时,应如实描写其存在并要求文字清晰。
|
||||
|
||||
---
|
||||
|
||||
## 完整生成示例
|
||||
|
||||
> 以下为同一输入分别使用模式A和模式B的对照展示,实际使用时**仅输出其中一种**。
|
||||
|
||||
### 输入(分镜表行数据)
|
||||
|
||||
| 序号 | 画面描述 | 场景 | 关联资产名称 | 时长 | 景别 | 运镜 | 角色动作 | 情绪 | 光影氛围 |
|
||||
|------|---------|------|-------------|------|------|------|---------|------|----------|
|
||||
| 1 | 浅草站台上,夕阳余晖洒在女孩身上 | 车站 | 浅草站 | 5s | 中景 | 缓推 | 手提书包,侧身微笑望向远方 | 期待 / 温暖 | 黄昏逆光暖调 |
|
||||
|
||||
### 示例输出A(模式A · Seedream)
|
||||
|
||||
[Prompt]
|
||||
90年代日式动画风格,手绘质感,平涂上色,清晰流畅线条,柔和暖色调,中景构图,人物半身入镜,精细流畅线条,轮廓线清晰,线条均匀一致,无断线无粗糙边缘,平涂上色,色彩均匀,无明显渐变,色彩饱和适中,女孩立于浅草站台上,手提书包,侧身微笑望向远方,眼神期待又温暖,黄昏逆光暖调,长影拉伸,怀旧氛围,木质站台纹理清晰,电线杆在背景中,电影感光影层次,明暗对比清晰,光效柔和自然,怀旧治愈氛围,日式动画美学,温馨情感表达,高清画质,线条清晰,上色均匀,色彩柔和,画面无杂色无噪点。
|
||||
Based on the reference image of 女孩, maintain consistent: face features, hairstyle, costume details. Generate a new scene: standing on a train station platform at sunset, holding a school bag, smiling at the distance. Keep character appearance identical to reference.
|
||||
|
||||
### 示例输出B(模式B · Nanobanana)
|
||||
|
||||
```xml
|
||||
<role>
|
||||
You are a 90s anime storyboard artist.
|
||||
Maintain strict visual continuity across all shots.
|
||||
</role>
|
||||
<character_reference>
|
||||
Image [1]: 女孩 — black long hair in twin tails, gentle eyes, school uniform, slim body shape
|
||||
</character_reference>
|
||||
<continuity_rules>
|
||||
- Same wardrobe, hairstyle, face features across ALL shots
|
||||
- Same environment, lighting style, color grade
|
||||
- Only framing, angle, action, expression may change
|
||||
- Do NOT introduce new characters not in reference images
|
||||
</continuity_rules>
|
||||
<shot>
|
||||
Medium shot, character standing on a train station platform at sunset, holding a school bag with one hand, smiling gently at the distance, eyes filled with expectation and warmth, warm sunset backlight, long shadows, nostalgic atmosphere, wooden platform texture visible, electric poles in background, cinematic lighting layers, clear contrast between light and dark, soft natural light effects, healing anime aesthetic, high-quality 90s anime style, clear line art, even flat coloring, soft warm tones, no noise, no grain, no digital artifacts.
|
||||
</shot>
|
||||
<negative>
|
||||
no modern anime style, no digital 3D rendering, no CG animation, no cel-shading, no heavy shading, no gradient fills, no plastic look, no oversaturated colors, no neon colors, no cyberpunk, no sci-fi elements, no futuristic design
|
||||
</negative>
|
||||
```
|
||||
|
||||
## 快速参考卡
|
||||
|
||||
### 情绪 → 画面词速查
|
||||
|
||||
| 情绪 | 面容关键词 | 光线匹配 |
|
||||
|------|-----------|---------|
|
||||
| 心动 | 脸颊微红,眼睛弯月 | 柔和侧光暖调 |
|
||||
| 悲伤 | 神情低落,眼眶微红 | 冷调侧光低调 |
|
||||
| 温柔 | 神情柔和,眉眼温润 | 均匀漫射暖光 |
|
||||
| 怀旧 | 表情平静,目光悠远 | 柔焦暖光雾化 |
|
||||
| 感动 | 眼角带笑,表情真诚 | 逆光暖调光晕 |
|
||||
| 孤独 | 神情安静,眼神放空 | 冷调侧光暗部 |
|
||||
| 快乐 | 笑容灿烂,眼睛明亮 | 均匀漫射暖光 |
|
||||
@ -0,0 +1,47 @@
|
||||
---
|
||||
name: director_storyboard_table_style
|
||||
description: 分镜表日式动画约束 — 定义90年代日式动画在分镜表中的光影氛围规范、光源角度、动作节奏、环境动态、运镜禁忌与转场禁忌。适用于任何叙事类型。
|
||||
metaData: director_skills
|
||||
---
|
||||
|
||||
# 分镜表日式动画约束 · 90年代日式动画 · 技法参考
|
||||
|
||||
---
|
||||
|
||||
## 一、分镜表定位
|
||||
|
||||
分镜表是导演将剧本转化为镜头语言的核心工具。以下仅提供90年代日式动画风格在分镜表层面的约束规范。
|
||||
|
||||
---
|
||||
|
||||
## 二、光影与氛围
|
||||
|
||||
- **同场戏光影统一** — 一场戏内不应出现两种以上光影方案,除非有明确的叙事转折(如关台灯→月光冷辉)
|
||||
- **情绪色盘绑定** — 每场戏至少绑定 1 个情绪场景(如相遇心动/日常温馨/离别感伤),并在镜头组内保持主色+辅色连续性
|
||||
- **光源角度规范** — 默认 30-45°斜侧光,模拟自然光效果。描述光影时须区分正给/侧给的角度差异
|
||||
- **冷暖色调与叙事阶段匹配** — 前半段(日常/工作/学习)保持暖色调,冷色调(冷蓝+暖色对比)在夜晚或情绪转折后使用
|
||||
- **光影转场是高级手段** — 从自然光(A)渐变到室内暖光(B)= 日转夜的时间流逝。在分镜表中标注光影变化点
|
||||
|
||||
---
|
||||
|
||||
## 三、环境动态
|
||||
|
||||
- **环境动态增加画面呼吸感** — 树叶飘动、云层流动、电车驶过、雨滴落下、烛光摇曳。每 3-4 个镜头至少安排一个有环境动态的镜头,避免画面"死"掉
|
||||
- **日式环境元素优先** — 环境动态应选用日式动画世界观内的元素:樱花飘落、树叶飘动、云层流动、电车驶过、雨滴落下,禁止出现与90年代日式动画风格冲突的元素
|
||||
|
||||
---
|
||||
|
||||
## 四、动画动作节奏
|
||||
|
||||
- **动画动作要自然** — 所有人物动作默认自然节奏。起身、转身、抬手都应标注"自然"或"轻缓"
|
||||
- **表情细节** — 90年代日式动画的微表情是重要的情感表达手段,可在画面描述中加入细微的表情变化(微笑、眼神闪动、轻微低头),增加画面的"活"感
|
||||
- **含蓄内敛** — 日式动画人物的举止应含蓄内敛,情感表达靠细节而非夸张动作
|
||||
|
||||
---
|
||||
|
||||
## 五、运镜禁忌
|
||||
|
||||
- **禁用快速运镜** — 甩镜、急推、手持晃动与90年代日式动画的气质冲突(除非是转场或强调)
|
||||
- **禁用花式转场** — 划屏、旋转、百叶窗等与本风格不兼容
|
||||
|
||||
---
|
||||
BIN
data/skills/art_skills/2D_90s_japanese_anime/images/1.png
Normal file
|
After Width: | Height: | Size: 1.6 MiB |
BIN
data/skills/art_skills/2D_90s_japanese_anime/images/场景原始.png
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
BIN
data/skills/art_skills/2D_90s_japanese_anime/images/场景衍生.png
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
data/skills/art_skills/2D_90s_japanese_anime/images/女生原始.png
Normal file
|
After Width: | Height: | Size: 569 KiB |
BIN
data/skills/art_skills/2D_90s_japanese_anime/images/女生衍生.png
Normal file
|
After Width: | Height: | Size: 689 KiB |
117
data/skills/art_skills/2D_90s_japanese_anime/prefix.md
Normal file
@ -0,0 +1,117 @@
|
||||
# 全局美学基础 · 90年代日式动画
|
||||
|
||||
---
|
||||
严格遵循下方风格约束与全局规则,依据提示词模板格式生成提示词。仅输出提示词本身,不附加任何解释、说明或额外文本。
|
||||
## 一、风格基因
|
||||
|
||||
| 维度 | 定义 |
|
||||
|---|---|
|
||||
| **一级风格** | 90年代日式动画(90s Anime Aesthetic) |
|
||||
| **二级风格** | 手绘平涂 · 电影感光影层次 |
|
||||
| **情感基调** | 怀旧治愈 · 温柔细腻 |
|
||||
| **质感锚词** | 清晰流畅线条、平涂上色、柔和暖调 |
|
||||
|
||||
---
|
||||
|
||||
## 二、全局色彩盘(风格基线,不是硬锁)
|
||||
|
||||
> 目标:统一审美而非限制创作。除「硬约束色」外,其余颜色默认优先使用,可在合理范围内偏移。
|
||||
|
||||
### 色彩使用层级
|
||||
|
||||
| 层级 | 约束强度 | 说明 |
|
||||
|---|---|---|
|
||||
| L1 硬约束 | 高 | 仅锁定角色识别核心:肤色、发色、主服底色的审美方向 |
|
||||
| L2 软约束 | 中 | 场景色、配饰色、点缀色优先参考色盘,可按镜头与剧情微调 |
|
||||
| L3 例外机制 | 低 | 回忆/高潮/特殊场景可临时突破局部色彩,但需保留整体暖调逻辑 |
|
||||
|
||||
| 序号 | 色名 | 色值 | 用途 |
|
||||
|---|---|---|---|
|
||||
| C1 | 暖黄 | #F5E6D0 | 肤色基底、暖光、夕阳 |
|
||||
| C2 | 樱花粉 | #F4D5D5 | 脸颊红晕、春日、浪漫 |
|
||||
| C3 | 天空蓝 | #87AEC9 | 天空、服装、冷调点缀 |
|
||||
| C4 | 深棕发 | #4A3728 | 发色、眼瞳 |
|
||||
| C5 | 高级灰 | #8A8A8A | 建筑、阴影、中性色 |
|
||||
| C6 | 淡紫 | #D0C4D6 | 夜晚、梦幻、回忆 |
|
||||
| C7 | 琥珀暖 | #C9A96E | 黄昏、灯光、温暖感 |
|
||||
| C8 | 橄榄绿 | #8A9A5B | 植物、自然、环境 |
|
||||
| C9 | 米白 | #F5F0E8 | 墙面、服装、背景 |
|
||||
| C10 | 暖橙 | #E8C890 | 夕阳、火光、温馨感 |
|
||||
|
||||
### 硬约束色(默认锁定)
|
||||
|
||||
| 色项 | 对应色 | 规则 |
|
||||
|---|---|---|
|
||||
| 肤色基准 | C1 暖黄 | 默认优先,允许小幅明度/暖度微调 |
|
||||
| 发色/瞳色基准 | C4 深棕发 | 默认优先,允许深棕/深褐轻微偏移 |
|
||||
|
||||
### 软约束色(推荐优先)
|
||||
|
||||
> C2/C3/C5/C6/C7/C8/C9/C10 为推荐色域,用于服装、装饰、背景、暖光、环境等。可根据镜头氛围做同色相邻近调整。
|
||||
|
||||
### 情绪色盘(导演对齐版)
|
||||
|
||||
| 情绪场景 | 主色 | 辅色 | 光效与对比建议 | 画面关键词 |
|
||||
|---|---|---|---|---|
|
||||
| 日常温馨 | C1 暖黄 | C9 米白 + C5 高级灰 | 均匀暖调,柔和对比 | 生活感、温暖、平静 |
|
||||
| 心动瞬间 | C2 樱花粉 | C1 暖黄 + C10 暖橙 | 中近景提暖,肤色微红 | 羞涩、靠近感、暧昧 |
|
||||
| 学校/教室 | C9 米白 | C5 高级灰 + C3 天空蓝 | 明暗层次清晰,中性为主 | 青春、日常、自然 |
|
||||
| 黄昏浪漫 | C7 琥珀暖 | C10 暖橙 + C2 樱花粉 | 逆光暖调,轮廓光 | 怀旧、浪漫、情感 |
|
||||
| 夜晚月色 | C3 天空蓝 | C6 淡紫 + C1 暖黄 | 冷调为主,暖色点缀 | 静谧、思考、独处 |
|
||||
| 回忆/闪回 | C1 暖黄 | C6 淡紫 + C5 高级灰 | 柔焦雾化,轻微褪色 | 怀旧、旧忆、梦幻 |
|
||||
| 离别感伤 | C5 高级灰 | C3 天空蓝 + C1 暖黄 | 降饱和,拉大冷暖反差 | 距离感、克制、静压 |
|
||||
| 重逢释怀 | C1 暖黄 | C7 琥珀暖 + C2 樱花粉 | 先冷后暖,面部暖光渐进 | 回温、释然、治愈 |
|
||||
|
||||
### 情绪色盘使用规则
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| E1 | 每条提示词至少指定 1 个「情绪场景」并绑定主色+辅色组合 |
|
||||
| E2 | 单镜头主色不超过 2 个,避免颜色叙事失焦 |
|
||||
| E3 | 情绪切换时优先调整光比与色温,再调整饱和度 |
|
||||
| E4 | 治愈向默认遵循「暖底 + 冷暖对比」:暖色铺底,冷色用于背景/阴影 |
|
||||
| E5 | 若与剧情冲突,以情绪色盘优先于通用推荐色,但不得突破严禁项 |
|
||||
|
||||
### 色温约束
|
||||
|
||||
| 参数 | 值 | 说明 |
|
||||
|---|---|---|
|
||||
| 整体色温 | 偏暖 4800-5200K(推荐) | 温暖怀旧主基调 |
|
||||
| 肤色色温 | 微暖 5000-5400K(推荐) | 暖黄但有生命感 |
|
||||
| 对比度 | 中等(建议保持) | 明暗层次清晰,但不过分强烈 |
|
||||
| 饱和度 | 中低 50-70%(建议区间) | 90年代动画高级色调 |
|
||||
|
||||
### 容差与例外
|
||||
|
||||
| 项目 | 建议容差 |
|
||||
|---|---|
|
||||
| 色相偏移 | ±8° |
|
||||
| 饱和度偏移 | ±10% |
|
||||
| 明度偏移 | ±12% |
|
||||
|
||||
> 例外场景:回忆、黄昏、情绪高潮镜头可使用更暖或更高饱和局部色块;但禁止高饱和荧光色与现代色彩语言入镜。
|
||||
|
||||
---
|
||||
|
||||
## 三、全局约束规则
|
||||
|
||||
### 必守规则(所有技能继承)
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 必须包含「90年代日式动画风格」风格锚定词 |
|
||||
| R2 | 必须声明「手绘质感 + 平涂上色」 |
|
||||
| R3 | 面部必须使用「精细流畅线条 + 柔和暖色调」 |
|
||||
| R4 | 发丝必须使用「清晰流畅线条 + 自然阴影」 |
|
||||
| R5 | 光影必须声明「电影感光影层次」 |
|
||||
|
||||
### 严禁项(所有技能继承)
|
||||
|
||||
| 编号 | 严禁内容 |
|
||||
|---|---|
|
||||
| X1 | 严禁「现代日系动画风格/新海诚后期/MAPPA风格」 |
|
||||
| X2 | 严禁「3D渲染/CG动画/数字绘画」 |
|
||||
| X3 | 严禁「高饱和荧光色/霓虹色」 |
|
||||
| X4 | 严禁「面部变形/比例失调/肢体异常」倾向词 |
|
||||
| X5 | 严禁「过度阴影/重对比/暗调黑暗」 |
|
||||
| X6 | 严禁「现代元素/现代建筑/现代服饰」 |
|
||||
33
data/skills/art_skills/2D_chinese_guofeng/README.md
Normal file
@ -0,0 +1,33 @@
|
||||
# 国风二次元新国潮风格说明
|
||||
|
||||
本风格专为"国风二次元新国潮"题材打造,所有美术提示词、规范和生成内容均严格限定于:
|
||||
|
||||
- **国风二次元动画**:以中国古风文化为背景的二次元动画风格,涵盖仙侠、武侠、宫廷等题材
|
||||
- **新国潮美学**:传统东方元素与现代审美结合,古典韵味与时尚感并存
|
||||
- **日式动画渲染技法**:现代日式动画的上色与光影技术,赛璐璐平涂结合数字渲染
|
||||
- **东方古韵**:诗意氛围、留白构图、意境深远的东方美学表达
|
||||
- **细腻笔触**:清晰的线条、精细的细节、精致的角色与场景设计
|
||||
- **国风二次元电影质感**:电影级构图、光影层次、动态张力、情绪氛围
|
||||
|
||||
## 适用范围
|
||||
|
||||
- 国风二次元题材的AI美术生成(角色、场景、道具、分镜等)
|
||||
- 需要新国潮美学、日式动画渲染、国风意境的视觉创作
|
||||
- 国风动画、游戏美术、概念设计、插画创作
|
||||
|
||||
## 严禁内容
|
||||
|
||||
- 完全写实摄影/3D写实渲染
|
||||
- 西方奇幻/哥特/维多利亚风格
|
||||
- 赛博朋克/科幻/过度现代元素
|
||||
- 粗劣线条/模糊画质/低精度建模
|
||||
- 色彩混乱/风格不统一/审美崩坏
|
||||
|
||||
## 风格体验
|
||||
|
||||
在本风格下,您将体验到:
|
||||
|
||||
- 角色造型二次元比例,古风服饰精致,线条细腻流畅
|
||||
- 场景充满东方意境,传统建筑细节丰富,光影渲染精致
|
||||
- 道具器物考究,材质质感清晰,色彩和谐统一
|
||||
- 分镜与渲染均强调电影质感、新国潮审美、日式动画技法
|
||||
@ -0,0 +1,207 @@
|
||||
---
|
||||
name: art_character
|
||||
description: 人物基础形象生成 · 约束手册
|
||||
metaData: art_skills
|
||||
---
|
||||
|
||||
# 人物基础形象生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、基础形象原则
|
||||
|
||||
1. **造型即灵魂** — 角色造型是核心锚点,国风二次元造型,线条流畅
|
||||
2. **底模即基础** — 基础打底服装 + 素颜,后续服化均为叠加层
|
||||
3. **四视图一致** — 面容/体型/发型/基础服装跨视图高度统一
|
||||
4. **古典气质** — 无妆状态仍需体现角色气质(典雅/温婉/英气)
|
||||
|
||||
---
|
||||
|
||||
## 二、面容约束
|
||||
|
||||
### 女性面容
|
||||
|
||||
| 部位 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 脸型 | 鹅蛋脸、线条柔和、下巴圆润 | 鹅蛋脸、柔和线条、圆润下巴 |
|
||||
| 眼型 | 大眼睛、眼神清澈、双眼皮明显 | 大眼睛、清澈眼神、明显双眼皮 |
|
||||
| 眉型 | 柳叶眉、眉形柔和、自然眉色 | 柳叶眉、柔和眉形、自然眉色 |
|
||||
| 鼻型 | 小巧鼻梁、鼻头圆润 | 小巧鼻梁、圆润鼻头 |
|
||||
| 唇型 | 樱桃小口、唇色自然红 | 樱桃小口、自然红唇色 |
|
||||
| 气质 | 典雅温婉、国风二次元 | 典雅温婉、国风二次元、古典气质 |
|
||||
|
||||
### 男性面容
|
||||
|
||||
| 部位 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 脸型 | 国字脸、线条硬朗 | 国字脸、线条硬朗、下颌分明 |
|
||||
| 眼型 | 剑眉星目、眼神清亮 | 剑眉星目、清亮眼神 |
|
||||
| 眉型 | 剑眉、眉形英挺、自然眉色 | 剑眉、英挺眉形、自然眉色 |
|
||||
| 鼻型 | 挺直鼻梁、鼻翼适中 | 挺直鼻梁、适中鼻翼 |
|
||||
| 唇型 | 唇形清晰、唇色自然 | 唇形清晰、自然唇色 |
|
||||
| 气质 | 儒雅英气、国风二次元 | 儒雅英气、国风二次元、古典气质 |
|
||||
|
||||
---
|
||||
|
||||
## 三、肤感约束
|
||||
|
||||
### 女性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 肤色 | 粉白基调、全身均匀、白皙透亮 | 粉白基调、白皙透亮、二次元肤色 |
|
||||
| 光泽 | 赛璐璐平涂、自然光泽、非哑光 | 赛璐璐平涂、自然光泽、柔和质感 |
|
||||
| 质感 | 细腻线条、色彩均匀、边缘柔和 | 细腻线条、色彩均匀、边缘柔和 |
|
||||
| 露肤 | 面部/颈部/手部 | 手部细腻、颈部线条柔和 |
|
||||
|
||||
### 男性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 肤色 | 白皙基调、全身均匀、健康质感 | 白皙基调、健康质感、二次元肤色 |
|
||||
| 光泽 | 赛璐璐平涂、自然光泽 | 赛璐璐平涂、自然光泽、柔和质感 |
|
||||
| 质感 | 细腻线条、干净利落 | 细腻线条、赛璐璐平涂、柔和 |
|
||||
|
||||
---
|
||||
|
||||
## 四、体型约束
|
||||
|
||||
### 女性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 身高 | 由角色设定指定,默认范围 160-170cm | {身高}cm tall、{身高描述如:tall elegant woman} |
|
||||
| 头身比 | 六头身至七头身,二次元古典比例 | 6-7 heads tall proportion、二次元古典比例 |
|
||||
| 肩颈 | 天鹅颈、肩颈线优美 | 天鹅颈、肩颈优美 |
|
||||
| 手部 | 纤长白皙、手指自然 | 纤长白皙、自然手指 |
|
||||
| 体态 | 古典气质、优雅挺拔 | 体态优雅、身姿挺拔 |
|
||||
|
||||
### 男性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 身高 | 由角色设定指定,默认范围 175-185cm | {身高}cm tall、{身高描述如:tall imposing man} |
|
||||
| 头身比 | 六头身至七头身,二次元古典比例 | 6-7 heads tall proportion、二次元古典比例 |
|
||||
| 肩颈 | 宽阔肩部、颈部有力 | 宽阔肩部、颈部有力 |
|
||||
| 手部 | 骨节分明、手指自然 | 骨节分明、自然手指 |
|
||||
| 体态 | 儒雅英气、挺拔端正 | 体态英气、身姿挺拔 |
|
||||
|
||||
---
|
||||
|
||||
## 五、基础发型约束
|
||||
|
||||
> 仅定义自然发型,发饰在服化衍生环节叠加。
|
||||
|
||||
### 女性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 发色 | 墨黑、禁其他颜色 | 墨黑长发、青丝如瀑 |
|
||||
| 发长 | 长发及腰 | 长发及腰、长发 |
|
||||
| 发质 | 细腻线条、发丝清晰 | 细腻线条、清晰发丝 |
|
||||
| 造型 | 自然散发、无发饰 | 长发自然散落、无发饰 |
|
||||
|
||||
### 男性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 发色 | 墨黑、禁其他颜色 | 墨黑长发、青丝如墨 |
|
||||
| 发长 | 长发及肩或束发 | 长发及肩、束发 |
|
||||
| 发质 | 细腻线条、发丝清晰 | 细腻线条、清晰发丝 |
|
||||
| 造型 | 自然散发或半束、无发冠 | 长发自然散落、半束长发 |
|
||||
|
||||
---
|
||||
|
||||
## 六、基础服装约束
|
||||
|
||||
> 基础服装无特殊约束,女性为素色古装长裙,男性为素色古装长衫。正式服饰在服化衍生环节叠加。
|
||||
|
||||
### 女性基础服装
|
||||
|
||||
素色古装长裙,颜色以基础色为主,无花纹装饰。
|
||||
|
||||
### 男性基础服装
|
||||
|
||||
素色古装长衫,颜色以基础色为主,无花纹装饰。
|
||||
|
||||
### 着装统一规则
|
||||
|
||||
- 服装风格统一,确保后续服饰叠加无色彩干扰
|
||||
- 除面部/手部/颈部外基本覆盖
|
||||
- 四视图服装款式完全一致
|
||||
- 基础服装仅为安全打底,焦点在面容与体态
|
||||
|
||||
---
|
||||
|
||||
## 七、四视图设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
| 位置 | 视图 | 角度 | 景别 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|---|
|
||||
| 左一 | 人像特写 | 正面平视 | 头顶至锁骨 | 从头顶到锁骨完整展示,面部占60%+,五官清晰 | portrait closeup、face detail |
|
||||
| 左二 | 正视图 | 正面 0° | 全身立像 | 面对镜头、双臂自然、从头顶到脚底完整展示 | front view、full body |
|
||||
| 右二 | 侧视图 | 右侧 90° | 全身立像 | 纯侧面轮廓清晰、从头顶到脚底完整展示 | side view、profile、full body |
|
||||
| 右一 | 后视图 | 后方 180° | 全身立像 | 后脑/背部/发尾/脚部清晰、从头顶到脚底完整展示 | back view、rear view、full body |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面从左至右并排四视图 |
|
||||
| 背景 | 月白纯色 #E8EAF5 |
|
||||
| 站姿 | 自然站立、双脚平行微分、双臂自然下垂 |
|
||||
| 全身展示 | 全身立像必须从头顶到脚底完整入画,严禁裁切 |
|
||||
| 特写展示 | 人像特写必须从头顶到锁骨完整入画,严禁裁切 |
|
||||
| 表情 | 中性微表情,符合角色气质 |
|
||||
| 光线 | 均匀柔光,前方主光 + 双侧补光,无硬阴影 |
|
||||
| 一致性 | 四视图的肤色/体型/发型/面容/基础服装完全一致 |
|
||||
| 画面比例 | 建议 4:1 或 3:1 |
|
||||
|
||||
---
|
||||
|
||||
## 八、提示词模板
|
||||
|
||||
{性别}角色四视图设定图,国风二次元,新国潮美学,日式动画渲染,赛璐璐平涂,细腻笔触,
|
||||
character design sheet, character turnaround,
|
||||
{脸型}, {眼型}, {鼻型}, {唇型}, {整体气质}, 素颜状态,
|
||||
{肤色}, 赛璐璐平涂, 皮肤通透发光, 细腻线条, 光影层次丰富,
|
||||
{身高描述, 如:165cm tall, tall elegant woman}, {头身比, 如:6.5 heads tall proportion}, {身材描述}, {体态描述},
|
||||
{发色}{发长}, 细腻发丝清晰, {基础造型}, 无发饰,
|
||||
(女性: 素色古装长裙 / 男性: 素色古装长衫), 基础色, 无花纹装饰,
|
||||
同一画面左至右并排:人像特写+正视图+侧视图+后视图,
|
||||
人像特写从头顶到锁骨完整展示, 不裁切头顶, head to collarbone complete,
|
||||
全身立像从头顶到脚底完整展示, full body head to toe, 不裁切头顶和脚部,
|
||||
自然站立, 月白纯色背景, 均匀柔光, 无硬阴影,
|
||||
四视图一致性, 国风二次元造型清晰, 细腻线条清晰,
|
||||
图中不要有任何文字
|
||||
|
||||
---
|
||||
|
||||
## 九、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 必须为「素颜状态」 |
|
||||
| R2 | 必须声明基础服装(女性:素色古装长裙;男性:素色古装长衫) |
|
||||
| R3 | 必须声明「无发饰、无配饰」 |
|
||||
| R4 | 必须指定「月白纯色背景」 |
|
||||
| R5 | 必须指定「四视图一致性」 |
|
||||
| R6 | 全身立像必须从头顶到脚底完整展示,严禁裁切 |
|
||||
| R7 | 必须声明角色身高并通过头身比换算约束全身比例(女性默认 160-170cm/6-7头身,男性默认 175-185cm/6-7头身) |
|
||||
| R8 | 人像特写必须从头顶到锁骨完整展示,严禁裁切头顶 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 基础服装以外的任何服装/配饰/妆容 |
|
||||
| X2 | 正顶硬光/正底光/冷色光 |
|
||||
| X3 | 过度美白至无血色 / 肤色发灰 |
|
||||
| X4 | 复杂场景背景(必须纯色) |
|
||||
| X5 | 夸张表情/动态姿势 |
|
||||
| X6 | 全身立像裁切头顶或脚底,必须从头到脚完整入画 |
|
||||
| X7 | 人像特写裁切头顶,必须从头顶到锁骨完整入画 |
|
||||
| X8 | 忽略身高和头身比约束,身高必须明确声明并通过头身比换算体现全身比例 |
|
||||
@ -0,0 +1,315 @@
|
||||
---
|
||||
name: art_character_derivative
|
||||
description: 人物衍生资产生成 · 约束手册
|
||||
metaData: art_skills
|
||||
---
|
||||
|
||||
# 人物衍生资产生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、叠加原则
|
||||
|
||||
1. **面容不变** — 叠加后五官必须与底模完全一致,禁止面容偏移
|
||||
2. **姿态不变** — 保持底模自然站立姿态,禁止任何姿态/动作/体态变化
|
||||
3. **逐层可控** — 每层独立描述,便于按层替换(换装不换妆)
|
||||
4. **风格统一** — 所有服化元素服从同一美学体系
|
||||
5. **质感不降** — 叠加后质感标准不低于底模
|
||||
6. **纯服化范畴** — 仅叠加妆容/发型/服饰/配饰,禁止引入道具、场景、环境、动作
|
||||
|
||||
---
|
||||
|
||||
## 二、叠加层级
|
||||
|
||||
| 层级 | 内容 | 说明 |
|
||||
|---|---|---|
|
||||
| L0 | 底模 | 基础形象底模,不修改 |
|
||||
| L1 | 妆容(决策层) | 先分析用户线索,再决策「基础妆 / 轻妆 / 正式妆」强度 |
|
||||
| L2 | 发型造型 | 发髻/束发/编发 + 发饰 |
|
||||
| L3 | 中衣/内搭 | 替换白色基础中衣 |
|
||||
| L4 | 外衣/主服 | 古风华服/礼服/常服等 |
|
||||
| L5 | 配饰 | 头饰/耳饰/项饰/腰饰/手饰 |
|
||||
|
||||
> **范畴边界**:人物衍生资产仅包含 L0–L5 层级(服化妆造),不包含道具(伞/剑/扇/书/灯笼等手持物)、场景环境(室内/室外/天气等)、姿态动作(行走/回眸/举手等)。这些属于其他资产类型的范畴。
|
||||
|
||||
---
|
||||
|
||||
## 三、妆容约束(L1)
|
||||
|
||||
### 底模到衍生妆造策略(关键)
|
||||
|
||||
> 角色底模虽为素颜,但衍生资产默认进入妆造流程。系统应根据用户提供的线索分析妆造需求,并在基础妆、轻妆、正式妆之间决策强度,而不是保持素颜。
|
||||
|
||||
### L1 线索分析与妆容决策
|
||||
|
||||
| 步骤 | 处理内容 | 决策结果 |
|
||||
|---|---|---|
|
||||
| S1 | 提取用户线索:面部状态词、情绪词、强度词 | 形成妆容需求摘要 |
|
||||
| S2 | 过滤非妆容线索:道具/场景/动作/姿态词不作为上妆依据 | 防止误判 |
|
||||
| S3 | 匹配妆容风格矩阵并给出强度档 | 基础妆 / 轻妆 / 正式妆 |
|
||||
| S4 | 生成最终 L1 提示词 | 只输出结论,不输出分析过程 |
|
||||
|
||||
### 线索到妆容映射(执行口径)
|
||||
|
||||
| 线索类型 | 典型线索 | L1 决策 |
|
||||
|---|---|---|
|
||||
| 无明显面部强调线索 | 仅服饰/发型变化,未强调情绪与状态 | 基础妆 |
|
||||
| 轻微面部线索 | 轻柔、含笑、睫毛轻颤、气色微提 | 轻妆(极淡) |
|
||||
| 明确日常线索 | 日常、外出、休闲 | 基础妆(自然清透) |
|
||||
| 明确正式仪式线索 | 大婚、典礼、重要场合 | 正式妆(精致华贵) |
|
||||
|
||||
> 判定原则:所有衍生资产都要有妆造;先看面部线索决定强度与风格,道具、场景、姿态变化不得单独抬高妆容强度。
|
||||
|
||||
### 女性妆容风格矩阵
|
||||
|
||||
| 风格 | 适用场景 | 核心提示词 |
|
||||
|---|---|---|
|
||||
| 清雅素妆 | 日常、初遇、闺中 | 妆容清雅、淡扫蛾眉、素妆清颜 |
|
||||
| 宫廷贵气妆 | 宫廷、正式、权力 | 妆容精致、眉形锋利、唇色红润 |
|
||||
| 浪漫桃花妆 | 约会、心动、甜蜜 | 桃花妆、眼尾微红、唇色水润 |
|
||||
| 大婚盛妆 | 大婚、典礼 | 浓妆华美、朱唇凤眼 |
|
||||
| 节日庆典 | 庆典、聚会 | 色彩明亮、粉彩妆容 |
|
||||
|
||||
### 通用底肤(所有妆容共享)
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 质感 | 赛璐璐平涂、自然透亮 | 赛璐璐质感、自然光泽、柔和质感 |
|
||||
| 白度 | 粉白基调、通透不惨白 | 粉白基调、白皙透亮 |
|
||||
| 内透光 | 从内向外柔光感 | 内透光感、皮肤通透发光 |
|
||||
| 禁止 | 哑光/死白/蜡感/油光/过曝 | — |
|
||||
|
||||
### 基础妆细化(默认档)
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 眉部 | 顺着底模眉形轻修,不改变眉型 | 自然修眉、眉形干净 |
|
||||
| 眼部 | 极淡眼部修饰,强调清透与有神 | 眼部清透、极淡眼影 |
|
||||
| 面颊 | 极淡气色提亮,粉彩腮红 | 面颊气色自然、粉彩腮红 |
|
||||
| 唇部 | 浅粉或朱红润色,保持克制 | 唇色自然润泽、浅粉唇色 |
|
||||
| 整体 | 看得出有妆造,但妆感非常轻 | 基础妆、自然妆感、柔和质感 |
|
||||
|
||||
### 男性妆容
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 底肤 | 赛璐璐平涂、白皙透亮、清爽自然 | 赛璐璐质感、白皙透亮、自然光泽 |
|
||||
| 原则 | 伪素颜——看着没化妆但皮肤极好 | 伪素颜、天生好皮 |
|
||||
| 眉毛 | 自然浓眉、不画眉 | 剑眉自然、眉形英挺 |
|
||||
| 唇色 | 自然血色、微润 | 唇色自然、血色感 |
|
||||
|
||||
---
|
||||
|
||||
## 四、发型造型约束(L2)
|
||||
|
||||
### 女性造型类型
|
||||
|
||||
| 造型 | 描述 | 适用 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 高髻云鬓 | 高髻盘发 + 发饰 | 宫廷、正式 | 高髻云鬓、精致盘发 |
|
||||
| 双环髻 | 双环对称、少女 | 年轻角色 | 双环髻、少女风格 |
|
||||
| 堕马髻 | 侧偏低髻、慵懒 | 日常、休闲 | 堕马髻、慵懒侧髻 |
|
||||
| 披发 | 长发全散、自然 | 闺中、私密 | 长发散落、自然垂落 |
|
||||
| 束发高马尾 | 高束干练 | 习武、行动 | 高束马尾、干练利落 |
|
||||
| 半扎发 | 发顶半扎 + 后方垂发 | 日常、出行 | 半扎云髻、自然垂发 |
|
||||
|
||||
### 女性发饰
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 风格 | 华丽精致、与服饰配套 | 华丽发饰、精致工艺 |
|
||||
| 材质 | 金银 + 珠玉 + 流苏 | 金银发簪、珠翠满头 |
|
||||
| 工艺 | 细腻线条、细节清晰 | 精细工艺、细腻雕刻 |
|
||||
|
||||
### 男性造型类型
|
||||
|
||||
| 造型 | 适用 | 提示词 |
|
||||
|---|---|---|
|
||||
| 束发半冠 | 日常、文人 | 束发半冠、玉簪束发 |
|
||||
| 全冠高束 | 正式、朝堂 | 全冠高束、玉冠束发 |
|
||||
| 散发披肩 | 私密、受伤 | 散发披肩、长发如墨 |
|
||||
| 束发高马尾 | 战斗、习武 | 高束战发、马尾利落 |
|
||||
|
||||
---
|
||||
|
||||
## 五、服饰约束(L3+L4)
|
||||
|
||||
### 女性服饰矩阵
|
||||
|
||||
| 风格 | 款式 | 适用 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 古装长裙 | 长裙、飘逸 | 日常、闺中 | 古装长裙、飘逸衣裙 |
|
||||
| 宫廷礼服 | 礼服、华丽 | 宫廷、正式 | 宫廷礼服、华贵裙装 |
|
||||
| 轻便常服 | 短衫、轻便 | 行动、习武 | 轻便常服、短衫 |
|
||||
| 寝衣 | 薄纱内衫、素色 | 室内、夜间 | 寝衣、宽松舒适 |
|
||||
| 大婚嫁衣 | 凤冠霞帔、层叠红装 | 婚礼 | 凤冠霞帔、层叠红裳 |
|
||||
|
||||
### 女性服饰通用约束
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 主色 | 中国传统色调为默认 | 中国传统色调衣服、精致服饰 |
|
||||
| 材质 | 丝绸 + 刺绣 + 珠光面料 | 丝绸质感、刺绣细节 |
|
||||
| 质感 | 纹理必须超清晰 | 衣服质感清晰、纹理超清晰 |
|
||||
| 肩部 | 披帛/云肩/装饰 | 云肩华美、肩头有装饰 |
|
||||
| 层次 | 多层叠穿、层次分明 | 多层叠穿、层次分明 |
|
||||
|
||||
### 男性服饰矩阵
|
||||
|
||||
| 风格 | 适用 | 提示词 |
|
||||
|---|---|---|
|
||||
| 文人士子装 | 日常、书房 | 文人士子装、长衫 |
|
||||
| 武将劲装 | 战斗、练武 | 武将劲装、战袍 |
|
||||
| 朝服 | 朝堂、典礼 | 朝服、正式礼服 |
|
||||
| 常服便装 | 休闲、私密 | 常服便装、简约风格 |
|
||||
| 礼服 | 正式、庆典 | 礼服、华贵精致 |
|
||||
|
||||
---
|
||||
|
||||
## 六、配饰约束(L5)
|
||||
|
||||
### 女性配饰
|
||||
|
||||
| 类型 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 头饰 | 华丽精致、不单薄 | 华丽头饰、珠翠满头 |
|
||||
| 耳饰 | 垂坠流苏/玉珰 | 流苏耳环、玉珰垂坠 |
|
||||
| 项饰 | 璎珞/项圈 | 璎珞华美、精致项圈 |
|
||||
| 腰饰 | 宫绦/玉佩 | 宫绦飘逸、腰间玉佩 |
|
||||
| 手饰 | 玉镯/臂钏 | 玉镯通透、臂钏精致 |
|
||||
|
||||
### 男性配饰
|
||||
|
||||
| 类型 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 发冠 | 玉冠/金冠、精致 | 玉冠束发 |
|
||||
| 腰封 | 宽腰封/革带 | 宽腰封、质感分明 |
|
||||
| 玉佩 | 通透温润 | 腰间玉佩 |
|
||||
| 兵器 | 佩剑/扇/笛(可选) | 长剑在侧、折扇半掩 |
|
||||
|
||||
---
|
||||
|
||||
## 七、服化组合速查
|
||||
|
||||
| 场景 | 妆容 | 发型 | 服饰 | 配饰 |
|
||||
|---|---|---|---|---|
|
||||
| 闺中日常 | 清雅素妆 | 披发/半扎发 | 古装长裙 | 中等 |
|
||||
| 初次相遇 | 清雅素妆 | 半扎发/堕马髻 | 古装长裙 | 中偏多 |
|
||||
| 浪漫互动 | 浪漫桃花妆 | 半扎发/堕马髻 | 古装长裙/轻便 | 中等 |
|
||||
| 正式亮相 | 宫廷贵气妆 | 高髻云鬓 | 宫廷礼服 | 极繁 |
|
||||
| 夜间私密 | 清雅/桃花妆 | 披发/堕马髻 | 寝衣 | 极简 |
|
||||
| 大婚典礼 | 大婚盛妆 | 高髻云鬓 | 嫁衣 | 极繁 |
|
||||
| 习武行动 | 素妆(极淡) | 束发马尾 | 轻便常服 | 简 |
|
||||
|
||||
---
|
||||
|
||||
> **🔍 未覆盖场景推断规则**
|
||||
>
|
||||
> 当用户描述的场景/情境不在上表时,根据本风格核心基因自行推断:
|
||||
>
|
||||
> | 推断维度 | 国风二次元基因 |
|
||||
> |---|---|
|
||||
> | 妆容强度 | 默认清雅素妆;有节日/仪式/正式关键词→宫廷贵气妆;有甜宠/心动词→桃花妆 |
|
||||
> | 发型 | 日常/闺中→半扎发或堕马髻;正式/亮相→高髻云鬓;私密/夜晚→披发;行动→束发马尾 |
|
||||
> | 服饰 | 情感戏/日常→古装长裙(轻柔飘逸);权力/正式→宫廷礼服;行动/武斗→轻便常服 |
|
||||
> | 配饰繁度 | 日常→中等;正式→极繁(珠翠发饰+璎珞+腰饰);私密/休闲→简;行动→简 |
|
||||
> | 色调倾向 | 中国传统色为锚(霜白/月白/朱砂/靛蓝);夜景/私密→降饱和;喜庆→暖红+金 |
|
||||
|
||||
## 八、四视图设定图规范
|
||||
|
||||
> 衍生服化叠加后仍需输出四视图设定图,确保服化妆造在各角度的一致性。
|
||||
|
||||
### 视图定义
|
||||
|
||||
| 位置 | 视图 | 角度 | 景别 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|---|
|
||||
| 左一 | 人像特写 | 正面平视 | 面部至锁骨 | 面部占60%+,五官/妆容清晰 | portrait closeup、face detail、makeup detail |
|
||||
| 左二 | 正视图 | 正面 0° | 全身立像 | 面对镜头、服饰正面全貌 | front view、height mark |
|
||||
| 右二 | 侧视图 | 右侧 90° | 全身立像 | 纯侧面轮廓、服饰侧面层次 | side view、profile、height mark |
|
||||
| 右一 | 后视图 | 后方 180° | 全身立像 | 后脑发饰/背部服饰/发尾清晰 | back view、rear view、height mark |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面从左至右并排四视图 |
|
||||
| 背景 | 月白纯色 #E8EAF5 |
|
||||
| 站姿 | 自然站立、双脚平行微分、双臂自然下垂或微展(**禁止任何姿态变化**) |
|
||||
| 表情 | 符合妆容风格的微表情(如清雅素妆→淡然、桃花妆→含笑),仅限面部微表情,不涉及肢体动作 |
|
||||
| 光线 | 均匀柔光,前方主光 + 双侧补光,无硬阴影 |
|
||||
| 一致性 | 四视图的面容/妆容/发型/发饰/服饰/配饰完全一致 |
|
||||
| 画面比例 | 建议 4:1 或 3:1 |
|
||||
|
||||
---
|
||||
|
||||
## 九、提示词模板
|
||||
|
||||
### 输出格式约束
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 输出内容 | **仅输出提示词文本**,不输出任何其他内容 |
|
||||
| 禁止输出 | 速查表、分层构建方案、视觉约束表、禁止事项表、衍生方案、输出建议、核心要素表等一切非提示词内容 |
|
||||
| 禁止场景 | 人物衍生资产**不包含场景/环境描述**,不输出任何场景/环境/天气/背景叙事内容(场景属于场景资产范畴) |
|
||||
| 禁止道具 | **不包含任何道具交互**,不输出伞/剑/扇/书/灯笼/酒杯等手持物或交互物(道具属于道具资产范畴) |
|
||||
| 禁止姿态变化 | **不改变底模姿态**,不输出行走/回眸/举手/侧身/奔跑等任何动作或体态变化,保持自然站立 |
|
||||
| 格式 | 直接输出可用的提示词代码块,无需标题、表格、解释、方案对比 |
|
||||
|
||||
### 完整服化叠加(四视图)
|
||||
|
||||
以角色基础形象图为底图,img2img叠加服化妆造,
|
||||
国风二次元,新国潮美学,日式动画渲染,赛璐璐平涂,细腻笔触,
|
||||
古风{性别}角色四视图设定图,国风二次元,赛璐璐上色,8K,超保真
|
||||
character design sheet, character turnaround,
|
||||
保持基础形象面容不变,{整体气质},
|
||||
【L1·妆容】根据用户线索决策:{基础妆/轻妆/正式妆};使用 {妆容风格}, 赛璐璐平涂, {眉妆}, {眼妆}, {唇妆},
|
||||
【L2·发型】{造型类型}, 细腻发丝清晰, {发饰描述},
|
||||
【L3+L4·服饰】{主色}{款式}, {材质}, {装饰工艺}, 衣服质感清晰, 赛璐璐平涂,
|
||||
【L5·配饰】{头饰}, {耳饰}, {项饰}, {腰饰},
|
||||
同一画面左至右并排:人像特写+正视图+侧视图+后视图,
|
||||
自然站立, 月白纯色背景, 均匀柔光, 无硬阴影,
|
||||
四视图一致性, 国风二次元造型清晰, 细腻线条清晰,
|
||||
图中不要有任何文字
|
||||
|
||||
---
|
||||
|
||||
## 十、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 叠加后面容必须与底模一致 |
|
||||
| R2 | 服饰必须用「衣服质感清晰 + 赛璐璐平涂」 |
|
||||
| R3 | 女性配饰必须「华丽精致 + 工艺精细」 |
|
||||
| R4 | 妆容/发型/服饰/配饰风格统一 |
|
||||
| R5 | 必须输出四视图设定图(人像特写+正视图+侧视图+后视图) |
|
||||
| R6 | 必须指定「月白纯色背景」 |
|
||||
| R7 | 必须指定「四视图一致性」 |
|
||||
| R8 | **仅输出提示词**——禁止输出速查表/分层方案/视觉约束/禁止事项/衍生方案/输出建议等任何非提示词内容 |
|
||||
| R9 | **禁止包含场景描述**——人物衍生资产不涉及场景/环境/天气/背景叙事,场景属于独立资产类型 |
|
||||
| R10 | **禁止道具交互**——不包含任何手持物/交互物(伞/剑/扇/书等),道具属于独立资产类型 |
|
||||
| R11 | **姿态保持不变**——必须保持底模自然站立姿态,禁止任何动作/体态/姿势变化 |
|
||||
| R12 | **L1 必须先分析再决策**——先解析用户面部线索,再确定基础妆/轻妆/正式妆 |
|
||||
| R13 | **所有衍生资产均需妆造**——正常情况不保持素颜,至少使用基础妆 |
|
||||
| R14 | **上妆强度受控**——即使上妆也需克制,不得出现现代浓妆/夸张彩妆效果 |
|
||||
| R15 | **道具/场景/动作不作强度升级依据**——仅凭道具,环境,动作等信息不得把基础妆抬高为更强妆容 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 叠加后面容偏移 |
|
||||
| X2 | 配饰过于简单/现代化(女性) |
|
||||
| X3 | 妆容/服饰风格互相冲突 |
|
||||
| X4 | 复杂场景背景(必须纯色) |
|
||||
| X5 | 四视图间服化妆造不一致 |
|
||||
| X6 | 输出提示词以外的任何内容(表格/方案/建议/解释/变体等) |
|
||||
| X7 | 在人物衍生资产中加入场景描述(街景/雨景/室内/街道/天气等环境元素) |
|
||||
| X8 | 输出「核心要素速查」「分层构建方案」「视觉约束」「禁止事项」「衍生方案」等章节 |
|
||||
| X9 | 加入任何道具交互(手持伞/剑/扇/书/灯笼/酒杯等物品) |
|
||||
| X10 | 改变底模姿态(行走/回眸/举手/侧身/奔跑/低头/仰望等动作描述) |
|
||||
| X11 | 加入表情与姿态联动描述(如「侧身45°行走嘴角浅弯」等叙事性描写) |
|
||||
| X12 | 未分析用户线索就直接套用固定妆容 |
|
||||
| X13 | 错误保持素颜,导致衍生资产缺少应有妆造 |
|
||||
| X14 | 仅因道具/场景/动作词而误把妆容升级,导致妆造强度决策错误 |
|
||||
156
data/skills/art_skills/2D_chinese_guofeng/art_prompt/art_prop.md
Normal file
@ -0,0 +1,156 @@
|
||||
---
|
||||
name: art_prop
|
||||
description: 道具图像生成 · 约束手册
|
||||
metaData: art_skills
|
||||
---
|
||||
|
||||
# 道具图像生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、道具设计原则
|
||||
|
||||
1. **功能可读** — 道具用途一目了然,造型服务于功能
|
||||
2. **质感极致** — 材质纹理必须清晰可辨(金属/玉石/木/布/纸/瓷)
|
||||
3. **年代一致** — 所有道具必须符合古风世界观,禁止现代元素
|
||||
4. **尺度明确** — 通过参照物或标注暗示道具真实尺寸
|
||||
5. **纯道具独立展示** — 画面中只能出现道具本身,严禁出现任何人物、手部、肢体,道具不可处于被持有/佩戴/握持状态,必须以静物陈列方式独立呈现
|
||||
|
||||
---
|
||||
|
||||
## 二、道具分类与美学约束
|
||||
|
||||
### 2.1 兵器类
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 剑/刀/弓/枪/扇 | {兵器类型},古风兵器 |
|
||||
| 材质 | 精钢/玄铁 + 宝石镶嵌 + 丝绸剑穗 | 精钢锻造、宝石镶嵌 |
|
||||
| 装饰 | 剑鞘/刀柄雕花、流苏、暗纹 | 雕花精致、流苏垂坠 |
|
||||
| 光泽 | 金属冷光泽、刃口反光 | 冷光泽、金属质感 |
|
||||
| 风格 | 国风二次元 | 新国潮风格、二次元渲染 |
|
||||
|
||||
### 2.2 饰品类
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 簪/钗/璎珞/玉佩/手镯/耳坠 | {饰品类型},古风首饰 |
|
||||
| 材质 | 金/银/玉/珍珠/宝石 | 金丝编织、玉质通透 |
|
||||
| 工艺 | 极致精细、花丝/掐丝/镶嵌 | 工艺精细、精雕细琢 |
|
||||
| 光泽 | 珠光/玉润/金属光泽 | 珠光莹润、金属光泽 |
|
||||
| 风格 | 国风二次元 | 精致华丽、新国潮 |
|
||||
|
||||
### 2.3 生活器物类
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 茶具/酒具/香炉/棋盘/书卷/灯笼 | {器物类型},古风器物 |
|
||||
| 材质 | 瓷/铜/竹/木/纸 | 青瓷温润、紫铜古朴 |
|
||||
| 质感 | 釉面/木纹/竹节清晰 | 釉面光泽、木纹清晰 |
|
||||
| 风格 | 新中式 | 素雅古朴 / 华贵精致 |
|
||||
| 渲染 | 赛璐璐平涂 | 二次元质感、细腻笔触 |
|
||||
|
||||
### 2.4 信物/关键道具类
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 信物/令牌/卷轴/药瓶/玉印 | {道具类型},古风道具 |
|
||||
| 特殊性 | 需有辨识度、叙事象征意义 | 独特造型、寓意深远 |
|
||||
| 做旧感 | 可按剧情需要添加年代感 | 古旧斑驳 / 崭新精致 |
|
||||
| 风格 | 国风二次元 | 新国潮风格、动漫感 |
|
||||
|
||||
### 2.5 文房四宝类(新增)
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 笔/墨/纸/砚 | {文房类型},文房四宝 |
|
||||
| 材质 | 竹/木/玉/陶瓷 | 竹制笔杆、瓷质砚台 |
|
||||
| 质感 | 木纹/釉面/笔毫清晰 | 笔毫细腻、砚台温润 |
|
||||
| 风格 | 文人雅致 | 古风雅韵、细腻笔触 |
|
||||
|
||||
### 2.6 节庆道具类(新增)
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 灯笼/烟花/春联/福字 | {节庆类型},节庆道具 |
|
||||
| 材质 | 纸/布/竹/绸缎 | 丝绸灯笼、纸质春联 |
|
||||
| 质感 | 纸纹/布料纹理清晰 | 纹理清晰、质感细腻 |
|
||||
| 风格 | 喜庆热闹 | 色彩明亮、热闹氛围 |
|
||||
|
||||
---
|
||||
|
||||
## 三、多角度设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
| 位置 | 视图 | 角度 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|
|
||||
| 左上 | 正面图 | 正面 0° | 道具完整正面形态 | front view |
|
||||
| 右上 | 侧面图 | 侧面 90° | 厚度/轮廓/结构清晰 | side view |
|
||||
| 左下 | 背面图 | 背面 180° | 道具背部结构/装饰 | back view |
|
||||
| 右下 | 细节特写 | 局部放大 | 材质纹理/工艺细节 | detail closeup |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面四宫格(2×2),上下左右四视角 |
|
||||
| 背景 | 月白纯色 #E8EAF5 |
|
||||
| 光线 | 均匀柔光,无硬阴影 |
|
||||
| 比例 | 每格道具占格内主体 70%+ |
|
||||
| 投影 | 允许自然地面微投影 |
|
||||
| 画面比例 | 建议 1:1 |
|
||||
|
||||
---
|
||||
|
||||
## 四、材质渲染约束
|
||||
|
||||
| 材质 | 渲染要求 | 提示词 |
|
||||
|---|---|---|
|
||||
| 金属 | 反光/高光/冷光泽、划痕微可见 | 金属质感、冷光泽、反光清晰 |
|
||||
| 玉石 | 内透光、温润、微通透 | 玉质通透、温润如脂 |
|
||||
| 木质 | 木纹清晰、年轮可见 | 木纹清晰、质感温润 |
|
||||
| 瓷器 | 釉面光泽、色泽均匀 | 釉面光泽、瓷质温润 |
|
||||
| 布/纸 | 纤维质感、边缘自然 | 布料纹理、纸质古朴 |
|
||||
| 宝石 | 折射/内部光线、切面清晰 | 宝石璀璨、光芒折射 |
|
||||
| 赛璐璐质感 | 平涂均匀、线条清晰 | 赛璐璐平涂、细腻笔触 |
|
||||
|
||||
---
|
||||
|
||||
## 五、提示词模板
|
||||
|
||||
国风二次元道具设定图,
|
||||
国风二次元,新国潮美学,日式动画渲染,赛璐璐平涂,细腻笔触,电影质感,
|
||||
{道具类型},{材质描述},{工艺/装饰描述},{状态描述},
|
||||
纯道具静物展示,道具独立陈列,无人持有,无人佩戴,
|
||||
同一画面四宫格(2×2):左上正面图+右上侧面图+左下背面图+右下细节特写,
|
||||
月白纯色背景,均匀柔光,无硬阴影,
|
||||
材质纹理超清晰,质感细腻,{材质光泽描述}
|
||||
国风二次元高清渲染,高细节,细腻线条,赛璐璐平涂感,
|
||||
画面无字幕、无水印、无标题叠字,
|
||||
画面中不能出现任何人物、手部、手指、肢体,道具不可处于被握持或佩戴状态
|
||||
|
||||
---
|
||||
|
||||
## 六、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 必须指定「月白纯色背景」 |
|
||||
| R2 | 必须明确道具材质与工艺 |
|
||||
| R3 | 道具造型必须符合古风世界观 |
|
||||
| R4 | 必须为「四宫格」布局:正面 + 侧面 + 背面 + 特写 |
|
||||
| R5 | 必须包含「国风二次元 + 赛璐璐平涂」关键词 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 复杂场景背景 |
|
||||
| X2 | 道具与人物同画面(本环节为纯道具图) |
|
||||
| X3 | 出现任何人物形象,包括全身、半身、局部(手、手指、手臂等肢体) |
|
||||
| X4 | 道具处于被持有、握持、佩戴、使用中的状态 |
|
||||
| X5 | 出现暗示人物存在的元素(如手持痕迹、佩戴视角、使用姿态) |
|
||||
| X6 | 现代元素出现在古风道具中 |
|
||||
@ -0,0 +1,133 @@
|
||||
---
|
||||
name: art_prop_derivative
|
||||
description: 道具衍生状态生成 · 约束手册
|
||||
metaData: art_skills
|
||||
---
|
||||
|
||||
# 道具衍生状态生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、衍生原则
|
||||
|
||||
1. **造型锚定** — 道具核心造型/轮廓在所有状态中可识别
|
||||
2. **状态可读** — 状态差异必须一目了然,观众能立即区分
|
||||
3. **叙事服务** — 每种状态变体服务于特定剧情节点
|
||||
4. **渐进退化** — 损伤/老化状态应有合理的物理逻辑
|
||||
5. **纯道具独立展示** — 画面中只能出现道具本身,严禁出现任何人物、手部、肢体,道具不可处于被持有/佩戴/握持状态,必须以静物陈列方式独立呈现
|
||||
|
||||
---
|
||||
|
||||
## 二、状态类型
|
||||
|
||||
### 2.1 使用状态
|
||||
|
||||
| 状态 | 描述 | 适用道具 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 崭新 | 完好无损、光泽如新 | 所有道具 | 崭新、完好无损、光泽如新 |
|
||||
| 日常使用 | 微磨损、自然包浆 | 兵器/器物/饰品 | 日常使用痕迹、自然包浆 |
|
||||
| 陈旧 | 明显年代感、色泽暗淡 | 器物/信物/卷轴 | 古旧斑驳、年代感、色泽暗沉 |
|
||||
|
||||
### 2.2 损伤状态
|
||||
|
||||
| 状态 | 描述 | 适用道具 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 微损 | 小裂纹/小缺口/轻微磨损 | 瓷器/玉佩/兵器 | 细微裂纹、轻微缺口 |
|
||||
| 破损 | 明显裂缝/断裂/破碎 | 瓷器/饰品/兵器 | 裂缝明显、碎裂、断裂 |
|
||||
| 残片 | 仅剩部分/碎片 | 瓷器/玉佩/信物 | 残片、碎片、仅存半块 |
|
||||
|
||||
### 2.3 特殊状态
|
||||
|
||||
| 状态 | 描述 | 适用道具 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 染血 | 血迹附着 | 兵器/信物/卷轴 | 血迹斑驳、染血、二次元渲染 |
|
||||
| 浸水/湿润 | 水渍、湿润反光 | 卷轴/信物/纸张 | 浸水、纸张湿润、墨迹晕染 |
|
||||
| 燃烧/焦损 | 焦黑边缘、火烧痕迹 | 卷轴/信物/木质品 | 边缘焦黑、火烧痕迹、炭化 |
|
||||
| 发光/激活 | 内在能量、光芒四射 | 信物/法器/玉石 | 微微发光、内蕴光华、赛璐璐光效 |
|
||||
| 包裹/封存 | 用布/盒子包裹 | 信物/饰品/秘物 | 锦布包裹、木盒封存、古风包装 |
|
||||
|
||||
### 2.4 环境适应状态(新增)
|
||||
|
||||
| 状态 | 描述 | 适用道具 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 雪覆 | 积雪覆盖 | 兵器/器物/信物 | 雪花覆盖、积雪、冬日感 |
|
||||
| 雨湿 | 雨水湿润 | 纸张/布/木质品 | 雨水湿润、水渍、潮湿感 |
|
||||
| 风蚀 | 风沙磨损 | 户外器物/兵器 | 风沙痕迹、磨损、年代感 |
|
||||
| 锈蚀 | 金属氧化 | 兵器/金属饰品 | 锈迹斑斑、氧化、岁月感 |
|
||||
|
||||
---
|
||||
|
||||
## 三、状态变体画面规范
|
||||
|
||||
### 单状态图
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 背景 | 月白纯色 #E8EAF5(与设定图一致) |
|
||||
| 光线 | 均匀照明,无硬阴影 |
|
||||
| 角度 | 与原设定图正面图一致 |
|
||||
| 比例 | 道具占画面主体 70%+ |
|
||||
|
||||
### 状态对比图
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面并排展示 2-3 种状态 |
|
||||
| 标注 | 每种状态下方标注状态名 |
|
||||
| 一致性 | 角度/光线/背景完全一致,仅状态不同 |
|
||||
|
||||
---
|
||||
|
||||
## 四、材质状态变化规则
|
||||
|
||||
| 材质 | 崭新 → 日常 | 日常 → 陈旧 | 损伤表现 |
|
||||
|---|---|---|---|
|
||||
| 金属 | 亮光泽 → 微包浆 | 包浆 → 锈蚀斑点 | 缺口/卷刃/断裂 |
|
||||
| 玉石 | 通透温润 → 微磨损 | 磨损 → 表面微裂 | 裂纹/碎裂/缺角 |
|
||||
| 木质 | 新木纹理 → 自然包浆 | 包浆 → 色泽暗沉 | 开裂/断裂/虫蛀 |
|
||||
| 瓷器 | 釉面光泽 → 微划痕 | 划痕 → 釉面暗淡 | 裂纹/碎裂/缺口 |
|
||||
| 布/纸 | 崭新平整 → 微皱折 | 皱折 → 发黄变脆 | 撕裂/焦损/墨迹晕染 |
|
||||
|
||||
---
|
||||
|
||||
## 五、提示词模板
|
||||
|
||||
### 单状态变体
|
||||
|
||||
基于{道具名}设定图,国风二次元道具衍生状态,
|
||||
国风二次元,新国潮美学,日式动画渲染,赛璐璐平涂,细腻笔触,
|
||||
{道具类型},{材质描述},
|
||||
当前状态:{状态名},{状态视觉描述},
|
||||
{材质表面变化描述},
|
||||
纯道具静物展示,道具独立陈列,无人持有,无人佩戴,
|
||||
同一画面四宫格(2×2):左上正面图(front view)+右上侧面图(side view)+左下背面图(back view)+右下细节特写(detail closeup),
|
||||
月白纯色背景,均匀柔光,无硬阴影,
|
||||
材质纹理超清晰,质感细腻,状态细节可辨,
|
||||
国风二次元高清渲染,高细节,细腻线条,赛璐璐平涂感,
|
||||
画面无字幕、无水印、无标题叠字,
|
||||
画面中不能出现任何人物、手部、手指、肢体,道具不可处于被握持或佩戴状态
|
||||
|
||||
---
|
||||
|
||||
## 六、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 道具核心造型/轮廓在所有状态中可识别 |
|
||||
| R2 | 状态变化须符合物理逻辑 |
|
||||
| R3 | 必须使用四宫格(2×2)布局:正面 + 侧面 + 背面 + 特写 |
|
||||
| R4 | 必须指定「月白纯色背景」,均匀柔光,无硬阴影 |
|
||||
| R5 | 必须包含「国风二次元 + 赛璐璐平涂」关键词 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 状态变化后道具不可识别 |
|
||||
| X2 | 违反物理逻辑的损伤(玉石生锈等) |
|
||||
| X3 | 过度血腥/恐怖的损伤描绘 |
|
||||
| X4 | 出现任何人物形象,包括全身、半身、局部(手、手指、手臂等肢体) |
|
||||
| X5 | 道具处于被持有、握持、佩戴、使用中的状态 |
|
||||
| X6 | 出现暗示人物存在的元素(如手持痕迹、佩戴视角、使用姿态) |
|
||||
@ -0,0 +1,160 @@
|
||||
---
|
||||
name: art_scene
|
||||
description: 场景图生成 · 约束手册
|
||||
metaData: art_skills
|
||||
---
|
||||
|
||||
# 场景图生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、场景美学原则
|
||||
|
||||
1. **空间叙事** — 场景承载情绪与叙事功能,不是纯背景板
|
||||
2. **层次纵深** — 所有场景必须具备前/中/后景,杜绝扁平
|
||||
3. **质感至上** — 木质/石质/布料/水面等材质纹理必须超清晰
|
||||
4. **二次元为锚** — 一切画面以国风二次元为标准,拒绝3D写实/CG动画质感;追求细腻线条、赛璐璐平涂、日式渲染
|
||||
|
||||
---
|
||||
|
||||
## 二、季节色调映射
|
||||
|
||||
| 季节 | 主色调 | 辅色调 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 春 | 青绿 + 朱红 | 月白、藤黄 | 春色青翠、桃花灼灼 |
|
||||
| 夏 | 青绿 + 靛蓝 | 月白、青绿 | 夏荷碧绿、浓荫蔽日 |
|
||||
| 秋 | 赭石 + 金黄 | 朱红、赭石 | 秋枫赤红、金叶飘零 |
|
||||
| 冬 | 月白 + 靛蓝 | 墨黑、青绿 | 冬雪素白、枯枝霜挂 |
|
||||
|
||||
---
|
||||
|
||||
## 三、室内场景
|
||||
|
||||
### 空间规范
|
||||
|
||||
| 维度 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 风格 | 古代宅邸/宫殿/书房/闺阁,明清至唐宋 | 古代{朝代}风格 |
|
||||
| 材质 | 木质为主、石/玉/绢/纱为辅 | 檀木家具、玉石屏风、绢纱帷幔 |
|
||||
| 色调 | 中国传统色调 + 月白纱幔 + 朱红木漆 | 暖木色调、素雅陈设 |
|
||||
| 纵深 | 前/中/后景层次 | 前景{元素}、中景{元素}、后景{元素} |
|
||||
| 质感 | 木纹/布料垂感/瓷器光泽可辨 | 纹理清晰、质感细腻 |
|
||||
| 光照 | 自然光源为主(窗光/烛光),柔和光影 | 自然光漫射、烛光摇曳、柔和光影 |
|
||||
| 镜头感 | 赛璐璐平涂虚化前后景、线条清晰 | cel shading wash, clear lines |
|
||||
| 瑕疵感 | 木面有使用痕迹、石面有风化纹、布料有自然褶皱 | 岁月痕迹、自然磨损、布料自然垂褶 |
|
||||
|
||||
### 室内类型速查
|
||||
|
||||
| 类型 | 核心元素 | 氛围词 |
|
||||
|---|---|---|
|
||||
| 闺阁/卧房 | 纱帐、梳妆台、铜镜、花瓶 | 温馨私密、纱幔轻垂 |
|
||||
| 书房/书斋 | 书架、卷轴、笔墨、棋盘 | 幽静雅致、墨香四溢 |
|
||||
| 大殿/正厅 | 高柱、匾额、帷幕、烛台 | 庄严华美、气势恢宏 |
|
||||
| 庭院回廊 | 廊柱、石栏、花木、灯笼 | 曲径通幽、灯影摇曳 |
|
||||
| 厨房/膳堂 | 灶台、蒸笼、食器 | 烟火气息、温馨日常 |
|
||||
|
||||
---
|
||||
|
||||
## 四、室外场景
|
||||
|
||||
### 空间规范
|
||||
|
||||
| 维度 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 庭院/山林/溪畔/古桥/集市 | {场景},{季节},{时间} |
|
||||
| 天候 | 晴/阴/薄雾/细雨/飞雪 | 薄雾弥漫、细雨如丝 |
|
||||
| 植被 | 梅/竹/松/桃花/柳/荷(须符合季节) | 桃花灼灼、翠竹成林 |
|
||||
| 水体 | 溪/湖/瀑布需有光影反射 | 溪水潺潺、湖面如镜 |
|
||||
| 建筑 | 飞檐斗拱、青瓦白墙、石桥木亭 | 飞檐翘角、石拱桥 |
|
||||
| 空气感 | 必须有空气透视,远景模糊 | 远山如黛、空气透视 |
|
||||
| 光照 | 自然光为唯一光源,日光/月光需有日式渲染效果 | 自然光照、日式渲染、柔和光影 |
|
||||
| 镜头感 | 赛璐璐平涂虚化、线条清晰 | cel shading wash, clear lines |
|
||||
| 瑕疵感 | 石面青苔/风化、木面包浆、瓦片残缺 | 青苔斑驳、风化痕迹、岁月包浆 |
|
||||
|
||||
### 室外类型速查
|
||||
|
||||
| 类型 | 核心元素 | 氛围词 |
|
||||
|---|---|---|
|
||||
| 庭院花园 | 假山、池塘、花木、石径 | 花影扶疏、曲径通幽 |
|
||||
| 山林竹海 | 古木、竹林、山石、云雾 | 层峦叠嶂、云雾缥缈 |
|
||||
| 溪畔湖边 | 溪流、卵石、垂柳、荷花 | 溪水潺潺、柳影婆娑 |
|
||||
| 古桥长亭 | 石拱桥、长亭、柳树 | 长亭古道、杨柳依依 |
|
||||
| 集市街道 | 酒旗、摊贩、灯笼 | 热闹市井、烟火人间 |
|
||||
| 屋顶天台 | 瓦片、飞檐、夜空 | 月下独酌、清风徐来 |
|
||||
|
||||
---
|
||||
|
||||
## 五、四视图设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
> 摄像机固定于场景中心点,分别朝前/后/左/右四个方向拍摄,形成 360° 环视。
|
||||
|
||||
| 位置 | 视图 | 视角方向 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|
|
||||
| 左上 | 前视图 | 从中心点向前方平视(0°) | 展示场景正面主体结构与纵深层次 | front view、eye level、looking forward |
|
||||
| 右上 | 右视图 | 从中心点向右方平视(90°) | 展示场景右侧空间延伸与侧面结构 | right side view、eye level、looking right |
|
||||
| 左下 | 后视图 | 从中心点向后方平视(180°) | 展示场景背面结构与空间纵深 | back view、eye level、looking backward |
|
||||
| 右下 | 左视图 | 从中心点向左方平视(270°) | 展示场景左侧空间延伸与侧面结构 | left view、eye level、looking left |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面 2×2 网格排列:上排(前视图 + 右视图),下排(后视图 + 左视图),形成从中心点环视的四方向视图 |
|
||||
| 人物 | **严禁出现任何人物、人影、人体轮廓** |
|
||||
| 视点 | 四视图均从同一中心点出发,视线高度一致(人眼平视高度) |
|
||||
| 一致性 | 四视图的建筑结构/材质/色调/光线/季节/天候完全一致 |
|
||||
| 光线 | 四视图光源方向统一,保持光影逻辑一致 |
|
||||
| 画面比例 | 建议 1:1(2×2 网格) |
|
||||
|
||||
---
|
||||
|
||||
## 六、提示词模板
|
||||
|
||||
国风二次元场景四视图设定图,
|
||||
国风二次元,新国潮美学,日式动画渲染,赛璐璐平涂,细腻笔触,
|
||||
Japanese anime style, cel shading, fine brushstrokes,
|
||||
赛璐璐平涂,细腻线条,自然光照,日式渲染,
|
||||
scene design sheet, environment concept art, no people, no characters, no human figures,
|
||||
{室内/室外},{场景类型},{朝代风格},{季节+时间},
|
||||
前景:{元素}, 中景:{元素}, 后景:{元素},
|
||||
{色调描述}, {天候/氛围元素},
|
||||
{材质描述}, 空气透视, 纹理细节超清晰,
|
||||
材质自然磨损痕迹,岁月包浆,布料自然垂褶,
|
||||
柔和光影,日式渲染,自然光漫射,细腻质感,
|
||||
同一画面2×2网格排列:从场景中心点环视,前视图+右视图+后视图+左视图,
|
||||
四视图均从同一中心点平视拍摄,建筑结构一致,材质色调一致,光影逻辑一致,
|
||||
画面中无任何人物
|
||||
图中不要有任何文字
|
||||
|
||||
---
|
||||
|
||||
## 七、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 场景必须有「前中后景层次」 |
|
||||
| R2 | 室外必须包含「空气透视」 |
|
||||
| R3 | 场景图必须为「四视图设定图」(从中心点环视:前视图 + 右视图 + 后视图 + 左视图) |
|
||||
| R4 | 四视图的建筑结构/材质/色调/光线/季节/天候必须完全一致 |
|
||||
| R5 | 场景图中**严禁出现任何人物** |
|
||||
| R6 | 必须包含国风二次元关键词(Chinese style anime / cel shading / fine brushstrokes) |
|
||||
| R7 | 必须包含镜头光学特征(赛璐璐平涂 / 细腻线条 / 日式渲染) |
|
||||
| R8 | 材质必须带有自然磨损/岁月痕迹,禁止全新无瑕的"CG 感" |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 背景纯白/纯黑/无场景 |
|
||||
| X2 | 极端天候(暴风雨/雷电/暴雪,除非剧情需要) |
|
||||
| X3 | 场景无纵深/无层次 |
|
||||
| X4 | 植被/天候与季节矛盾 |
|
||||
| X5 | 出现任何人物、人影、人体剪影或人体轮廓 |
|
||||
| X6 | 四视图之间建筑结构/材质/色调不一致,或视点中心不统一 |
|
||||
| X7 | 3D 写实/CG 动画/卡通/游戏引擎质感(禁用 3D render、CGI、Unreal Engine、Unity 等词) |
|
||||
| X8 | 材质过于干净完美、无任何使用痕迹与岁月感(避免"塑料感") |
|
||||
| X9 | 光照过于均匀平坦、无景深虚化、无镜头光学特征 |
|
||||
@ -0,0 +1,165 @@
|
||||
---
|
||||
name: art_scene_derivative
|
||||
description: 场景衍生资产生成 · 约束手册
|
||||
metaData: art_skills
|
||||
---
|
||||
|
||||
# 场景衍生资产生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、衍生原则
|
||||
|
||||
1. **空间一致** — 建筑结构/布局/材质在所有变体中保持一致
|
||||
2. **景别驱动** — 同一场景通过不同景别展示不同叙事功能
|
||||
3. **时段切换** — 同一空间在不同时间段呈现不同光影氛围
|
||||
4. **天候变化** — 同一空间在不同天气下呈现不同情绪
|
||||
5. **二次元为锚** — 所有变体必须保持国风二次元质感,拒绝3D写实/CG动画感;保留细腻线条、赛璐璐平涂、日式渲染
|
||||
|
||||
---
|
||||
|
||||
## 二、景别变体
|
||||
|
||||
### 景别定义
|
||||
|
||||
| 景别 | 范围 | 叙事功能 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 大全景 | 场景全貌 + 周围环境 | 建立空间感、定位 | extreme wide shot、大全景 |
|
||||
| 全景 | 场景完整呈现 | 展示空间结构 | wide shot、全景 |
|
||||
| 中景 | 场景局部区域 | 聚焦功能区 | medium shot、中景 |
|
||||
| 近景 | 场景细部 | 材质/氛围道具特写 | close shot、近景 |
|
||||
| 特写 | 极局部细节 | 材质纹理/关键道具 | extreme closeup、特写 |
|
||||
|
||||
### 景别衍生规范
|
||||
|
||||
| 从基准图衍生 | 保持不变 | 允许变化 |
|
||||
|---|---|---|
|
||||
| 大全景 → 全景 | 建筑外观、整体布局 | 视角收窄、前景增加 |
|
||||
| 全景 → 中景 | 材质、色调、光线 | 裁切聚焦、景深变化 |
|
||||
| 中景 → 近景 | 材质、色调 | 景深浅、背景虚化 |
|
||||
| 近景 → 特写 | 材质纹理 | 极浅景深、微距感 |
|
||||
|
||||
---
|
||||
|
||||
## 三、时段变体
|
||||
|
||||
### 时段定义
|
||||
|
||||
| 时段 | 视觉特征 | 提示词 |
|
||||
|---|---|---|
|
||||
| 清晨 | 薄雾柔光、色调偏冷暖交织 | 晨光微熹、清晨薄雾 |
|
||||
| 正午 | 明亮、阴影短、色彩鲜明 | 正午阳光、光线明亮 |
|
||||
| 黄昏 | 金色色调、长影、天空渐变 | 暮色金辉、golden hour |
|
||||
| 夜间(月光) | 冷蓝色调、幽静清冷 | 月光清辉、moonlight |
|
||||
| 夜间(灯火) | 暖黄点缀、明暗对比 | 灯火阑珊、烛光点点 |
|
||||
|
||||
### 时段衍生规范
|
||||
|
||||
| 从基准时段衍生 | 保持不变 | 变化项 |
|
||||
|---|---|---|
|
||||
| 日间 → 黄昏 | 建筑/布局/材质 | 天空色调暖化、影子拉长 |
|
||||
| 日间 → 夜间 | 建筑/布局/材质 | 整体变暗、增加灯火/月色氛围 |
|
||||
| 室内日间 → 室内夜间 | 空间结构、家具 | 整体色调暖化、增加烛火/灯笼元素 |
|
||||
|
||||
---
|
||||
|
||||
## 四、天候变体
|
||||
|
||||
### 天候定义
|
||||
|
||||
| 天候 | 视觉特征 | 提示词 |
|
||||
|---|---|---|
|
||||
| 晴天 | 明亮、阴影清晰 | 晴空万里、阳光明媚 |
|
||||
| 阴天 | 光线均匀、无硬影 | 阴天柔光、overcast |
|
||||
| 薄雾 | 能见度降低、空气朦胧 | 薄雾弥漫、雾气缭绕 |
|
||||
| 细雨 | 水珠、湿润反光、雨丝 | 细雨如丝、雨幕轻纱 |
|
||||
| 飞雪 | 白色覆盖、雪花飘落 | 飞雪纷纷、银装素裹 |
|
||||
|
||||
### 天候衍生规范
|
||||
|
||||
| 从基准天候衍生 | 保持不变 | 变化项 |
|
||||
|---|---|---|
|
||||
| 晴 → 薄雾 | 建筑/布局 | 增加雾气层、远景模糊、饱和度降低 |
|
||||
| 晴 → 细雨 | 建筑/布局 | 增加雨丝、地面反光、色调偏冷 |
|
||||
| 晴 → 飞雪 | 建筑/布局 | 增加积雪、雪花、色调偏白 |
|
||||
| 植被需随天候逻辑适配 | — | 雨中花瓣湿润、雪中枯枝挂霜 |
|
||||
|
||||
---
|
||||
|
||||
## 五、四视图设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
> 摄像机固定于场景中心点,分别朝前/后/左/右四个方向拍摄,形成 360° 环视。
|
||||
|
||||
| 位置 | 视图 | 视角方向 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|
|
||||
| 左上 | 前视图 | 从中心点向前方平视(0°) | 展示场景正面主体结构与纵深层次 | front view、eye level、looking forward |
|
||||
| 右上 | 右视图 | 从中心点向右方平视(90°) | 展示场景右侧空间延伸与侧面结构 | right side view、eye level、looking right |
|
||||
| 左下 | 后视图 | 从中心点向后方平视(180°) | 展示场景背面结构与空间纵深 | back view、eye level、looking backward |
|
||||
| 右下 | 左视图 | 从中心点向左方平视(270°) | 展示场景左侧空间延伸与侧面结构 | left view、eye level、looking left |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面四宫格(2×2),左上前视图+右上右视图+左下后视图+右下左视图,形成从中心点环视的四方向视图 |
|
||||
| 人物 | **严禁出现任何人物、人影、人体轮廓** |
|
||||
| 视点 | 四视图均从同一中心点出发,视线高度一致(人眼平视高度) |
|
||||
| 一致性 | 四视图的建筑结构/材质/色调/光线/季节/天候完全一致 |
|
||||
| 光线 | 四视图光源方向统一,保持光影逻辑一致 |
|
||||
| 画面比例 | 建议 1:1(2×2 网格) |
|
||||
|
||||
---
|
||||
|
||||
## 六、提示词模板
|
||||
|
||||
国风二次元场景衍生四视图设定图,基于{场景名}概念图,
|
||||
国风二次元,新国潮美学,日式动画渲染,赛璐璐平涂,细腻笔触,
|
||||
Japanese anime style, cel shading, fine brushstrokes,
|
||||
保持场景空间结构一致,
|
||||
{景别视角(如有)}, {时段描述(如有)}, {天候描述(如有)},
|
||||
{前景}, {中景}, {后景},
|
||||
{色调描述}, {景深描述(如有)}, {天空色调变化(如有)}, {氛围调整(如有)},
|
||||
{天候视觉特征(如有)}, {材质表面变化(如有)}, {植被适配描述(如有)},
|
||||
材质自然磨损痕迹,岁月包浆,布料自然垂褶,
|
||||
柔和光影,日式渲染,自然光漫射,细腻质感,
|
||||
国风二次元高清渲染,高细节,细腻线条,赛璐璐平涂感,
|
||||
同一画面四宫格(2×2):从场景中心点环视,前视图+右视图+后视图+左视图,
|
||||
四视图均从同一中心点平视拍摄,建筑结构一致,材质色调一致,光影逻辑一致,
|
||||
画面中无任何人物
|
||||
图中不要有任何文字
|
||||
|
||||
> **使用说明**:根据用户提供的信息自行判断需要应用的变化维度(景别/时段/天候),未提及的维度对应字段留空省略即可。无需为每种变体单独生成模板。
|
||||
|
||||
---
|
||||
|
||||
## 七、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 场景空间结构在所有变体中保持一致 |
|
||||
| R2 | 时段变体必须调整天空色调与氛围 |
|
||||
| R3 | 天候变体必须适配植被/材质表面 |
|
||||
| R4 | 必须为「四视图设定图」(从中心点环视:前视图 + 右视图 + 后视图 + 左视图) |
|
||||
| R5 | 四视图的建筑结构/材质/色调/光线/季节/天候必须完全一致 |
|
||||
| R6 | 场景图中**严禁出现任何人物** |
|
||||
| R7 | 根据用户提供的信息自行判断变化维度,无需拆分为独立模板 |
|
||||
| R8 | 必须包含国风二次元关键词(Chinese style anime / cel shading / fine brushstrokes) |
|
||||
| R9 | 必须包含镜头光学特征(赛璐璐平涂 / 细腻线条 / 日式渲染) |
|
||||
| R10 | 材质必须带有自然磨损/岁月痕迹,禁止全新无瑕的"CG 感" |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 变体间建筑结构/布局不一致 |
|
||||
| X2 | 天候与季节矛盾(夏天飞雪等) |
|
||||
| X3 | 变体间材质/风格突变 |
|
||||
| X4 | 出现任何人物、人影、人体剪影或人体轮廓 |
|
||||
| X5 | 四视图之间建筑结构/材质/色调不一致,或视点中心不统一 |
|
||||
| X6 | 3D 写实/CG 动画/卡通/游戏引擎质感(禁用 3D render、CGI、Unreal Engine、Unity 等词) |
|
||||
| X7 | 材质过于干净完美、无任何使用痕迹与岁月感(避免"塑料感") |
|
||||
| X8 | 光照过于均匀平坦、无景深虚化、无镜头光学特征 |
|
||||
@ -0,0 +1,11 @@
|
||||
# 视频提示词 · 视觉风格约束
|
||||
|
||||
生成视频提示词时,必须注入以下视觉风格标签:
|
||||
|
||||
| 模式 | 风格标签 |
|
||||
|------|----------|
|
||||
| **通用多参模式(英文)** | `Chinese style anime, cel-shaded, neo-chic oriental aesthetic, cinematic, vivid colors, detailed brushwork` |
|
||||
| **通用首尾帧模式(英文)** | `Chinese style anime, cel-shaded, neo-chic oriental aesthetic, cinematic, vivid colors, detailed brushwork, shallow depth of field` |
|
||||
| **Seedance 2.0(中文)** | `国风二次元动画,赛璐璐平涂,新国潮东方美学,电影风格,色彩鲜明,细腻笔触` |
|
||||
|
||||
|
||||
@ -0,0 +1,94 @@
|
||||
---
|
||||
name: director_planning_style
|
||||
description: 国风二次元约束 — 定义国风二次元新国潮在色调体系、光影方案、质感方向、场景空间元素、乐器选择与环境音上的全局约束。适用于任何叙事类型。
|
||||
metaData: director_skills
|
||||
---
|
||||
|
||||
# 国风二次元约束 · 国风二次元新国潮 · 技法参考
|
||||
|
||||
---
|
||||
|
||||
## 一、色调体系与画面基调
|
||||
|
||||
- **色调基底** — 全片以核心色盘为基底:月白(C1 #E8EAF5)、青绿(C2 #4A9B8A)、朱红(C3 #C93752)、靛蓝(C4 #2B4C7E)、金黄(C5 #D4AF37)、墨黑(C6 #1A1A2E)、胭脂(C7 #A94A5F)、赭石(C8 #965E3E)、藤黄(C9 #F5E375)、灰紫(C10 #7B6C85),整体色温偏中性(5000-5600K),饱和度中高(55-70%),呈现新国潮色盘饱满的东方古韵画面
|
||||
- **冷暖叙事对比** — 暖色(朱红 C3、金黄 C5、胭脂 C7、藤黄 C9)作为正向情感/华贵/喜庆的视觉信号;冷色(靛蓝 C4、墨黑 C6、青绿 C2)作为冲突/肃杀/孤寂的视觉信号。冷暖切换应与故事弧线同步,而非随意混用
|
||||
- **冷暖分配策略** — 武侠肃杀/悲戚孤绝段落使用冷色调(靛蓝 + 墨黑 + 青绿),禁用朱红/金黄暖光;仙侠飘逸/少女日常段落使用柔和暖调(月白 + 胭脂 + 藤黄);宫廷华贵/节日庆典段落使用朱红 + 金黄高光
|
||||
- **色盘先行原则** — 段落规划需先绑定情绪场景(仙侠飘逸/宫廷华贵/武侠肃杀/少女日常/月夜诗意/节日庆典等),再确定主色+辅色与光影方案,避免"剧情对了但情绪不对色"
|
||||
- **禁用色域** — 高饱和荧光色、霓虹色、数码感强色彩均与本风格不兼容。色相偏移容差 ±8°,饱和度偏移 ±10%,明度偏移 ±12%
|
||||
|
||||
---
|
||||
|
||||
## 二、光影方案体系
|
||||
|
||||
- **光影即叙事** — 7 套光影方案对应不同情绪段落,导演规划阶段应在段落层面确定光影基调方向,而非逐镜指定
|
||||
- **赛璐璐光影为锚** — 所有光影方案必须保持赛璐璐平涂质感,阴影使用同色系加深,禁止黑色硬阴影,允许体积光/景深虚化等日式渲染技法
|
||||
- **光源角度** — 正给镜头默认 38.5° 斜射柔光(赛璐璐平涂质感),侧给镜头可适当调整
|
||||
|
||||
| 光影方案 | 方案名 | 色调倾向 | 适用情绪 |
|
||||
|---|---|---|---|
|
||||
| A | 柔光清透 | 月白底 + 胭脂微暖肤光 | 少女日常、温馨甜蜜、治愈清新 |
|
||||
| B | 仙气飘逸 | 月白 + 青绿 + 金黄边缘光 | 仙侠飘逸、空灵意境、惊艳登场 |
|
||||
| C | 烛光暖影 | 赭石暖主导 + 墨黑暗部 | 夜间暧昧、亲密升温、暖意绵绵 |
|
||||
| D | 月光冷辉 | 靛蓝 + 月白冷光 | 月夜诗意、思念独处、宁静清冷 |
|
||||
| E | 窗纱透光 | 月白底 + 侧光斑驳 | 闺阁室内、书房日常、日间静谧 |
|
||||
| F | 宫廷华辉 | 朱红 + 金黄高光 + 墨黑暗部 | 宫廷华贵、庆典盛大、正式庄严 |
|
||||
| G | 冷调肃杀 | 靛蓝 + 墨黑 + 38.5°侧射冷光,无暖色 | 武侠对决、悲戚孤绝、氛围紧张 |
|
||||
|
||||
- **冷暖光分配** — 暖色光(赭石暖/朱红/金黄)适用于正向情感/华贵段落;武侠肃杀/悲戚段落一律冷光。导演可根据叙事需要调整冷暖切换点
|
||||
- **氛围方向映射** — 每场戏的氛围方向应能映射到上述光影方案(A-G)的某一方向,确保视觉一致性
|
||||
|
||||
---
|
||||
|
||||
## 三、质感方向
|
||||
|
||||
- **赛璐璐平涂为锚** — 国风二次元的核心:细腻线条、赛璐璐平涂、日式动画渲染、色块平滑渐变、禁止色块断层/色彩溢出
|
||||
- **细腻笔触 + 电影质感** — 这是画面质感的锚点。不是写实摄影,不是 3D CG,是二次元日式动画渲染加国风美学的融合
|
||||
- **材质二次元化** — 所有服化道的材质必须以赛璐璐平涂呈现:丝绸的光泽用平滑色块、金属的反光用冷光泽线条、玉石的润感用内透光色块。禁止"3D 感"和"写实摄影感"
|
||||
- **皮肤质感** — 粉白基调、赛璐璐平涂、自然光泽、柔和质感、内透光感、皮肤通透发光。禁止哑光/死白/蜡感/油光/过曝
|
||||
- **二次元不等于扁平** — 国风二次元新国潮强调在赛璐璐平涂基础上通过光影层次、景深虚化、体积光等手段增加空间感与电影感,而非扁平无纵深的卡通风格
|
||||
|
||||
---
|
||||
|
||||
## 四、国风二次元场景空间元素
|
||||
|
||||
国风世界观特有的场景元素及其视觉叙事功能:
|
||||
|
||||
- **纱帘/屏风/门框/雕花窗棂** — 天然的框架式构图道具,制造"看不透"的层次感与空间纵深,以赛璐璐线条呈现精致雕花细节
|
||||
- **庭院/花树/雨幕/青绿山水** — 留白构图的天然载体,景即情:满庭花开 = 释然、独坐雨中 = 孤寂、落叶纷飞 = 离愁、云雾缥缈 = 仙意空灵
|
||||
- **烛火/月色/窗光/灯笼** — 国风世界的光源载体,烛光 = 暖/私密(方案C)、月色 = 冷/孤寂(方案D)、窗光 = 日常/静谧(方案E)、灯笼 = 庆典/市井(方案F)
|
||||
- **飞檐斗拱/朱红宫墙/石拱桥/古典家具** — 建筑元素以新国潮美学呈现,细节丰富、赛璐璐线条清晰,材质带自然磨损/岁月包浆感,禁止全新无瑕的"塑料感"
|
||||
- **段落间用场景空镜过渡** — 本风格有丰富的场景资产(不同时段/天候/景别变体),段落衔接建议用场景空镜做情绪缓冲,不要硬切
|
||||
- **转折点用视觉而非台词** — 优先使用画面手段(光影突变、景别跳切、空镜隐喻)而非依赖对白解释
|
||||
- **前中后景层次** — 所有场景必须具备前/中/后景,杜绝扁平,室外必须包含空气透视(远山如黛)
|
||||
|
||||
---
|
||||
|
||||
## 五、古风乐器与环境音
|
||||
|
||||
古风世界观下的声音元素约束:
|
||||
|
||||
### 乐器选择
|
||||
|
||||
- **箫** — 凄凉、孤寂、悲戚段落的核心乐器,与月夜诗意/仙侠飘逸氛围高度适配
|
||||
- **二胡** — 情感激荡、悲痛、思念段落,拉弦的哭腔感适合情绪爆发
|
||||
- **唢呐** — 情感波动剧烈段落(大悲大喜、命运转折、高潮),慎用但一用即核弹
|
||||
- **古琴** — 开场定调 / 平稳段落 / 仙侠意境,与箫搭配使用
|
||||
- **琵琶** — 紧张、急促段落的点缀,武侠对决场景的节奏推动器,不作主导
|
||||
- 弦乐铺底可增加电影感但不宜喧宾夺主
|
||||
|
||||
### 乐器组合策略
|
||||
|
||||
| 情绪阶段 | 乐器组合 |
|
||||
|---|---|
|
||||
| 平稳/开场/收尾 | 古琴独奏 或 古琴 + 箫 |
|
||||
| 仙侠/空灵/意境 | 箫 + 古琴 + 轻铃 |
|
||||
| 悲戚渐浓 | 箫 + 二胡 |
|
||||
| 情绪爆发/命运转折 | 唢呐独奏 或 唢呐 + 二胡 |
|
||||
| 紧张/急促/武侠 | 琵琶点缀 + 鼓点 + 弦乐衬底 |
|
||||
| 少女日常/甜蜜 | 古筝 + 竹笛 |
|
||||
| 宫廷/庆典/盛大 | 编钟 + 古筝 + 弦乐铺底 |
|
||||
|
||||
### 古风环境音
|
||||
|
||||
- **典型环境音层次** — 蝉鸣虫唱 / 溪水潺潺 / 风过竹林 / 市井叫卖 / 夜雨滴檐 / 衣料摩擦 / 风铃轻响 / 落花飘零 / 萤火虫光点微响
|
||||
- **每场戏标注 1-2 个核心环境音**,帮助后续音效设计。环境音层次越丰富,国风场景越有沉浸感
|
||||
@ -0,0 +1,202 @@
|
||||
---
|
||||
name: director_storyboard
|
||||
description: 导演分镜提示词技法 · 国风二次元新国潮
|
||||
metaData: director_skills
|
||||
---
|
||||
|
||||
# 分镜提示词 · 国风二次元新国潮 · 风格专属技法
|
||||
|
||||
---
|
||||
|
||||
## 适用范围
|
||||
|
||||
本 Skill 专用于**国风二次元新国潮**风格的分镜提示词生成。
|
||||
|
||||
---
|
||||
|
||||
## 情绪 → 面容/眼神词映射
|
||||
|
||||
| 情绪输入 | 面容词 | 眼神词 | 微表情补充 |
|
||||
|----------|--------|--------|-----------|
|
||||
| 温柔 / 深情 | 神情温柔,眉目含情 | 眼神专注柔和,目光温暖 | 嘴角微扬,表情治愈 |
|
||||
| 坚定 / 勇敢 | 神情认真,目光清亮 | 眼神坚定,目光向前 | 下巴微抬,表情果敢 |
|
||||
| 羞涩 / 腼腆 | 脸颊泛红,眼神躲闪 | 眼神羞涩,目光低垂 | 嘴角轻抿,表情可爱 |
|
||||
| 凌厉 / 肃杀 | 神情冷峻,目光如刀 | 眼神锐利,目光坚定 | 下颌收紧,表情威严 |
|
||||
| 喜悦 / 欢快 | 表情灿烂,眼睛弯月 | 眼神明亮,目光灵动 | 脸颊微红,表情生动 |
|
||||
| 忧伤 / 哀婉 | 神情哀婉,眼神黯淡 | 眼神含泪,目光低垂 | 嘴角下沉,表情哀伤 |
|
||||
| 惊讶 / 惊喜 | 眼睛微睁,表情生动 | 眼神明亮,目光聚焦 | 嘴巴微张,表情意外 |
|
||||
| 沉思 / 内省 | 神情淡淡,目光悠远 | 眼神放空,目光失焦 | 表情平静,气质内敛 |
|
||||
| 疲惫 / 倦怠 | 眼神朦胧,表情柔和 | 目光略显疲惫,眼神柔和 | 微微打哈欠,表情慵懒 |
|
||||
| 期待 / 盼望 | 眼神发光,表情鲜活 | 眼神期待,目光闪烁 | 嘴角上扬,表情生动 |
|
||||
|
||||
---
|
||||
|
||||
## 光影氛围词库(国风二次元新国潮)
|
||||
|
||||
### 时间段光线
|
||||
|
||||
| 时间段 | 主光词 | 色调词 | 气氛词 |
|
||||
|--------|--------|--------|--------|
|
||||
| 清晨 | 柔和晨光,暖色侧射 | 月白 + 青绿 | 薄雾弥漫,空气清新 |
|
||||
| 正午 | 明亮阳光,直射柔光 | 朱红 + 金黄高光 | 光影清晰,色彩鲜明 |
|
||||
| 傍晚/黄昏 | 逆光剪影,暖色渐变 | 朱红 + 靛蓝渐变 | 夕阳余晖,轮廓光 |
|
||||
| 夜间 | 冷色背景 + 暖光点缀 | 靛蓝主调 + 暖黄光点 | 宁静温馨,灯光柔和 |
|
||||
| 雨天 | 漫射冷光,无主光源 | 青绿 + 月白 | 空气湿润,低对比 |
|
||||
|
||||
### 情绪光影
|
||||
|
||||
| 情绪基调 | 光线类型 | 补充约束 |
|
||||
|----------|----------|----------|
|
||||
| 仙侠飘逸 | 柔光漫射,飘逸动态 | 青绿色调,景深虚化,赛璐璐平涂 |
|
||||
| 宫廷华贵 | 暖光照明,局部高光 | 朱红色调,高光强调,景深层次 |
|
||||
| 少女日常 | 局部柔光,柔和阴影 | 胭脂色调,近景特写,清新氛围 |
|
||||
| 武侠肃杀 | 冷调阴影,硬光对比 | 靛蓝 + 墨黑,低饱和度,紧张氛围 |
|
||||
| 月夜诗意 | 月光照明,冷暖对比 | 靛蓝背景,暖光点缀,唯美氛围 |
|
||||
|
||||
---
|
||||
|
||||
## 场景质感约束词(按场景类型)
|
||||
|
||||
| 场景类型 | 必加约束词 |
|
||||
|----------|-----------|
|
||||
| 仙侠场景 | 云雾缭绕、飞檐亭台、飘逸衣袂、青绿山水、赛璐璐平涂 |
|
||||
| 宫廷场景 | 朱红宫墙、金顶琉璃、雕梁画栋、汉白玉栏杆、新国潮装饰 |
|
||||
| 闺阁室内 | 屏风格扇、雕花窗棂、纱幔帐帘、古典家具、细腻笔触 |
|
||||
| 武侠场景 | 竹林/雪地/山崖、冷色调、氛围压抑、线条凌厉、新国潮风格 |
|
||||
| 节日庆典 | 灯笼/彩带/烟花、高饱和暖色、氛围热闹、人群熙攘 |
|
||||
| 夜晚街景 | 灯笼/街灯/店铺、暖光点缀、冷色背景、倒影反射、日式渲染 |
|
||||
|
||||
---
|
||||
|
||||
## 固定风格锚定词(所有输出必须包含)
|
||||
|
||||
**国风二次元锚定(必选):**
|
||||
|
||||
国风二次元,新国潮美学,日式动画渲染,赛璐璐平涂,细腻笔触
|
||||
|
||||
**人物质感(含人物镜头时必选):**
|
||||
|
||||
二次元国风造型,线条清晰,赛璐璐上色,服饰细节精致,光影层次丰富
|
||||
|
||||
**场景质感(含场景镜头时必选):**
|
||||
|
||||
国风二次元场景,传统建筑细节丰富,日式渲染技术,光影质感细腻
|
||||
|
||||
**一致性锚定(参考图模式必选):**
|
||||
|
||||
保持人物造型与参考图一致,保持场景风格与参考图一致,保持光影色彩基调统一
|
||||
|
||||
**风格收尾(固定):**
|
||||
|
||||
国风二次元电影质感,东方古韵,新国潮风格,日式动画渲染技法
|
||||
|
||||
**画质锁定词(所有输出必须包含,置于风格收尾之后):**
|
||||
|
||||
模式A(中文)——默认(画面无画内文字需求时):
|
||||
国风二次元高清渲染,高细节,细腻线条,赛璐璐平涂感,电影质感,画面无字幕、无水印、无标题叠字
|
||||
|
||||
模式A(中文)——画内文字场景(画面描述中含牌匾/对联/书籍等道具文字时):
|
||||
国风二次元高清渲染,高细节,细腻线条,赛璐璐平涂感,电影质感,画面无字幕、无水印、无标题叠字,牌匾/对联等场景道具上的文字清晰可辨
|
||||
|
||||
模式B(英文)——默认:
|
||||
Chinese style anime, neo-chic aesthetic, Japanese animation rendering technique, cel shading, fine brushstrokes, cinematic quality, high detail, no subtitles, no captions, no watermark, no title overlay
|
||||
|
||||
模式B(英文)——画内文字场景:
|
||||
Chinese style anime, neo-chic aesthetic, Japanese animation rendering technique, cel shading, fine brushstrokes, cinematic quality, high detail, no subtitles, no captions, no watermark, no title overlay, legible text on in-scene props such as plaques and couplets
|
||||
|
||||
**负向词模板(模式B 必须包含,置于提示词末尾):**
|
||||
|
||||
> ⚠️ Seedream(模式A)**不支持负向提示词**,负向词仅适用于模式B。模式A 通过正向词中的质感锚定和画质锁定来保证画面质量。
|
||||
|
||||
模式B(英文):
|
||||
no photorealistic, no realistic photography, no 3D render, no low-poly, no rough modeling, no plastic texture, no harsh lines, no western fantasy, no cyberpunk, no sci-fi, no modern elements, no cartoon style without anime quality, no subtitles, no captions, no watermark, no title overlay, no UI text
|
||||
|
||||
---
|
||||
|
||||
## 美学禁止项(生成时严格规避)
|
||||
|
||||
以下词汇/风格不得出现于输出提示词中:
|
||||
|
||||
- ❌ 写实摄影/3D写实渲染/照片级真实感词
|
||||
- ❌ 高饱和荧光色/霓虹色/数码感强
|
||||
- ❌ 西方奇幻/赛博朋克/过度现代元素
|
||||
- ❌ 粗劣线条/模糊画质/低精度建模
|
||||
- ❌ 卡通/动漫/二次元风格但无精致感
|
||||
- ❌ 扁平设计/无二次元纵深感
|
||||
- ❌ 色彩混乱/光影错误/透视错误
|
||||
- ❌ 现代建筑/现代服饰元素
|
||||
|
||||
> 💡 **例外**:某些现代渲染技术(如体积光、景深虚化)可以合理使用,但应保持国风二次元美学基调。
|
||||
|
||||
---
|
||||
|
||||
## 完整生成示例
|
||||
|
||||
> 以下为同一输入分别使用模式A和模式B的对照展示,实际使用时**仅输出其中一种**。
|
||||
|
||||
### 输入(分镜表行数据)
|
||||
|
||||
| 序号 | 画面描述 | 场景 | 关联资产名称 | 时长 | 景别 | 运镜 | 角色动作 | 情绪 | 光影氛围 |
|
||||
|------|---------|------|-------------|------|------|------|---------|------|----------|
|
||||
| 1 | 古装少女站在宫殿前,手持花枝,眼神温柔 | 宫殿 | 古装少女 | 6s | 中景 | 缓推 | 侧身持花,眼神温柔 | 温婉 / 典雅 | 暖光照明 |
|
||||
|
||||
### 示例输出A(模式A · Seedream)
|
||||
|
||||
[Prompt]
|
||||
国风二次元,新国潮美学,日式动画渲染,赛璐璐平涂,细腻笔触,二次元国风造型,线条清晰,赛璐璐上色,服饰细节精致,光影层次丰富,中景构图,古装少女站在宫殿前,手持花枝侧身而立,神情温柔,眼神温柔,朱红宫墙背景,金黄高光点缀,体积光氛围,景深虚化,国风二次元电影质感,东方古韵,新国潮风格,日式动画渲染技法,国风二次元高清渲染,高细节,细腻线条,赛璐璐平涂感,电影质感,画面无字幕、无水印、无标题叠字。
|
||||
Based on the reference image of 古装少女,maintain consistent: face features, hairstyle, costume details. Generate a new scene: standing in front of palace at dusk, holding flower branch. Keep visual style identical to reference.
|
||||
|
||||
|
||||
### 示例输出B(模式B · Nanobanana)
|
||||
|
||||
```xml
|
||||
<role>
|
||||
You are an anime storyboard artist.
|
||||
Maintain strict visual continuity across all shots.
|
||||
</role>
|
||||
<character_reference>
|
||||
Image [1]: 古装少女 — 国风二次元造型,典雅服饰,新国潮美学
|
||||
</character_reference>
|
||||
<continuity_rules>
|
||||
- Same outfit, hairstyle, face features across ALL shots
|
||||
- Same cel shading style, Japanese animation rendering
|
||||
- Same scene lighting, Chinese anime aesthetic
|
||||
- Do NOT introduce photorealistic or western fantasy elements
|
||||
</continuity_rules>
|
||||
<shot>
|
||||
Medium shot, ancient Chinese girl in elegant traditional attire standing before palace, holding flower branch, gentle expression, soft gaze, cinematic lighting, volumetric fog, depth of field blur, cel shading with fine brushstrokes, Chinese style anime, neo-chic aesthetic, Japanese animation rendering technique, high detail, no subtitles, no captions, no watermark, no title overlay.
|
||||
</shot>
|
||||
<negative>
|
||||
no photorealistic, no realistic photography, no 3D render, no low-poly, no rough modeling, no plastic texture, no harsh lines, no western fantasy, no cyberpunk, no sci-fi, no modern elements, no cartoon style without anime quality, no subtitles, no captions, no watermark, no title overlay, no UI text
|
||||
</negative>
|
||||
```
|
||||
|
||||
## 快速参考卡
|
||||
|
||||
### 情绪 → 画面词速查
|
||||
|
||||
| 情绪 | 面容关键词 | 光线匹配 |
|
||||
|------|-----------|---------|
|
||||
| 温柔 | 神情温柔,眼神专注 | 柔光漫射 + 暖光 |
|
||||
| 坚定 | 神情认真,目光清亮 | 暖光侧射 + 清晰轮廓 |
|
||||
| 羞涩 | 脸颊泛红,眼神躲闪 | 暖光侧射 + 腮红 |
|
||||
| 凌厉 | 神情冷峻,目光如刀 | 冷调阴影 + 硬光 |
|
||||
| 喜悦 | 表情灿烂,眼睛弯月 | 暖光照明 + 高饱和 |
|
||||
| 忧伤 | 神情哀婉,眼神黯淡 | 冷调阴影 + 低对比 |
|
||||
| 疲惫 | 眼神朦胧,表情柔和 | 柔和光线 + 低对比 |
|
||||
| 沉思 | 神情淡淡,目光悠远 | 体积光 + 雾气 |
|
||||
| 期待 | 眼神发光,表情鲜活 | 暖光侧射 + 高亮 |
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -0,0 +1,68 @@
|
||||
---
|
||||
name: director_storyboard_table_style
|
||||
description: 分镜表国风二次元约束 — 定义国风二次元新国潮在分镜表中的赛璐璐光影规范、色调绑定、动作节奏、环境动态、运镜禁忌与转场禁忌。适用于任何叙事类型。
|
||||
metaData: director_skills
|
||||
---
|
||||
|
||||
# 分镜表国风二次元约束 · 国风二次元新国潮 · 技法参考
|
||||
|
||||
---
|
||||
|
||||
## 一、分镜表定位
|
||||
|
||||
分镜表是导演将剧本转化为镜头语言的核心工具。以下仅提供国风二次元新国潮风格在分镜表层面的约束规范。
|
||||
|
||||
---
|
||||
|
||||
## 二、光影与氛围
|
||||
|
||||
- **赛璐璐光影统一** — 一场戏内光影方案必须保持赛璐璐平涂一致性,阴影使用同色系加深(禁止黑色硬阴影),除非有明确的叙事转折(如烛光熄灭→月光冷辉)
|
||||
- **情绪色盘绑定** — 每场戏至少绑定 1 个情绪场景(如仙侠飘逸/宫廷华贵/武侠肃杀/少女日常/月夜诗意/节日庆典),并在镜头组内保持主色+辅色连续性,色彩取自核心色盘(月白 #E8EAF5 / 青绿 #4A9B8A / 朱红 #C93752 / 靛蓝 #2B4C7E / 金黄 #D4AF37 / 墨黑 #1A1A2E / 胭脂 #A94A5F / 赭石 #965E3E / 藤黄 #F5E375 / 灰紫 #7B6C85)
|
||||
- **光源角度规范** — 正给镜头光源默认 38.5° 斜射柔光(赛璐璐平涂质感),侧给镜头根据画面需要调整。描述光影时须区分正给/侧给的角度差异,光影渲染始终保持日式动画质感
|
||||
- **冷暖色调与叙事阶段匹配** — 武侠肃杀/忧伤哀婉段落使用冷色调(靛蓝 + 墨黑 + 青绿),禁用暖橙/朱红暖光;仙侠飘逸/少女日常段落使用柔和暖调(月白 + 胭脂 + 藤黄);宫廷华贵段落使用朱红 + 金黄高光
|
||||
- **光影转场是高级手段** — 从窗纱透光渐变到烛光暖影 = 日转夜的时间流逝。在分镜表中标注光影变化点,转场过程中赛璐璐色块必须平滑渐变,禁止色块断层/色彩溢出
|
||||
- **日式渲染光效** — 允许合理使用体积光(volumetric light)、景深虚化、轮廓光等现代渲染技法,但必须保持国风二次元赛璐璐平涂的美学基调,禁止 3D 写实/CG 动画光效
|
||||
|
||||
---
|
||||
|
||||
## 三、环境动态
|
||||
|
||||
- **环境动态增加画面呼吸感** — 花瓣飘落、云雾缭绕、水波荡漾、纱帘飘动、衣袂飘逸。每 3-4 个镜头至少安排一个有环境动态的镜头,避免画面"死"掉
|
||||
- **国风二次元环境元素优先** — 环境动态应选用国风世界观内的元素:落花、飞絮、轻烟、流水、风过竹林、烛火摇曳、云雾流动、萤火虫光点、雪花飘落,禁止出现现代元素
|
||||
- **赛璐璐动态质感** — 环境动态元素(花瓣/烟雾/水波等)必须保持赛璐璐平涂质感与细腻线条,禁止出现 3D 粒子特效或写实流体效果
|
||||
|
||||
---
|
||||
|
||||
## 四、国风二次元动作节奏
|
||||
|
||||
- **动作优雅且带动画感** — 人物动作默认缓慢优雅,但可在关键帧上做二次元夸张处理(如武侠对决中的凌厉线条、少女回眸时的发丝飘动),起身、转身、抬手应标注"缓慢/优雅"
|
||||
- **服饰动态是核心画面资产** — 国风二次元服饰(宽袖、裙摆、披帛、飘带)的飘动是天然的动态资产,可在画面描述中加入衣袂/裙摆/飘带的动态,赛璐璐渲染下的服饰飘动应线条清晰、层次分明
|
||||
- **仪态约束** — 国风人物的举止应符合古典气质:行走稳缓、举手投足含蓄内敛、不出现现代化的肢体语言(如耸肩、摊手)。二次元角色可在微表情上略有夸张(眼睛弯月、脸颊泛红),但肢体动作仍需古典克制
|
||||
- **头身比一致** — 动作设计中角色必须保持 6-7 头身的二次元古典比例,禁止因动态姿势而破坏头身比
|
||||
|
||||
---
|
||||
|
||||
## 五、材质与质感约束
|
||||
|
||||
- **赛璐璞平涂为锚** — 所有镜头中人物/服饰/道具/场景的渲染必须保持赛璐璞平涂质感,线条细腻清晰,色块平滑,禁止 3D 写实/CG 动画/照片级渲染
|
||||
- **服饰材质** — 丝绸 + 刺绣 + 珠光面料的质感用赛璐璞平涂表现,纹理必须超清晰,衣服质感清晰
|
||||
- **道具材质** — 金属冷光泽、玉质通透、木纹清晰、瓷质温润,均以赛璐璞平涂 + 细腻笔触呈现,禁止写实材质渲染
|
||||
- **场景材质** — 木面有使用痕迹、石面有风化纹、布料有自然褶皱,材质带有岁月感但以国风二次元笔触呈现,禁止"塑料感"的全新无瑕材质
|
||||
|
||||
---
|
||||
|
||||
## 六、色彩约束
|
||||
|
||||
- **核心色盘锁定** — 分镜表中所有镜头的色彩必须取自核心色盘(C1-C10),色相偏移容差 ±8°,饱和度偏移 ±10%,明度偏移 ±12%
|
||||
- **禁止荧光色** — 严禁高饱和荧光色/霓虹色/数码感强的色彩出现
|
||||
- **线条颜色** — 墨黑或深棕,禁止纯黑粗线条
|
||||
- **阴影色** — 同色系加深,禁止黑色硬阴影
|
||||
- **整体色温** — 偏中性 5000-5600K 自然光基调,对比度 45-65%,饱和度 55-70%(新国潮色盘饱满)
|
||||
|
||||
---
|
||||
|
||||
## 七、运镜禁忌
|
||||
|
||||
- **禁用快速运镜** — 甩镜、急推、手持晃动与国风二次元新国潮的优雅气质冲突,武侠对决场景可适度加快运镜节奏但仍需保持画面清晰
|
||||
- **禁用花式转场** — 划屏、旋转、百叶窗等与本风格不兼容
|
||||
- **禁用写实镜头语言** — 手持摇晃/纪录片式跟拍/鱼眼镜头等与二次元美学冲突,破坏赛璐璞平涂的画面纯净感
|
||||
BIN
data/skills/art_skills/2D_chinese_guofeng/images/1.png
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
BIN
data/skills/art_skills/2D_chinese_guofeng/images/场景原始.png
Normal file
|
After Width: | Height: | Size: 1.5 MiB |
BIN
data/skills/art_skills/2D_chinese_guofeng/images/场景衍生.png
Normal file
|
After Width: | Height: | Size: 1.9 MiB |
BIN
data/skills/art_skills/2D_chinese_guofeng/images/女性原始.png
Normal file
|
After Width: | Height: | Size: 710 KiB |
BIN
data/skills/art_skills/2D_chinese_guofeng/images/女性衍生.png
Normal file
|
After Width: | Height: | Size: 1016 KiB |
99
data/skills/art_skills/2D_chinese_guofeng/prefix.md
Normal file
@ -0,0 +1,99 @@
|
||||
# 全局美学基础 · 国风二次元新国潮
|
||||
|
||||
---
|
||||
|
||||
## 一、风格基因
|
||||
|
||||
| 维度 | 定义 |
|
||||
|---|---|
|
||||
| **一级风格** | 国风二次元新国潮(Chinese Style Anime Neo-Chic) |
|
||||
| **二级风格** | 二次元动画 · 赛璐璐平涂 + 日式渲染 |
|
||||
| **情感基调** | 东方古韵、新国潮时尚、电影质感、意境深远 |
|
||||
| **质感锚词** | 赛璐璐上色、细腻笔触、现代渲染、电影构图 |
|
||||
|
||||
---
|
||||
|
||||
## 二、全局色彩盘(风格基线)
|
||||
|
||||
### 色彩使用层级
|
||||
|
||||
| 层级 | 约束强度 | 说明 |
|
||||
|---|---|---|
|
||||
| L1 硬约束 | 高 | 中国传统色基线、二次元配色、日式渲染 |
|
||||
| L2 软约束 | 中 | 场景色、服饰色、点缀色可按情绪微调 |
|
||||
| L3 例外机制 | 低 | 特殊场景/高光时刻可临时突破局部色彩 |
|
||||
|
||||
### 核心色盘
|
||||
|
||||
| 序号 | 色名 | 色值 | 用途 |
|
||||
|---|---|---|---|
|
||||
| C1 | 月白 | #E8EAF5 | 天空、云雾、衣物底色 |
|
||||
| C2 | 青绿 | #4A9B8A | 山水、植被、青绿山水 |
|
||||
| C3 | 朱红 | #C93752 | 建筑、服饰、喜庆场景 |
|
||||
| C4 | 靛蓝 | #2B4C7E | 夜空、冷色调、忧郁氛围 |
|
||||
| C5 | 金黄 | #D4AF37 | 装饰、纹样、高光点缀 |
|
||||
| C6 | 墨黑 | #1A1A2E | 线条、轮廓、暗部阴影 |
|
||||
| C7 | 胭脂 | #A94A5F | 人物肤色、腮红、唇色 |
|
||||
| C8 | 赭石 | #965E3E | 木质建筑、地面、暖调 |
|
||||
| C9 | 藤黄 | #F5E375 | 花饰、暖光、点缀色 |
|
||||
| C10 | 灰紫 | #7B6C85 | 阴影、过渡、氛围色 |
|
||||
|
||||
### 硬约束色(默认锁定)
|
||||
|
||||
| 色项 | 对应色 | 规则 |
|
||||
|---|---|---|
|
||||
| 整体色调 | 中国传统色 + 动漫配色 | 禁止高饱和荧光色 |
|
||||
| 线条颜色 | 墨黑或深棕 | 禁止纯黑粗线条 |
|
||||
| 阴影 | 同色系加深 | 禁止黑色硬阴影 |
|
||||
| 赛璐璐色块 | 平滑渐变 | 禁止色块断层/色彩溢出 |
|
||||
|
||||
### 情绪色盘
|
||||
|
||||
| 情绪场景 | 主色 | 辅色 | 光效与对比建议 | 画面关键词 |
|
||||
|---|---|---|---|---|
|
||||
| 仙侠飘逸 | C1 月白 + C2 青绿 | C5 金黄 + C7 胭脂 | 柔和光线,飘逸动态,赛璐璐质感 | 飘逸、仙气、空灵 |
|
||||
| 宫廷华贵 | C3 朱红 + C5 金黄 | C1 月白 + C6 墨黑 | 暖光照明,高光强调,景深层次 | 华丽、庄严、气派 |
|
||||
| 武侠对决 | C6 墨黑 + C4 靛蓝 | C2 青绿 + C8 赭石 | 冷调阴影,硬光对比,氛围紧张 | 冷峻、凌厉、肃杀 |
|
||||
| 少女日常 | C7 胭脂 + C1 月白 | C9 藤黄 + C10 灰紫 | 柔和暖光,近景特写,清新氛围 | 甜美、清新、治愈 |
|
||||
| 节日庆典 | C3 朱红 + C9 藤黄 | C5 金黄 + C7 胭脂 | 高饱和暖光,全局高亮,色彩丰富 | 热闹、欢快、盛大 |
|
||||
| 月夜诗意 | C4 靛蓝 + C1 月白 | C6 墨黑 + C5 金黄点缀 | 冷色调月光,局部暖光,明暗对比 | 宁静、清冷、唯美 |
|
||||
|
||||
### 色温约束
|
||||
|
||||
| 参数 | 值 | 说明 |
|
||||
|---|---|---|
|
||||
| 整体色温 | 偏中性 5000-5600K(推荐) | 自然光主基调 |
|
||||
| 对比度 | 中 45-65%(建议区间) | 丰富层次感 |
|
||||
| 饱和度 | 中高 55-70%(建议区间) | 新国潮色盘饱满 |
|
||||
|
||||
### 容差与例外
|
||||
|
||||
| 项目 | 建议容差 |
|
||||
|---|---|
|
||||
| 色相偏移 | ±8° |
|
||||
| 饱和度偏移 | ±10% |
|
||||
| 明度偏移 | ±12% |
|
||||
|
||||
---
|
||||
|
||||
## 三、全局约束规则
|
||||
|
||||
### 必守规则(所有技能继承)
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 必须包含「国风二次元」风格锚定词 |
|
||||
| R2 | 必须声明「赛璐璐平涂 + 日式动画渲染」 |
|
||||
| R3 | 必须声明「新国潮美学 + 东方古韵」 |
|
||||
| R4 | 必须声明「细腻笔触 + 电影质感」 |
|
||||
| R5 | 必须声明「国风二次元电影风格」 |
|
||||
|
||||
### 严禁项(所有技能继承)
|
||||
|
||||
| 编号 | 严禁内容 |
|
||||
|---|---|
|
||||
| X1 | 严禁「写实摄影/3D写实渲染/照片级真实感」 |
|
||||
| X2 | 严禁「高饱和荧光色/霓虹色/数码感强」 |
|
||||
| X3 | 严禁「西方奇幻/赛博朋克/过度现代元素」 |
|
||||
| X4 | 严禁「粗劣线条/模糊画质/低精度」 |
|
||||
| X5 | 严禁「色彩混乱/风格不统一/审美崩坏」 |
|
||||
33
data/skills/art_skills/2D_flat_design/README.md
Normal file
@ -0,0 +1,33 @@
|
||||
# 2D扁平风(Flat Design)风格说明
|
||||
|
||||
本风格专为"2D扁平风(Flat Design)"题材打造,所有美术提示词、规范和生成内容均严格限定于:
|
||||
|
||||
- **扁平设计风格**:以扁平设计(Flat Design)为核心,涵盖UI设计、信息图表、插画等,体现现代简约美学。
|
||||
- **纯色色块质感**:所有角色、场景、道具均以2D扁平风格为标准,强调纯色填充、无阴影无渐变、简洁线条。
|
||||
- **简约现代美学**:在扁平风格基础上追求清晰表达,画面色调明快简洁,细节简化,整体氛围简约现代、舒适宜人。
|
||||
- **情感表达**:适合展现温柔、治愈、浪漫的扁平风格内容,强调现代简约美学下的情感表达。
|
||||
|
||||
## 适用范围
|
||||
|
||||
- 2D扁平风题材的AI美术生成(角色、场景、道具、分镜等)
|
||||
- 需要极致扁平质感、简洁线条、现代简约氛围的视觉创作
|
||||
|
||||
## 严禁内容
|
||||
|
||||
- 写实渲染、3D渲染、照片级真实感
|
||||
- 阴影、渐变、纹理、光影
|
||||
- 复杂细节、精细纹理、写实背景
|
||||
- 黑暗暴力、成人向内容
|
||||
|
||||
## 风格体验
|
||||
|
||||
在本风格下,您将体验到:
|
||||
|
||||
- 角色面容简约、气质清新,造型、服饰均为2D扁平设计风格
|
||||
- 场景空间层次简洁,线条清晰流畅,氛围真实且富有现代感
|
||||
- 道具、日常物品、环境细节均为扁平化造型,工艺简洁,质感清爽
|
||||
- 分镜与画面均以2D扁平为基础,强调叙事与情感表达
|
||||
|
||||
---
|
||||
|
||||
本风格仅适用于"2D扁平风(Flat Design)"相关项目。如需其他风格(如写实3D、插画、现代3D等),请勿使用本套提示词。
|
||||
@ -0,0 +1,300 @@
|
||||
# 人物衍生资产生成 · 扁平风约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、叠加原则
|
||||
|
||||
1. **轮廓不变** — 叠加后线条轮廓必须与底模完全一致,禁止轮廓偏移
|
||||
2. **姿态不变** — 保持底模自然站立姿态,禁止任何姿态/动作/体态变化
|
||||
3. **逐层可控** — 每层独立描述,便于按层替换(换装不换妆)
|
||||
4. **风格统一** — 所有服化元素服从同一扁平美学体系
|
||||
5. **色块不降** — 叠加后色块标准不低于底模
|
||||
6. **纯服化范畴** — 仅叠加妆容/发型/服饰/配饰,禁止引入道具、场景、环境、动作
|
||||
|
||||
---
|
||||
|
||||
## 二、叠加层级
|
||||
|
||||
| 层级 | 内容 | 说明 |
|
||||
|---|---|---|
|
||||
| L0 | 底模 | 基础形象底模,不修改 |
|
||||
| L1 | 妆容(决策层) | 先分析用户线索,再决策「基础妆 / 轻妆 / 正式妆」强度 |
|
||||
| L2 | 发型造型 | 发髻/束发/编发 + 发饰 |
|
||||
| L3 | 中衣/内搭 | 替换白色基础中衣 |
|
||||
| L4 | 外衣/主服 | 大袖衫/直裾/大氅等 |
|
||||
| L5 | 配饰 | 头饰/耳饰/项饰/腰饰/手饰 |
|
||||
|
||||
---
|
||||
|
||||
## 三、妆容约束(L1)
|
||||
|
||||
### 底模到衍生妆造策略(关键)
|
||||
|
||||
> 角色底模虽为素颜,但衍生资产默认进入妆造流程。系统应根据用户提供的线索分析妆造需求,并在基础妆、轻妆、正式妆之间决策强度,而不是保持素颜。
|
||||
|
||||
### L1 线索分析与妆容决策
|
||||
|
||||
| 步骤 | 处理内容 | 决策结果 |
|
||||
|---|---|---|
|
||||
| S1 | 提取用户线索:面部状态词、情绪词、强度词 | 形成妆容需求摘要 |
|
||||
| S2 | 过滤非妆容线索:道具/场景/动作/姿态词不作为上妆依据 | 防止误判 |
|
||||
| S3 | 匹配妆容风格矩阵并给出强度档 | 基础妆 / 轻妆 / 正式妆 |
|
||||
| S4 | 生成最终 L1 提示词 | 只输出结论,不输出分析过程 |
|
||||
|
||||
### 线索到妆容映射(执行口径)
|
||||
|
||||
| 线索类型 | 典型线索 | L1 决策 |
|
||||
|---|---|---|
|
||||
| 无明显面部强调线索 | 仅服饰/发型变化,未强调情绪与状态 | 基础妆 |
|
||||
| 轻微面部线索 | 轻柔、含笑、气色微提 | 轻妆(极淡) |
|
||||
| 明确病弱线索 | 面色苍白、唇色极淡 | 病弱梨妆(轻妆) |
|
||||
| 明确正式仪式线索 | 盛装、典礼、华贵亮相 | 正式妆(受控) |
|
||||
|
||||
### 女性妆容风格矩阵
|
||||
|
||||
| 风格 | 适用场景 | 核心提示词 |
|
||||
|---|---|---|
|
||||
| 清雅素妆 | 日常、初遇、闺中 | 扁平妆容、淡雅色块、简约化妆 |
|
||||
| 冷艳霜妆 | 正式、对峙、权力 | 扁平冷妆、简洁线条、色块妆容 |
|
||||
| 柔媚桃妆 | 甜宠、暧昧、心动 | 扁平桃妆、粉色调色、色块表达 |
|
||||
| 病弱梨妆 | 受伤、虚弱 | 扁平病妆、苍白肤色、淡色唇 |
|
||||
| 华贵凤妆 | 大婚、盛装 | 扁平浓妆、色块浓郁、精致线条 |
|
||||
|
||||
### 通用底肤(所有妆容共享)
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 质感 | 单色填充、无渐变 | 单色皮肤、扁平肌肤、solid skin |
|
||||
| 白度 | 浅色单色、均匀 | 浅肤色、单色肤色 |
|
||||
| 内透光 | 无内透光、纯平面 | 无光泽、无透光 |
|
||||
| 禁止 | 渐变/阴影/立体感 | — |
|
||||
|
||||
### 基础妆细化(默认档)
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 眉部 | 线条勾勒、单色填充 | 线条眉、扁平眉形 |
|
||||
| 眼部 | 简化色块、无瞳孔细节 | 扁平眼、色块眼部 |
|
||||
| 面颊 | 极淡色块、不可明显堆色 | 极淡腮红、色块提气 |
|
||||
| 唇部 | 单色润色、保持克制 | 单色唇、扁平唇 |
|
||||
| 整体 | 看得出有妆造,但色块非常轻 | 基础扁平妆、伪素颜扁平 |
|
||||
|
||||
---
|
||||
|
||||
## 四、发型造型约束(L2)
|
||||
|
||||
### 女性造型类型
|
||||
|
||||
| 造型 | 描述 | 适用 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 半挽云髻 | 发顶挽髻+后方垂发 | 日常、出行 | 扁平云髻、简约发髻 |
|
||||
| 飞仙髻 | 高髻飞挑、简洁线条 | 仙境、亮相 | 扁平飞髻、线条高髻 |
|
||||
| 堕马髻 | 侧偏低髻、慵懒线条 | 私密、暧昧 | 扁平堕髻、线条侧髻 |
|
||||
| 双环髻 | 双髻对称、少女线条 | 年轻角色 | 扁平双髻、简单双环 |
|
||||
| 全散发 | 长发全散、配简单发饰 | 受伤、落魄 | 扁平散发、线条长发 |
|
||||
| 束发马尾 | 高束干练、简洁线条 | 习武、行动 | 扁平马尾、线条束发 |
|
||||
|
||||
### 女性发饰
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 风格 | 扁平化装饰、几何形 | 扁平发饰、几何装饰 |
|
||||
| 材质 | 线条勾勒、单色填充 | 线条饰品、色块发饰 |
|
||||
| 工艺 | 简洁线条、极简工艺 | 简洁线条、扁平工艺 |
|
||||
|
||||
### 男性造型类型
|
||||
|
||||
| 造型 | 适用 | 提示词 |
|
||||
|---|---|---|
|
||||
| 束发半冠 | 日常、文人 | 扁平束发、线条冠 |
|
||||
| 全冠高束 | 正式、朝堂 | 扁平全冠、线条束发 |
|
||||
| 散发披肩 | 私密、受伤 | 扁平散发、线条长发 |
|
||||
| 战束马尾 | 战斗、习武 | 扁平战发、线条马尾 |
|
||||
|
||||
---
|
||||
|
||||
## 五、服饰约束(L3+L4)
|
||||
|
||||
### 女性服饰矩阵
|
||||
|
||||
| 风格 | 款式 | 适用 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 简约飘逸装 | 多层大袖衫、扁平线条 | 日常、仙境 | 扁平大袖、线条衣衫 |
|
||||
| 端庄礼服 | 曲裾深衣/襦裙、几何线条 | 朝堂、宴会 | 扁平曲裾、简约深衣 |
|
||||
| 轻便常服 | 窄袖襦裙/短衫、简洁线条 | 行动、习武 | 扁平窄袖、简洁短衫 |
|
||||
| 寝衣 | 薄纱内衫、素色扁平 | 室内、夜间 | 扁平寝衣、素色衣物 |
|
||||
| 大婚嫁衣 | 凤冠霞帔、层叠色块 | 婚礼 | 扁平嫁衣、多层色块 |
|
||||
|
||||
### 女性服饰通用约束
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 主色 | 白色/月白/银灰为默认 | 白色扁平衣服、简约衣物 |
|
||||
| 材质 | 纯色色块、无纹理 | 纯色衣物、无纹理 |
|
||||
| 质感 | 线条必须清晰 | 线条清晰、色块分明 |
|
||||
| 肩部 | 肩饰/披帛/云肩线条 | 线条肩饰、扁平云肩 |
|
||||
| 层次 | 多层叠穿、色块分明 | 多层叠穿、扁平层次 |
|
||||
|
||||
### 男性服饰矩阵
|
||||
|
||||
| 风格 | 适用 | 提示词 |
|
||||
|---|---|---|
|
||||
| 文人雅装 | 日常、书房 | 扁平长衫、简约衣衫 |
|
||||
| 武将劲装 | 战斗、练武 | 扁平劲装、简洁战服 |
|
||||
| 玄衣大氅 | 出场、夜行 | 扁平大氅、线条披风 |
|
||||
| 常服便装 | 休闲、私密 | 扁平常服、简约便装 |
|
||||
| 礼服朝服 | 朝堂、典礼 | 扁平朝服、简约礼袍 |
|
||||
|
||||
---
|
||||
|
||||
## 六、配饰约束(L5)
|
||||
|
||||
### 女性配饰
|
||||
|
||||
| 类型 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 头饰 | 扁平化、几何形 | 扁平头饰、几何发饰 |
|
||||
| 耳饰 | 线条流苏/玉珰 | 线条耳环、扁平珰 |
|
||||
| 项饰 | 线条璎珞/项圈 | 线条璎珞、扁平项圈 |
|
||||
| 腰饰 | 线条宫绦/玉佩 | 线条宫绦、扁平玉佩 |
|
||||
| 手饰 | 线条玉镯/臂钏 | 线条手镯、扁平钏 |
|
||||
|
||||
### 男性配饰
|
||||
|
||||
| 类型 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 发冠 | 扁平冠、简洁线条 | 扁平冠、线条冠 |
|
||||
| 腰封 | 线条腰封、扁平色块 | 线条腰封、扁平带 |
|
||||
| 玉佩 | 扁平玉佩、简洁造型 | 扁平玉佩、线条佩 |
|
||||
| 兵器 | 佩剑/扇/笛(可选) | 扁平剑、线条扇 |
|
||||
|
||||
---
|
||||
|
||||
## 七、服化组合速查
|
||||
|
||||
| 场景 | 妆容 | 发型 | 服饰 | 配饰 |
|
||||
|---|---|---|---|---|
|
||||
| 日常闺中 | 清雅素妆 | 半挽云髻 | 简约飘逸装 | 扁平中等 |
|
||||
| 初次相遇 | 清雅素妆 | 半挽/飞仙 | 简约飘逸装 | 扁平中偏多 |
|
||||
| 甜宠互动 | 柔媚桃妆 | 半挽/堕马 | 简约/轻便 | 扁平中等 |
|
||||
| 正式亮相 | 冷艳霜妆 | 飞仙髻 | 端庄礼服 | 扁平极繁 |
|
||||
| 夜间密谈 | 清雅/桃妆 | 全散/堕马 | 寝衣 | 扁平极简 |
|
||||
| 受伤落魄 | 病弱梨妆 | 全散(乱) | 破损常服 | 扁平极简/无 |
|
||||
| 大婚典礼 | 华贵凤妆 | 飞仙髻 | 嫁衣 | 扁平极繁 |
|
||||
| 习武行动 | 素妆(极淡) | 束发马尾 | 轻便常服 | 扁平简 |
|
||||
|
||||
---
|
||||
|
||||
> **🔍 未覆盖场景推断规则**
|
||||
>
|
||||
> 当用户描述的场景/情境不在上表时,根据本风格核心基因自行推断:
|
||||
>
|
||||
> | 推断维度 | 扁平古风基因 |
|
||||
> |---|---|
|
||||
> | 妆容强度 | 默认清雅素妆(色块极简);正式/亮相→冷艳霜妆;甜宠/约会→柔媚桃妆;弱化/虚弱→病弱梨妆 |
|
||||
> | 发型 | 日常→半挽云髻或堕马髻;正式→飞仙髻;私密/夜晚→全散发;行动→束发马尾 |
|
||||
> | 服饰 | 所有服饰必须转化为扁平色块表达;纹样极度简化;多层叠穿保留轮廓感即可 |
|
||||
> | 配饰繁度 | 扁平化处理优先;正式→扁平极繁(简化为色块头饰+腰饰轮廓);日常→扁平中等 |
|
||||
> | 色调倾向 | 低饱和古风色系(茶白/竹青/藕粉/砖红);无渐变;明确边界线 |
|
||||
|
||||
## 八、四视图设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
| 位置 | 视图 | 角度 | 景别 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|---|
|
||||
| 左一 | 人像特写 | 正面平视 | 面部至锁骨 | 面部占60%+,五官/妆容清晰 | portrait closeup、face detail、makeup detail |
|
||||
| 左二 | 正视图 | 正面 0° | 全身立像 | 面对镜头、服饰正面全貌 | front view、height mark |
|
||||
| 右二 | 侧视图 | 右侧 90° | 全身立像 | 纯侧面轮廓、服饰侧面层次 | side view、profile、height mark |
|
||||
| 右一 | 后视图 | 后方 180° | 全身立像 | 后脑发饰/背部服饰/发尾清晰 | back view、rear view、height mark |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面从左至右并排四视图 |
|
||||
| 背景 | 纯净中性灰 #E8E8E8 |
|
||||
| 站姿 | 自然站立、双脚平行微分、双臂自然下垂或微展(**禁止任何姿态变化**) |
|
||||
| 表情 | 符合妆容风格的微表情(如清雅素妆→淡然、桃妆→含笑),仅限面部微表情,不涉及肢体动作 |
|
||||
| 光线 | 无光影,纯平涂色块 |
|
||||
| 一致性 | 四视图的面容/妆容/发型/发饰/服饰/配饰完全一致 |
|
||||
| 画面比例 | 建议 4:1 或 3:1 |
|
||||
|
||||
---
|
||||
|
||||
## 九、提示词模板
|
||||
|
||||
### 输出格式约束
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 输出内容 | **仅输出提示词文本**,不输出任何其他内容 |
|
||||
| 禁止输出 | 速查表、分层构建方案、视觉约束表、禁止事项表、衍生方案、输出建议、核心要素表等一切非提示词内容 |
|
||||
| 禁止场景 | 人物衍生资产**不包含场景/环境描述**,不输出任何场景/环境/天气/背景叙事内容(场景属于场景资产范畴) |
|
||||
| 禁止道具 | **不包含任何道具交互**,不输出伞/剑/扇/书/灯笼/酒杯等手持物或交互物(道具属于道具资产范畴) |
|
||||
| 禁止姿态变化 | **不改变底模姿态**,不输出行走/回眸/举手/侧身/奔跑等任何动作或体态变化,保持自然站立 |
|
||||
| 格式 | 直接输出可用的提示词代码块,无需标题、表格、解释、方案对比 |
|
||||
|
||||
### 完整服化叠加(四视图)
|
||||
|
||||
|
||||
```
|
||||
以角色基础形象图为底图,img2img叠加服化妆造,
|
||||
扁平古风{性别}角色四视图设定图,
|
||||
2d flat design,vector art,flat illustration,
|
||||
minimalist,clean lines,solid colors,
|
||||
保持基础形象轮廓不变,{整体气质},
|
||||
【L1·妆容】根据用户线索决策:{基础妆/轻妆/正式妆};使用 {妆容风格},单色皮肤,扁平肤色,{眉妆},{眼妆},{唇妆},
|
||||
【L2·发型】{造型类型},线条发型,{发饰描述},
|
||||
【L3+L4·服饰】{主色}{款式},{材质},{装饰工艺},线条清晰,色块分明,
|
||||
【L5·配饰】{头饰},{耳饰},{项饰},{腰饰},
|
||||
同一画面左至右并排:人像特写+正视图+侧视图+后视图,
|
||||
自然站立,纯净中性灰背景,无光影,无渐变,
|
||||
四视图一致性,线条简洁,色块填充,
|
||||
图中不要有任何文字
|
||||
```
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 十、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 叠加后轮廓必须与底模一致 |
|
||||
| R2 | 服饰必须用「线条清晰 + 色块分明」 |
|
||||
| R3 | 女性配饰必须「扁平化 + 几何形」 |
|
||||
| R4 | 妆容/发型/服饰/配饰风格统一 |
|
||||
| R5 | 必须输出四视图设定图(人像特写+正视图+侧视图+后视图) |
|
||||
| R6 | 必须指定「纯净中性灰背景」 |
|
||||
| R7 | 必须指定「四视图一致性」 |
|
||||
| R8 | **仅输出提示词**——禁止输出速查表/分层方案/视觉约束/禁止事项/衍生方案/输出建议等任何非提示词内容 |
|
||||
| R9 | **禁止包含场景描述**——人物衍生资产不涉及场景/环境/天气/背景叙事,场景属于独立资产类型 |
|
||||
| R10 | **禁止道具交互**——不包含任何手持物/交互物(伞/剑/扇/书等),道具属于独立资产类型 |
|
||||
| R11 | **姿态保持不变**——必须保持底模自然站立姿态,禁止任何动作/体态/姿势变化 |
|
||||
| R12 | **L1 必须先分析再决策**——先解析用户面部线索,再确定基础妆/轻妆/正式妆 |
|
||||
| R13 | **所有衍生资产均需妆造**——正常情况不保持素颜,至少使用基础妆 |
|
||||
| R14 | **上妆强度受控**——即使上妆也需克制,不得出现现代扁平浓妆/夸张彩妆效果 |
|
||||
| R15 | **道具/场景/动作不作强度升级依据**——仅凭道具,环境,动作等信息不得把基础妆抬高为更强妆容 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 叠加后轮廓偏移 |
|
||||
| X2 | 配饰过于简单/现代化(女性) |
|
||||
| X3 | 妆容/服饰风格互相冲突 |
|
||||
| X4 | 复杂场景背景(必须纯灰底) |
|
||||
| X5 | 四视图间服化妆造不一致 |
|
||||
| X6 | 输出提示词以外的任何内容(表格/方案/建议/解释/变体等) |
|
||||
| X7 | 在人物衍生资产中加入场景描述(山道/雨景/室内/街道/天气等环境元素) |
|
||||
| X8 | 输出「核心要素速查」「分层构建方案」「视觉约束」「禁止事项」「衍生方案」等章节 |
|
||||
| X9 | 加入任何道具交互(手持伞/剑/扇/书/灯笼/酒杯等物品) |
|
||||
| X10 | 改变底模姿态(行走/回眸/举手/侧身/奔跑/低头/仰望等动作描述) |
|
||||
| X11 | 加入表情与姿态联动描述(如「侧身45°行走嘴角浅弯」等叙事性描写) |
|
||||
| X12 | 未分析用户线索就直接套用固定妆容 |
|
||||
| X13 | 错误保持素颜,导致衍生资产缺少应有妆造 |
|
||||
| X14 | 仅因道具/场景/动作词而误把妆容升级,导致妆造强度决策错误 |
|
||||
| X15 | 添加渐变/阴影/高光/立体感效果 |
|
||||
@ -0,0 +1,204 @@
|
||||
# 人物基础形象生成 · 扁平风约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、基础形象原则
|
||||
|
||||
1. **轮廓即灵魂** — 线条是角色唯一锚点,扁平色块分层构建
|
||||
2. **底模即基础** — 基础打底服装 + 素颜,后续服化均为叠加层(女性:运动背心+四角短裤;男性:四角短裤)
|
||||
3. **四视图一致** — 轮廓/体型/发型/基础服装跨视图高度统一
|
||||
4. **色块表达** — 无阴影渐变,靠色块对比表达层次
|
||||
|
||||
---
|
||||
|
||||
## 二、面容约束
|
||||
|
||||
### 女性面容
|
||||
|
||||
| 部位 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 脸型 | 简洁线条、几何化修饰 | 简洁脸型、流畅轮廓、几何化线条 |
|
||||
| 眼型 | 简化眼型、色块表达、无瞳孔细节 | 扁平眼型、色块眼部、简化轮廓 |
|
||||
| 眉型 | 线条化、单色填充 | 线条眉、扁平眉型 |
|
||||
| 鼻型 | 线条勾勒、无阴影 | 线条鼻型、扁平鼻 |
|
||||
| 唇型 | 色块嘴唇、无渐变 | 扁平唇、纯色唇 |
|
||||
| 气质 | 简洁线条表达、无面部细节 | 线条简洁、扁平风格、色块表达 |
|
||||
|
||||
### 男性面容
|
||||
|
||||
| 部位 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 脸型 | 简洁线条、几何化修饰 | 简洁脸型、硬朗轮廓、几何化线条 |
|
||||
| 眼型 | 简化眼型、色块表达、无瞳孔细节 | 扁平眼型、线条眼型、简化轮廓 |
|
||||
| 眉型 | 线条化、单色填充 | 线条眉、扁平眉型 |
|
||||
| 鼻型 | 线条勾勒、无阴影 | 线条鼻型、扁平鼻 |
|
||||
| 唇型 | 色块嘴唇、无渐变 | 扁平唇、纯色唇 |
|
||||
| 气质 | 简洁线条表达、无面部细节 | 线条简洁、扁平风格、色块表达 |
|
||||
|
||||
---
|
||||
|
||||
## 三、肤感约束
|
||||
|
||||
### 女性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 肤色 | 单色填充、无渐变 | 单色皮肤、扁平肤色、solid skin color |
|
||||
| 光泽 | 无高光、无反光 | 无光泽、哑光扁平、matte finish |
|
||||
| 质感 | 色块填充、无纹理 | 色块填充、平面质感、no texture |
|
||||
| 露肤 | 面部/颈部/锁骨/手部 | 色块肤色、扁平肤表 |
|
||||
|
||||
### 男性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 肤色 | 单色填充、无渐变 | 单色皮肤、扁平肤色、solid skin color |
|
||||
| 光泽 | 无高光、无反光 | 无光泽、哑光扁平、matte finish |
|
||||
| 质感 | 色块填充、无纹理 | 色块填充、平面质感、no texture |
|
||||
|
||||
---
|
||||
|
||||
## 四、体型约束
|
||||
|
||||
### 女性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 身高 | 由角色设定指定,默认范围 160-170cm,通过头身比体现 | {身高}cm tall、tall slender woman |
|
||||
| 头身比 | 七头身至八头身,严格约束全身比例 | 7-8 heads tall proportion、身材修长 |
|
||||
| 肩颈 | 简洁线条、色块表达 | 简洁线条、扁平肩颈 |
|
||||
| 手部 | 简化的手部轮廓 | 简化手部、色块手部 |
|
||||
| 体态 | 简洁体态、无动态 | 简洁体态、正面站姿 |
|
||||
|
||||
### 男性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 身高 | 由角色设定指定,默认范围 175-185cm,通过头身比体现 | {身高}cm tall、tall imposing man |
|
||||
| 头身比 | 七头半身至八头半身,严格约束全身比例 | 7.5-8.5 heads tall proportion、身材高挑 |
|
||||
| 肩颈 | 简洁线条、色块表达 | 简洁线条、扁平肩颈 |
|
||||
| 手部 | 简化的手部轮廓 | 简化手部、色块手部 |
|
||||
| 体态 | 简洁体态、无动态 | 简洁体态、正面站姿 |
|
||||
|
||||
---
|
||||
|
||||
## 五、基础发型约束
|
||||
|
||||
> 仅定义自然散发/简单束发,发饰在服化衍生环节叠加。
|
||||
|
||||
### 女性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 发色 | 纯黑单色、无渐变 | 黑色头发、纯色发色 |
|
||||
| 发长 | 及腰或更长 | 长发、及腰长发 |
|
||||
| 发质 | 线条勾勒、无发丝细节 | 线条发型、扁平发色、no hair strands |
|
||||
| 造型 | 自然散发、中分/偏分、无发饰 | 长发自然散落、简单发色 |
|
||||
|
||||
### 男性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 发色 | 纯黑或墨色单色 | 黑色头发、墨色发色 |
|
||||
| 发长 | 中长至长发 | 长发、及肩长发 |
|
||||
| 发质 | 线条勾勒、无发丝细节 | 线条发型、扁平发色、no hair strands |
|
||||
| 造型 | 自然散发或半束、无发冠 | 长发自然散落、简单发型 |
|
||||
|
||||
---
|
||||
|
||||
## 六、基础服装约束
|
||||
|
||||
> 基础服装无特殊约束,女性为运动背心和四角短裤,男性为四角短裤。正式服饰在服化衍生环节叠加。
|
||||
|
||||
### 女性基础服装
|
||||
|
||||
运动背心和四角短裤,颜色以基础色为主,无花纹装饰。
|
||||
|
||||
### 男性基础服装
|
||||
|
||||
四角短裤,颜色以基础色为主,无花纹装饰。
|
||||
|
||||
### 着装统一规则
|
||||
|
||||
- 服装风格统一,确保后续服饰叠加无色彩干扰
|
||||
- 除面部/手部/颈部外基本覆盖
|
||||
- 四视图服装款式完全一致
|
||||
- 基础服装仅为安全打底,焦点在面容与体态
|
||||
|
||||
---
|
||||
|
||||
## 七、四视图设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
| 位置 | 视图 | 角度 | 景别 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|---|
|
||||
| 左一 | 人像特写 | 正面平视 | 头顶至锁骨 | 从头顶到锁骨完整展示不裁切,面部占60%+,五官清晰 | portrait closeup、face detail、head to collarbone complete、no crop |
|
||||
| 左二 | 正视图 | 正面 0° | 全身立像 | 面对镜头、双臂自然、从头顶到脚底完整展示 | front view、full body head to toe、height mark |
|
||||
| 右二 | 侧视图 | 右侧 90° | 全身立像 | 纯侧面轮廓清晰、从头顶到脚底完整展示 | side view、profile、full body head to toe、height mark |
|
||||
| 右一 | 后视图 | 后方 180° | 全身立像 | 后脑/背部/发尾/脚部清晰、从头顶到脚底完整展示 | back view、rear view、full body head to toe、height mark |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面从左至右并排四视图 |
|
||||
| 背景 | 纯净中性灰 #E8E8E8 |
|
||||
| 站姿 | 自然站立、双脚平行微分、双臂自然下垂或微展 |
|
||||
| 全身展示 | 全身立像必须从头顶到脚底完整入画,严禁裁切头顶或脚部 |
|
||||
| 特写展示 | 人像特写必须从头顶到锁骨完整入画,严禁裁切头顶,头发、额头、下巴均需完整 |
|
||||
| 表情 | 中性微表情,符合角色气质 |
|
||||
| 光线 | 无光影,纯平涂色块 |
|
||||
| 一致性 | 四视图的肤色/体型/发型/面容/基础服装完全一致 |
|
||||
| 画面比例 | 建议 4:1 或 3:1 |
|
||||
|
||||
---
|
||||
|
||||
## 八、提示词模板
|
||||
|
||||
```
|
||||
{性别}角色四视图扁平风格设定图,
|
||||
2d flat design,vector art,flat illustration,
|
||||
minimalist,clean lines,solid colors,
|
||||
{脸型},{眼型},{鼻型},{唇型},{整体气质},素颜无妆,
|
||||
{肤色},单色皮肤,扁平肤色,solid skin color,
|
||||
{身高描述,如:170cm tall、tall slender woman},{头身比,如:7.5 heads tall proportion},{身材描述},{体态描述},
|
||||
{发色}{发长},线条发型,{基础造型},无发饰,
|
||||
(女性:运动背心和四角短裤 / 男性:仅四角短裤),基础色,无花纹装饰,
|
||||
同一画面左至右并排:人像特写+正视图+侧视图+后视图,
|
||||
人像特写从头顶到锁骨完整展示,不裁切头顶,head to collarbone complete,
|
||||
全身立像从头顶到脚底完整展示,full body head to toe,不裁切头顶和脚部,
|
||||
自然站立,纯净中性灰背景,无光影,无渐变,
|
||||
四视图一致性,线条简洁,色块填充,
|
||||
图中不要有任何文字
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 九、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 必须为「素颜无妆」状态 |
|
||||
| R2 | 必须声明基础服装(女性:运动背心+四角短裤;男性:四角短裤) |
|
||||
| R3 | 必须声明「无发饰、无配饰」 |
|
||||
| R4 | 必须指定「纯净中性灰背景」 |
|
||||
| R5 | 必须指定「四视图一致性」 |
|
||||
| R6 | 全身立像必须从头顶到脚底完整展示,严禁裁切 |
|
||||
| R7 | 必须指定角色身高并通过头身比换算约束全身比例(女性默认160-170cm/7-8头身,男性默认175-185cm/7.5-8.5头身) |
|
||||
| R8 | 人像特写必须从头顶到锁骨完整展示,严禁裁切头顶 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 基础服装以外的任何服装/配饰/妆容 |
|
||||
| X2 | 光影/阴影/渐变效果 |
|
||||
| X3 | 3D渲染/CG质感 |
|
||||
| X4 | 复杂场景背景(必须纯灰底) |
|
||||
| X5 | 夸张表情/动态姿势 |
|
||||
| X6 | 全身立像裁切头顶或脚底,必须从头到脚完整入画 |
|
||||
| X7 | 人像特写裁切头顶,必须从头顶到锁骨完整入画 |
|
||||
| X8 | 忽略身高和头身比约束,身高必须明确声明并通过头身比换算体现全身比例 |
|
||||
@ -0,0 +1,122 @@
|
||||
# 道具衍生状态生成 · 扁平风约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、衍生原则
|
||||
|
||||
1. **轮廓锚定** — 道具核心造型/轮廓在所有状态中可识别
|
||||
2. **状态可读** — 状态差异必须一目了然,观众能立即区分
|
||||
3. **叙事服务** — 每种状态变体服务于特定剧情节点
|
||||
4. **渐进退化** — 损伤/老化状态应有合理的物理逻辑
|
||||
5. **纯道具独立展示** — 画面中只能出现道具本身,严禁出现任何人物、手部、肢体,道具不可处于被持有/佩戴/握持状态,必须以静物陈列方式独立呈现
|
||||
|
||||
---
|
||||
|
||||
## 二、状态类型
|
||||
|
||||
### 2.1 使用状态
|
||||
|
||||
| 状态 | 描述 | 适用道具 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 崭新 | 完好无损、纯色如新 | 所有道具 | 扁平崭新、完好无损、纯色如新 |
|
||||
| 日常使用 | 微磨损、简单色块变化 | 兵器/器物/饰品 | 扁平使用痕迹、简单磨损 |
|
||||
| 陈旧 | 明显年代感、颜色暗淡 | 器物/信物/卷轴 | 扁平陈旧、年代感、颜色暗沉 |
|
||||
|
||||
### 2.2 损伤状态
|
||||
|
||||
| 状态 | 描述 | 适用道具 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 微损 | 小裂纹/小缺口/轻微磨损 | 瓷器/玉佩/兵器 | 扁平微损、简单裂纹 |
|
||||
| 破损 | 明显裂缝/断裂/破碎 | 瓷器/饰品/兵器 | 扁平破损、简单断裂 |
|
||||
| 残片 | 仅剩部分/碎片 | 瓷器/玉佩/信物 | 扁平残片、简单碎片 |
|
||||
|
||||
### 2.3 特殊状态
|
||||
|
||||
| 状态 | 描述 | 适用道具 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 染血 | 红色色块附着 | 兵器/衣物/信物 | 扁平染血、红色痕迹 |
|
||||
| 浸水/湿润 | 颜色晕染、湿润感 | 卷轴/信物/衣物 | 扁平浸水、颜色晕染 |
|
||||
| 燃烧/焦损 | 黑色边缘、扁平火烧痕迹 | 卷轴/信物/木质品 | 扁平焦黑、简单火烧 |
|
||||
| 发光/激活 | 简单发光色块、简单光芒 | 信物/法器/玉石 | 扁平发光、简单光芒 |
|
||||
| 包裹/封存 | 用布/盒子包裹 | 信物/饰品/秘物 | 扁平包裹、简单封装 |
|
||||
|
||||
---
|
||||
|
||||
## 三、状态变体画面规范
|
||||
|
||||
### 单状态图
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 背景 | 纯净中性灰 #E8E8E8(与设定图一致) |
|
||||
| 光线 | 无光影,纯平涂色块 |
|
||||
| 角度 | 与原设定图正面图一致 |
|
||||
| 比例 | 道具占画面主体 70%+ |
|
||||
|
||||
### 状态对比图
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面并排展示 2-3 种状态 |
|
||||
| 标注 | 每种状态下方标注状态名 |
|
||||
| 一致性 | 角度/光线/背景完全一致,仅状态不同 |
|
||||
|
||||
---
|
||||
|
||||
## 四、材质状态变化规则
|
||||
|
||||
| 材质 | 崭新 → 日常 | 日常 → 陈旧 | 损伤表现 |
|
||||
|---|---|---|---|
|
||||
| 金属 | 纯色 → 简单包浆色块 | 包浆 → 简单锈蚀色块 | 简单缺口/卷刃/断裂 |
|
||||
| 玉石 | 纯色 → 简单磨损色块 | 磨损 → 表面简单裂纹 | 简单裂纹/碎裂/缺角 |
|
||||
| 木质 | 纯色 → 简单包浆色块 | 包浆 → 色泽暗沉 | 简单开裂/断裂/虫蛀 |
|
||||
| 瓷器 | 纯色 → 简单划痕色块 | 划痕 → 釉面暗淡色块 | 简单裂纹/碎裂/缺口 |
|
||||
| 布/纸 | 纯色平整 → 简单皱折色块 | 皱折 → 发黄变脆色块 | 简单撕裂/焦损/晕染 |
|
||||
|
||||
---
|
||||
|
||||
## 五、提示词模板
|
||||
|
||||
### 单状态变体
|
||||
|
||||
```
|
||||
基于{道具名}设定图,
|
||||
2d flat design,vector art,flat illustration,
|
||||
minimalist,clean lines,solid colors,
|
||||
{道具类型},{材质描述},
|
||||
当前状态:{状态名},{状态视觉描述},
|
||||
{材质表面变化描述},
|
||||
纯道具静物展示,道具独立陈列,无人持有,无人佩戴,
|
||||
同一画面四宫格(2×2):左上正面图(front view)+右上侧面图(side view)+左下背面图(back view)+右下细节特写(detail closeup),
|
||||
纯净中性灰背景,无光影,无渐变,
|
||||
线条清晰,色块分明,状态细节可辨
|
||||
图中不要有任何文字,
|
||||
画面中不能出现任何人物、手部、手指、肢体,道具不可处于被握持或佩戴状态
|
||||
```
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 六、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 道具核心造型/轮廓在所有状态中可识别 |
|
||||
| R2 | 状态变化须符合物理逻辑 |
|
||||
| R3 | 必须使用四宫格(2×2)布局:左上正面图+右上侧面图+左下背面图+右下细节特写 |
|
||||
| R4 | 必须指定「纯净中性灰背景」,无光影,无渐变 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 状态变化后道具不可识别 |
|
||||
| X2 | 违反物理逻辑的损伤(玉石生锈等) |
|
||||
| X3 | 过度血腥/恐怖的损伤描绘 |
|
||||
| X4 | 出现任何人物形象,包括全身、半身、局部(手、手指、手臂等肢体) |
|
||||
| X5 | 道具处于被持有、握持、佩戴、使用中的状态 |
|
||||
| X6 | 出现暗示人物存在的元素(如手持痕迹、佩戴视角、使用姿态) |
|
||||
| X7 | 添加渐变/阴影/高光/立体感效果 |
|
||||
| X8 | 状态变化过于复杂、色块区分不清 |
|
||||
@ -0,0 +1,133 @@
|
||||
# 道具图像生成 · 扁平风约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、道具设计原则
|
||||
|
||||
1. **功能可读** — 道具用途一目了然,造型服务于功能
|
||||
2. **色块极简** — 材质纹理必须色块区分,禁止复杂细节
|
||||
3. **年代一致** — 所有道具必须符合古风世界观,禁止现代元素
|
||||
4. **尺度明确** — 通过参照物或标注暗示道具真实尺寸
|
||||
5. **纯道具独立展示** — 画面中只能出现道具本身,严禁出现任何人物、手部、肢体,道具不可处于被持有/佩戴/握持状态,必须以静物陈列方式独立呈现
|
||||
|
||||
---
|
||||
|
||||
## 二、道具分类与美学约束
|
||||
|
||||
### 2.1 兵器类
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 剑/刀/弓/枪/扇 | {兵器类型},扁平古风兵器 |
|
||||
| 材质 | 纯色色块、线条勾勒 | 扁平剑、线条兵器、solid color sword |
|
||||
| 装饰 | 线条雕花、色块装饰 | 线条装饰、扁平雕花 |
|
||||
| 光泽 | 无光泽、纯色填充 | 无光泽、扁平兵器、matte sword |
|
||||
| 提示词 | 扁平古风{兵器},纯色兵器,线条装饰 | — |
|
||||
|
||||
### 2.2 饰品类
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 簪/钗/璎珞/玉佩/手镯/耳坠 | {饰品类型},扁平古风首饰 |
|
||||
| 材质 | 纯色色块、单色填充 | 扁平首饰、色块首饰、solid color jewelry |
|
||||
| 工艺 | 简洁线条、极简工艺 | 扁平工艺、线条首饰 |
|
||||
| 光泽 | 无光泽、无反光 | 无光泽、扁平首饰、matte finish |
|
||||
| 提示词 | 扁平古风{饰品},{材质},简洁工艺,线条首饰 | — |
|
||||
|
||||
### 2.3 生活器物类
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 茶具/酒具/香炉/棋盘/书卷/灯笼 | {器物类型},扁平古风器物 |
|
||||
| 材质 | 纯色色块、线条勾勒 | 扁平器物、色块器物、solid color object |
|
||||
| 质感 | 色块区分、无纹理 | 扁平质感、无纹理、flat texture |
|
||||
| 风格 | 素雅/华贵按场景切换 | 扁平素雅 / 扁平华贵 |
|
||||
| 提示词 | 扁平古风{器物},{材质}色块,线条清晰 | — |
|
||||
|
||||
### 2.4 信物/关键道具类
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 信物/令牌/卷轴/药瓶/玉印 | {道具类型},扁平古风道具 |
|
||||
| 特殊性 | 扁平化造型、简洁辨识度 | 扁平造型、简洁道具 |
|
||||
| 状态 | 可添加扁平做旧 | 扁平旧物 / 扁平新物 |
|
||||
| 提示词 | 扁平古风{道具},{材质}色块,扁平状态,简洁造型 | — |
|
||||
|
||||
---
|
||||
|
||||
## 三、多角度设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
| 位置 | 视图 | 角度 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|
|
||||
| 左上 | 正面图 | 正面 0° | 道具完整正面形态 | front view |
|
||||
| 右上 | 侧面图 | 侧面 90° | 厚度/轮廓/结构清晰 | side view |
|
||||
| 左下 | 背面图 | 背面 180° | 道具背部结构/装饰 | back view |
|
||||
| 右下 | 细节特写 | 局部放大 | 线条/色块细节 | detail closeup |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面四宫格(2×2),上下左右四视角 |
|
||||
| 背景 | 纯净中性灰 #E8E8E8 |
|
||||
| 光线 | 无光影,纯平涂色块 |
|
||||
| 比例 | 每格道具占格内主体 70%+ |
|
||||
| 投影 | 无投影、纯平面 |
|
||||
| 画面比例 | 建议 1:1 |
|
||||
|
||||
---
|
||||
|
||||
## 四、材质渲染约束
|
||||
|
||||
| 材质 | 渲染要求 | 提示词 |
|
||||
|---|---|---|
|
||||
| 金属 | 纯色填充、无反光 | 扁平金属、纯色金属、solid metal |
|
||||
| 玉石 | 纯色填充、无通透 | 扁平玉石、纯色玉石、solid jade |
|
||||
| 木质 | 纯色填充、无木纹 | 扁平木质、纯色木质、solid wood |
|
||||
| 瓷器 | 纯色填充、无釉面 | 扁平瓷器、纯色瓷器、solid porcelain |
|
||||
| 布/纸 | 纯色填充、无纤维 | 扁平布料、纯色布料、solid fabric |
|
||||
| 宝石 | 纯色填充、无折射 | 扁平宝石、纯色宝石、solid gem |
|
||||
|
||||
---
|
||||
|
||||
## 五、提示词模板
|
||||
|
||||
```
|
||||
扁平古风道具设定图,
|
||||
2d flat design,vector art,flat illustration,
|
||||
minimalist,clean lines,solid colors,
|
||||
{道具类型},{材质描述},{工艺/装饰描述},{状态描述},
|
||||
纯道具静物展示,道具独立陈列,无人持有,无人佩戴,
|
||||
同一画面四宫格(2×2):左上正面图+右上侧面图+左下背面图+右下细节特写,
|
||||
纯净中性灰背景,无光影,无渐变,
|
||||
线条清晰,色块分明,{材质光泽描述}
|
||||
图中不要有任何文字,
|
||||
画面中不能出现任何人物、手部、手指、肢体,道具不可处于被握持或佩戴状态
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 六、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 必须指定「纯净中性灰背景」 |
|
||||
| R2 | 必须明确道具材质与工艺(扁平化表述) |
|
||||
| R3 | 道具造型必须符合古风世界观 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 复杂场景背景 |
|
||||
| X2 | 道具与人物同画面(本环节为纯道具图) |
|
||||
| X3 | 出现任何人物形象,包括全身、半身、局部(手、手指、手臂等肢体) |
|
||||
| X4 | 道具处于被持有、握持、佩戴、使用中的状态 |
|
||||
| X5 | 出现暗示人物存在的元素(如手持痕迹、佩戴视角、使用姿态) |
|
||||
| X6 | 添加渐变/阴影/高光/立体感效果 |
|
||||
| X7 | 材质过于复杂、色块区分不清 |
|
||||
| X8 | 现代元素、非古风设计 |
|
||||
@ -0,0 +1,162 @@
|
||||
# 场景衍生资产生成 · 扁平风约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、衍生原则
|
||||
|
||||
1. **空间一致** — 建筑结构/布局/材质在所有变体中保持一致
|
||||
2. **景别驱动** — 同一场景通过不同景别展示不同叙事功能
|
||||
3. **时段切换** — 同一空间在不同时间段呈现不同色调色块
|
||||
4. **天候变化** — 同一空间在不同天气下呈现不同色彩氛围
|
||||
5. **扁平为锚** — 所有变体必须保持扁平矢量插画质感,拒绝 3D 渲染/CG 动画感;保持简洁线条、纯色填充
|
||||
|
||||
---
|
||||
|
||||
## 二、景别变体
|
||||
|
||||
### 景别定义
|
||||
|
||||
| 景别 | 范围 | 叙事功能 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 大全景 | 场景全貌 + 周围环境 | 建立空间感、定位 | extreme wide shot、大全景、flat extreme wide |
|
||||
| 全景 | 场景完整呈现 | 展示空间结构 | wide shot、全景、flat wide |
|
||||
| 中景 | 场景局部区域 | 聚焦功能区 | medium shot、中景、flat medium |
|
||||
| 近景 | 场景细部 | 色块/氛围道具特写 | close shot、近景、flat close |
|
||||
| 特写 | 极局部细节 | 色块纹理/关键道具 | extreme closeup、特写、flat extreme close |
|
||||
|
||||
### 景别衍生规范
|
||||
|
||||
| 从基准图衍生 | 保持不变 | 允许变化 |
|
||||
|---|---|---|
|
||||
| 大全景 → 全景 | 建筑外观、整体布局 | 视角收窄、前景增加色块 |
|
||||
| 全景 → 中景 | 材质、色调、光线 | 裁切聚焦、纯色变化 |
|
||||
| 中景 → 近景 | 材质、色调 | 纯色聚焦、背景色块 |
|
||||
| 近景 → 特写 | 色块纹理 | 纯色聚焦、微距色块 |
|
||||
|
||||
---
|
||||
|
||||
## 三、时段变体
|
||||
|
||||
### 时段定义
|
||||
|
||||
| 时段 | 视觉特征 | 提示词 |
|
||||
|---|---|---|
|
||||
| 清晨 | 扁平色调、浅色色块 | 扁平清晨、浅色晨色 |
|
||||
| 正午 | 扁平明亮、纯色色块 | 扁平正午、纯色明亮 |
|
||||
| 黄昏 | 扁平金色、暖色色块 | 扁平黄昏、暖色金辉 |
|
||||
| 夜间(月光) | 扁平冷蓝、深色色块 | 扁平月光、冷蓝月色 |
|
||||
| 夜间(灯火) | 扁平暖黄、深色背景 | 扁平灯火、暖黄暗底 |
|
||||
|
||||
### 时段衍生规范
|
||||
|
||||
| 从基准时段衍生 | 保持不变 | 变化项 |
|
||||
|---|---|---|
|
||||
| 日间 → 黄昏 | 建筑/布局/材质 | 天空色块暖化、阴影色块 |
|
||||
| 日间 → 夜间 | 建筑/布局/材质 | 整体色块变暗、增加灯火/月色色块 |
|
||||
| 室内日间 → 室内夜间 | 空间结构、家具 | 整体色块暖化、增加烛火/灯笼色块 |
|
||||
|
||||
---
|
||||
|
||||
## 四、天候变体
|
||||
|
||||
### 天候定义
|
||||
|
||||
| 天候 | 视觉特征 | 提示词 |
|
||||
|---|---|---|
|
||||
| 晴天 | 扁平明亮、纯色色块 | 扁平晴天、纯色晴日 |
|
||||
| 阴天 | 扁平均匀、灰色色块 | 扁平阴天、灰色柔光 |
|
||||
| 薄雾 | 扁平朦胧、低饱和色块 | 扁平薄雾、朦胧色块 |
|
||||
| 细雨 | 扁平雨丝、湿润色块 | 扁平细雨、湿润色块 |
|
||||
| 飞雪 | 扁平白色、覆盖色块 | 扁平飞雪、白色覆盖 |
|
||||
|
||||
### 天候衍生规范
|
||||
|
||||
| 从基准天候衍生 | 保持不变 | 变化项 |
|
||||
|---|---|---|
|
||||
| 晴 → 薄雾 | 建筑/布局 | 增加扁平雾层、远景色块模糊、饱和度降低 |
|
||||
| 晴 → 细雨 | 建筑/布局 | 增加扁平雨丝、地面色块、色调偏冷 |
|
||||
| 晴 → 飞雪 | 建筑/布局 | 增加扁平积雪、雪花色块、色调偏白 |
|
||||
| 植被需随天候逻辑适配 | — | 扁平雨色、扁平雪色 |
|
||||
|
||||
---
|
||||
|
||||
## 五、四视图设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
> 摄像机固定于场景中心点,分别朝前/后/左/右四个方向拍摄,形成 360° 环视。
|
||||
|
||||
| 位置 | 视图 | 视角方向 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|
|
||||
| 左上 | 前视图 | 从中心点向前方平视(0°) | 展示场景正面主体结构与色块层次 | front view、eye level、looking forward |
|
||||
| 右上 | 右视图 | 从中心点向右方平视(90°) | 展示场景右侧空间延伸与侧面色块 | right side view、eye level、looking right |
|
||||
| 左下 | 后视图 | 从中心点向后方平视(180°) | 展示场景背面结构与空间色块 | back view、eye level、looking backward |
|
||||
| 右下 | 左视图 | 从中心点向左方平视(270°) | 展示场景左侧空间延伸与侧面色块 | left side view、eye level、looking left |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面四宫格(2×2),左上前视图+右上右视图+左下后视图+右下左视图,形成从中心点环视的四方向视图 |
|
||||
| 人物 | **严禁出现任何人物、人影、人体轮廓** |
|
||||
| 视点 | 四视图均从同一中心点出发,视线高度一致(人眼平视高度) |
|
||||
| 一致性 | 四视图的建筑结构/材质/色调/光线/季节/天候完全一致 |
|
||||
| 光线 | 无光照、纯色填充、无光影逻辑 |
|
||||
| 画面比例 | 建议 1:1(2×2 网格) |
|
||||
|
||||
---
|
||||
|
||||
## 六、提示词模板
|
||||
|
||||
```
|
||||
扁平古风场景衍生四视图设定图,基于{场景名}概念图,
|
||||
2d flat design,vector art,flat illustration,
|
||||
minimalist,clean lines,solid colors,
|
||||
flat scene derivative,environment concept art,no people,no characters,no human figures,
|
||||
保持场景空间结构一致,
|
||||
{景别视角(如有)},{时段描述(如有)},{天候描述(如有)},
|
||||
{前景色块},{中景色块},{后景色块},
|
||||
{色调描述},{色块变化(如有)},{天空色块变化(如有)},{氛围调整(如有)},
|
||||
{天候视觉特征(如有)},{材质色块变化(如有)},{植被适配描述(如有)},
|
||||
无岁月痕迹,无磨损,扁平完美,
|
||||
无光照,无阴影,纯色平涂,
|
||||
无透视,纯色填充,
|
||||
同一画面四宫格(2×2):从场景中心点环视,前视图+右视图+后视图+左视图,
|
||||
四视图均从同一中心点平视拍摄,建筑结构一致,材质色调一致,
|
||||
画面中无任何人物
|
||||
图中不要有任何文字
|
||||
```
|
||||
|
||||
> **使用说明**:根据用户提供的信息自行判断需要应用的变化维度(景别/时段/天候),未提及的维度对应字段留空省略即可。无需为每种变体单独生成模板。
|
||||
|
||||
---
|
||||
|
||||
## 七、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 场景空间结构在所有变体中保持一致 |
|
||||
| R2 | 时段变体必须调整色块色调与氛围 |
|
||||
| R3 | 天候变体必须适配色块/材质表面 |
|
||||
| R4 | 必须为「四视图设定图」(从中心点环视:前视图 + 右视图 + 后视图 + 左视图) |
|
||||
| R5 | 四视图的建筑结构/材质/色调/光线/季节/天候必须完全一致 |
|
||||
| R6 | 场景图中**严禁出现任何人物** |
|
||||
| R7 | 根据用户提供的信息自行判断变化维度,无需拆分为独立模板 |
|
||||
| R8 | 必须指定「扁平风格」关键词(2d flat design、vector art) |
|
||||
| R9 | 必须指定「无光影无渐变」 |
|
||||
| R10 | 材质必须为纯色填充,禁止复杂纹理/岁月感 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 变体间建筑结构/布局不一致 |
|
||||
| X2 | 天候与季节矛盾(夏天飞雪等) |
|
||||
| X3 | 变体间材质/风格突变 |
|
||||
| X4 | 出现任何人物、人影、人体剪影或人体轮廓 |
|
||||
| X5 | 四视图之间建筑结构/材质/色调不一致,或视点中心不统一 |
|
||||
| X6 | 3D 渲染/CG 动画/卡通/游戏引擎质感(禁用 3D render、CGI、Unreal Engine、Unity 等词) |
|
||||
| X7 | 材质过于复杂、色块区分不清 |
|
||||
| X8 | 添加光影/阴影/渐变/立体感效果 |
|
||||
@ -0,0 +1,155 @@
|
||||
# 场景图生成 · 扁平风约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、场景美学原则
|
||||
|
||||
1. **空间叙事** — 场景承载情绪与叙事功能,不是纯背景板
|
||||
2. **层次扁平** — 前/中/后景通过色块区分,无纵深透视
|
||||
3. **色块至上** — 所有场景必须通过色块表达,拒绝渐变/光影
|
||||
4. **扁平为锚** — 一切画面以扁平矢量插画为标准,拒绝 3D 渲染/CG 动画质感;追求简洁线条、纯色填充
|
||||
|
||||
---
|
||||
|
||||
## 二、季节色调映射
|
||||
|
||||
| 季节 | 主色调 | 辅色调 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 春 | 青翠 + 桃粉 | 月白、鹅黄 | 扁平春色、青色桃粉 |
|
||||
| 夏 | 碧绿 + 荷粉 | 天青、莲白 | 扁平夏荷、碧绿荷粉 |
|
||||
| 秋 | 赤红 + 金黄 | 琥珀、暮灰 | 扁平秋枫、赤红金黄 |
|
||||
| 冬 | 素白 + 霜银 | 墨玉黑、冰蓝 | 扁平冬雪、素白霜银 |
|
||||
|
||||
---
|
||||
|
||||
## 三、室内场景
|
||||
|
||||
### 空间规范
|
||||
|
||||
| 维度 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 风格 | 古代宅邸/宫殿/书房/闺阁,魏晋至唐宋 | 古代{朝代}风格、扁平古风 |
|
||||
| 材质 | 纯色色块、线条勾勒 | 扁平檀木、扁平玉石、扁平绢纱 |
|
||||
| 色调 | 低饱和纯色色块 | 扁平暖色、扁平素雅 |
|
||||
| 纵深 | 前/中/后景色块区分 | 前景{色块}、中景{色块}、后景{色块} |
|
||||
| 质感 | 无质感、纯色填充 | 无纹理、扁平质感、flat texture |
|
||||
| 光照 | 无光照、纯平涂色块 | 无光影、扁平光照、no lighting |
|
||||
| 镜头感 | 无景深虚化、纯平面 | 无景深、扁平视角、no depth |
|
||||
| 瑕疵感 | 无瑕疵、纯色完美 | 无磨损、扁平完美、no wear |
|
||||
|
||||
### 室内类型速查
|
||||
|
||||
| 类型 | 核心元素 | 氛围词 |
|
||||
|---|---|---|
|
||||
| 闺阁/卧房 | 纱帐、梳妆台、铜镜、花瓶 | 扁平温馨、简约私密 |
|
||||
| 书房/书斋 | 书架、卷轴、笔墨、棋盘 | 扁平幽静、简约雅致 |
|
||||
| 大殿/正厅 | 高柱、匾额、帷幕、烛台 | 扁平庄严、简约华美 |
|
||||
| 庭院回廊 | 廊柱、石栏、花木、灯笼 | 扁平曲径、简约灯影 |
|
||||
| 厨房/膳堂 | 灶台、蒸笼、食器 | 扁平烟火、简约日常 |
|
||||
|
||||
---
|
||||
|
||||
## 四、室外场景
|
||||
|
||||
### 空间规范
|
||||
|
||||
| 维度 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 庭院/山林/溪畔/古桥/集市 | {场景}、{季节}、{时间}、扁平古风 |
|
||||
| 天候 | 晴/阴/薄雾/细雨/飞雪 | 扁平薄雾、扁平细雨 |
|
||||
| 植被 | 梅/竹/松/桃花/柳/荷(须符合季节) | 扁平桃花、扁平翠竹 |
|
||||
| 水体 | 溪/湖/瀑布需有纯色表现 | 扁平溪流、扁平湖面 |
|
||||
| 建筑 | 飞檐斗拱、青瓦白墙、石桥木亭 | 扁平飞檐、扁平石桥 |
|
||||
| 空气感 | 无空气透视、纯平面 | 无透视、扁平远景、flat far |
|
||||
| 光照 | 无光照、纯平涂色块 | 无光照、扁平日光、no light |
|
||||
| 镜头感 | 无景深虚化、纯平面 | 无景深、扁平视角、no depth |
|
||||
| 瑕疵感 | 无瑕疵、纯色完美 | 无风化、扁平完美、no weathering |
|
||||
|
||||
### 室外类型速查
|
||||
|
||||
| 类型 | 核心元素 | 氛围词 |
|
||||
|---|---|---|
|
||||
| 庭院花园 | 假山、池塘、花木、石径 | 扁平花影、简约曲径 |
|
||||
| 山林竹海 | 古木、竹林、山石、云雾 | 扁平层峦、简约云雾 |
|
||||
| 溪畔湖边 | 溪流、卵石、垂柳、荷花 | 扁平溪水、简约垂柳 |
|
||||
| 古桥长亭 | 石拱桥、长亭、柳树 | 扁平古桥、简约长亭 |
|
||||
| 集市街道 | 酒旗、摊贩、灯笼 | 扁平市井、简约热闹 |
|
||||
| 屋顶天台 | 瓦片、飞檐、夜空 | 扁平瓦片、简约夜空 |
|
||||
|
||||
---
|
||||
|
||||
## 五、四视图设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
> 摄像机固定于场景中心点,分别朝前/后/左/右四个方向拍摄,形成 360° 环视。
|
||||
|
||||
| 位置 | 视图 | 视角方向 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|
|
||||
| 左上 | 前视图 | 从中心点向前方平视(0°) | 展示场景正面主体结构与色块层次 | front view、eye level、looking forward |
|
||||
| 右上 | 右视图 | 从中心点向右方平视(90°) | 展示场景右侧空间延伸与侧面色块 | right side view、eye level、looking right |
|
||||
| 左下 | 后视图 | 从中心点向后方平视(180°) | 展示场景背面结构与空间色块 | back view、eye level、looking backward |
|
||||
| 右下 | 左视图 | 从中心点向左方平视(270°) | 展示场景左侧空间延伸与侧面色块 | left side view、eye level、looking left |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面 2×2 网格排列:上排(前视图 + 右视图),下排(后视图 + 左视图),形成从中心点环视的四方向视图 |
|
||||
| 人物 | **严禁出现任何人物、人影、人体轮廓** |
|
||||
| 视点 | 四视图均从同一中心点出发,视线高度一致(人眼平视高度) |
|
||||
| 一致性 | 四视图的建筑结构/材质/色调/光线/季节/天候完全一致 |
|
||||
| 光线 | 无光照、纯色填充、无光影逻辑 |
|
||||
| 画面比例 | 建议 1:1(2×2 网格) |
|
||||
|
||||
---
|
||||
|
||||
## 六、提示词模板
|
||||
|
||||
```
|
||||
扁平古风场景四视图设定图,
|
||||
2d flat design,vector art,flat illustration,
|
||||
minimalist,clean lines,solid colors,
|
||||
flat scene,environment design,no people,no characters,no human figures,
|
||||
{室内/室外},{场景类型},{朝代风格},{季节+时间},
|
||||
前景:{色块元素},中景:{色块元素},后景:{色块元素},
|
||||
{色调描述},{天候/氛围元素},
|
||||
{材质描述},无透视,纯色填充,
|
||||
无岁月痕迹,无磨损,扁平完美,
|
||||
无光照,无阴影,纯色平涂,
|
||||
同一画面2×2网格排列:从场景中心点环视,前视图+右视图+后视图+左视图,
|
||||
四视图均从同一中心点平视拍摄,建筑结构一致,材质色调一致,
|
||||
画面中无任何人物
|
||||
图中不要有任何文字
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 七、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 场景必须有「前中后景色块层次」 |
|
||||
| R2 | 室外必须为「扁平远景」无空气透视 |
|
||||
| R3 | 场景图必须为「四视图设定图」(从中心点环视:前视图 + 右视图 + 后视图 + 左视图) |
|
||||
| R4 | 四视图的建筑结构/材质/色调/光线/季节/天候必须完全一致 |
|
||||
| R5 | 场景图中**严禁出现任何人物** |
|
||||
| R6 | 必须指定「扁平风格」关键词(2d flat design、vector art) |
|
||||
| R7 | 必须指定「无光影无渐变」 |
|
||||
| R8 | 材质必须为纯色填充,禁止复杂纹理/岁月感 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 背景纯白/纯黑/无场景 |
|
||||
| X2 | 极端天候(暴风雨/雷电/暴雪,除非剧情需要) |
|
||||
| X3 | 场景无层次/无色块区分 |
|
||||
| X4 | 植被/天候与季节矛盾 |
|
||||
| X5 | 出现任何人物、人影、人体剪影或人体轮廓 |
|
||||
| X6 | 四视图之间建筑结构/材质/色调不一致,或视点中心不统一 |
|
||||
| X7 | 3D 渲染/CG 动画/卡通/游戏引擎质感(禁用 3D render、CGI、Unreal Engine、Unity 等词) |
|
||||
| X8 | 材质过于复杂、色块区分不清 |
|
||||
| X9 | 添加光影/阴影/渐变/立体感效果 |
|
||||
@ -0,0 +1,11 @@
|
||||
# 视频提示词 · 视觉风格约束
|
||||
|
||||
生成视频提示词时,必须注入以下视觉风格标签:
|
||||
|
||||
| 模式 | 风格标签 |
|
||||
|------|----------|
|
||||
| **通用多参模式(英文)** | `2D flat design, geometric shapes, solid color blocks, minimal shadows, clean lines, modern aesthetic` |
|
||||
| **通用首尾帧模式(英文)** | `2D flat design, geometric shapes, solid color blocks, minimal shadows, clean lines, modern aesthetic, shallow depth of field` |
|
||||
| **Seedance 2.0(中文)** | `2D扁平风格,几何造型,纯色色块,无阴影,简洁线条,现代简约` |
|
||||
|
||||
|
||||
@ -0,0 +1,85 @@
|
||||
---
|
||||
name: director_planning_style
|
||||
description: 扁平风约束 — 定义2D扁平风在色调体系、色块方案、质感方向、场景空间元素、乐器选择与环境音上的全局约束。适用于任何叙事类型。
|
||||
metaData: director_skills
|
||||
---
|
||||
|
||||
# 扁平风约束 · 2D扁平风(Flat Design) · 技法参考
|
||||
|
||||
---
|
||||
|
||||
## 一、色调体系与画面基调
|
||||
|
||||
- **色调基底** — 全片以明快蓝(C1)、活力橙(C2)、米白(C9)为基底色,整体色温中性(5500-6500K),饱和度中高(70-90%),呈现现代扁平风的清新简洁感
|
||||
- **冷暖叙事对比** — 暖色(活力橙 C2、暖粉 C7)作为情感升温的视觉信号,用于心动、浪漫段落局部强化。冷色(明快蓝 C1、淡紫 C6)用于日常、夜晚段落。冷暖切换应与故事弧线同步,而非随意混用
|
||||
- **冷暖分配策略** — 日常/办公段落保持中性偏冷色调基底;暖色仅在情感升温后释放,用冷暖对比做叙事转折
|
||||
- **色盘先行原则** — 段落规划需先绑定情绪场景(日常/心动/浪漫/回忆等),再确定主色+辅色与色块方案,避免"剧情对了但情绪不对色"
|
||||
- **禁用色域** — 高饱和荧光色、霓虹色、3D 渲染色彩体系均与本风格不兼容
|
||||
|
||||
---
|
||||
|
||||
## 二、色块方案体系
|
||||
|
||||
- **色块即叙事** — 6 套色块方案对应不同情绪段落,导演规划阶段应在段落层面确定色块基调方向,而非逐镜指定
|
||||
- **扁平风格无传统光影** — 通过色块明度差异制造"伪光影",不使用光源角度
|
||||
|
||||
| 色块方案 | 方案名 | 色调倾向 | 适用情绪 |
|
||||
|---|---|---|---|
|
||||
| A | 纯色块 | 暖橙 + 米白 + 浅蓝 | 日常温馨 |
|
||||
| B | 色块对比 | 暖粉 + 暖橙对比 | 心动瞬间、升温段 |
|
||||
| C | 冷色调 | 冷蓝 + 灰色 + 白色 | 办公/学习、冷静段 |
|
||||
| D | 暖调主导 | 暖橙 + 暖粉 + 浅黄 | 浪漫场景、甜蜜段 |
|
||||
| E | 冷色主导 | 深蓝 + 紫色 + 暖黄点缀 | 夜晚静谧 |
|
||||
| F | 低饱和 | 浅黄 + 浅灰 + 暖粉 | 回忆/闪回 |
|
||||
|
||||
- **冷暖色分配** — 暖色块(活力橙/暖粉)适用于情感升温段落;冷静/夜晚段落用冷色块。导演可根据叙事需要调整冷暖切换点
|
||||
- **氛围方向映射** — 每场戏的氛围方向应能映射到上述色块方案(A-F)的某一方向,确保视觉一致性
|
||||
|
||||
---
|
||||
|
||||
## 三、质感方向
|
||||
|
||||
- **几何极简感** — 扁平设计的核心:纯色色块、清晰轮廓、无阴影无渐变、色块边界明确
|
||||
- **简洁线条 + 纯净色彩** — 这是画面质感的锚点。不是写实渲染,不是复杂细节,是几何化的极简表达
|
||||
- **禁止写实元素** — 所有视觉元素必须符合扁平风格:无阴影、无渐变、无纹理、无光影。禁止"3D感"和"写实感"
|
||||
- **色块对比清晰** — 色块间边界分明,主色与辅色对比明确,避免模糊过渡
|
||||
- **扁平不等于单调** — 通过色彩对比与构图设计传递情感,而非依赖写实细节。用色块大小、色相变化制造视觉层次
|
||||
|
||||
---
|
||||
|
||||
## 四、扁平场景空间元素
|
||||
|
||||
扁平风格特有的场景元素及其视觉叙事功能:
|
||||
|
||||
- **纯色背景/色块分区** — 天然的构图载体,用色块区域划分空间层次,制造简洁的空间感与画面纵深
|
||||
- **几何形状/图标符号** — 扁平风格的表意工具,圆形 = 温暖/完整、三角 = 动态/冲突、方形 = 稳定/日常
|
||||
- **留白区域** — 扁平风格的重要情感手段。大面积留白 = 聚焦、满色块 = 充实、局部留白 = 呼吸感
|
||||
- **段落间用纯色过渡** — 本风格有丰富的色块资产(不同色相/明度变体),段落衔接建议用纯色块做情绪缓冲,不要硬切
|
||||
- **转折点用色块变化** — 优先使用画面手段(明度变化、色相变化、色块对比突变)而非依赖对白解释
|
||||
|
||||
---
|
||||
|
||||
## 五、扁平风乐器与环境音
|
||||
|
||||
扁平风格下的声音元素约束:
|
||||
|
||||
### 乐器选择
|
||||
|
||||
- **电子合成器** — 日常/温馨/现代段落的核心乐器,最能表现扁平风格的简洁感
|
||||
- **钢琴** — 浪漫/情感段落,干净的音色适合简约氛围
|
||||
- **轻快节奏** — 明亮/活力段落,适合快节奏场景
|
||||
- **弦乐** — 情绪升华段落的铺底,不宜喧宾夺主
|
||||
|
||||
### 乐器组合策略
|
||||
|
||||
| 情绪阶段 | 乐器组合 |
|
||||
|---|---|
|
||||
| 平稳/开场/收尾 | 电子音效独奏 |
|
||||
| 日常温馨 | 合成器 + 轻钢琴 |
|
||||
| 情绪升华/浪漫 | 钢琴 + 弦乐 |
|
||||
| 关键情感瞬间 | 纯环境音(去掉配乐) |
|
||||
|
||||
### 扁平风环境音
|
||||
|
||||
- **典型环境音层次** — 城市交通声 / 办公室键盘声 / 咖啡厅背景音 / 风吹窗帘声 / 人群低语声 / 鼠标点击声
|
||||
- **每场戏标注 1-2 个核心环境音**,帮助后续音效设计。环境音层次越丰富,场景越有沉浸感
|
||||
@ -0,0 +1,189 @@
|
||||
---
|
||||
name: director_storyboard
|
||||
description: 导演分镜提示词技法 · 2D扁平风(Flat Design)
|
||||
metaData: director_skills
|
||||
---
|
||||
|
||||
# 分镜提示词 · 2D扁平风 · 风格专属技法
|
||||
|
||||
---
|
||||
|
||||
## 适用范围
|
||||
|
||||
本 Skill 专用于**2D扁平风(Flat Design)**风格的分镜提示词生成。
|
||||
|
||||
---
|
||||
|
||||
## 情绪 → 面容/眼神词映射
|
||||
|
||||
| 情绪输入 | 面容词 | 眼神词 | 微表情补充 |
|
||||
|----------|--------|--------|-----------|
|
||||
| 心动 / 欣喜 | 简洁线条,橙色色块 | 圆形眼睛,眼神明亮 | 简单笑脸,扁平化 |
|
||||
| 悲伤 / 失落 | 简洁线条,冷色色调 | 椭圆形眼睛,眼神柔和 | 嘴角下弯,扁平化 |
|
||||
| 惊讶 / 好奇 | 圆形眼睛,放大表情 | 眼神集中,目光好奇 | 嘴巴O型,扁平化 |
|
||||
| 温柔 / 深情 | 柔和线条,暖色色调 | 眼神专注,目光柔和 | 嘴角上弯,扁平化 |
|
||||
| 坚定 / 勇敢 | 直线线条,冷色色调 | 眼神坚定,目光集中 | 表情明确,扁平化 |
|
||||
| 害羞 / 羞涩 | 粉色色块,圆润线条 | 眼睛向下,不敢直视 | 脸颊红晕,扁平化 |
|
||||
| 温暖 / 感动 | 暖色线条,柔和表情 | 眼神温暖,目光柔和 | 嘴角上扬,扁平化 |
|
||||
| 孤独 / 怀念 | 冷色线条,简洁表情 | 眼神放空,若有所思 | 表情平静,扁平化 |
|
||||
| 快乐 / 雀跃 | 圆形线条,明亮表情 | 眼睛弯月,表情生动 | 动作轻快,扁平化 |
|
||||
| 紧张 / 不安 | 线条变细,眉头符号 | 眼睛变小,目光不确定 | 手位紧张,扁平化 |
|
||||
|
||||
---
|
||||
|
||||
## 色彩氛围词库(扁平风)
|
||||
|
||||
### 色相使用
|
||||
|
||||
| 场景类型 | 主色词 | 辅色词 | 氛围词 |
|
||||
|--------|--------|--------|---------|
|
||||
| 日常生活 | 明快蓝 + 米白 | 暖橙点缀 | 简洁感,现代感 |
|
||||
| 办公空间 | 冷灰 + 冷蓝 | 白色 + 浅灰 | 理性,高效感 |
|
||||
| 休闲空间 | 暖橙 + 暖粉 | 米白 + 浅黄 | 放松,舒适感 |
|
||||
| 浪漫场景 | 暖粉 + 暖橙 | 米白 + 浅紫 | 温馨,甜蜜感 |
|
||||
| 夜晚场景 | 深蓝 + 紫色 | 暖黄点缀 | 静谧,神秘感 |
|
||||
| 回忆场景 | 浅黄 + 浅灰 | 暖粉点缀 | 怀旧,柔和感 |
|
||||
|
||||
### 情绪色块
|
||||
|
||||
| 情绪基调 | 色块类型 | 补充约束 |
|
||||
|----------|----------|---------|
|
||||
| 心动/温情 | 暖色对比色块 | 留白较多,主色突出 |
|
||||
| 悲伤/失落 | 冷色单色块 | 饱和度降低,留白更大 |
|
||||
| 快乐/活力 | 多色对比色块 | 饱和度高,色彩丰富 |
|
||||
| 怀旧/回忆 | 低饱和单色块 | 色调统一,留白更多 |
|
||||
| 日常/温馨 | 暖色主色块 | 柔和对比,适度留白 |
|
||||
| 夜晚/静谧 | 冷色主色块 | 暖色点缀,层次清晰 |
|
||||
|
||||
---
|
||||
|
||||
## 场景质感约束词(按场景类型)
|
||||
|
||||
| 场景类型 | 必加约束词 |
|
||||
|----------|-----------|
|
||||
| 扁平人物 | 几何造型,简洁线条,无阴影无渐变,纯色色块填充 |
|
||||
| 扁平场景 | 纯色背景,几何形状,简单结构,无纹理无细节 |
|
||||
| 办公空间 | 简洁家具,几何形状,冷色调,现代设计感 |
|
||||
| 居家空间 | 简约家具,暖色调,几何线条,温馨氛围 |
|
||||
| 城市景观 | 简化建筑,几何形状,冷色调,现代都市感 |
|
||||
| 自然环境 | 几何树木,纯色草地,简单形状,扁平化自然 |
|
||||
| 交通场景 | 简化车辆,几何形状,冷色调,现代交通感 |
|
||||
| 室内空间 | 简洁隔断,纯色墙面,几何门窗,现代简约 |
|
||||
|
||||
---
|
||||
|
||||
## 固定风格锚定词(所有输出必须包含)
|
||||
|
||||
**扁平风格锚定(必选):**
|
||||
|
||||
2D扁平风,Flat Design,无阴影无渐变,纯色色块,简洁线条
|
||||
|
||||
**色块质感(所有输出必选):**
|
||||
|
||||
纯色填充,无纹理无渐变,几何造型,扁平化设计
|
||||
|
||||
**轮廓线条(所有输出必选):**
|
||||
|
||||
清晰轮廓线,线条均匀一致,无断线无粗糙边缘
|
||||
|
||||
**色彩层次(所有输出必选):**
|
||||
|
||||
色彩饱和适中,色块对比清晰,无复杂光影层次
|
||||
|
||||
**氛围锚定(必选):**
|
||||
|
||||
简约现代氛围,扁平设计美学,清晰情感表达,现代感视觉
|
||||
|
||||
**画质锁定词(所有输出必须包含,置于风格收尾之后):**
|
||||
|
||||
模式A(中文)——默认:
|
||||
高清画质,线条清晰,色彩纯净,画面无杂色无噪点,无阴影无渐变
|
||||
|
||||
模式A(中文)——画内文字场景(画面描述中含招牌/标识等道具文字时):
|
||||
高清画质,线条清晰,色彩纯净,画面无杂色无噪点,无阴影无渐变,招牌/标识等道具文字清晰可读
|
||||
|
||||
模式B(英文)——默认:
|
||||
high-quality 2D flat design, clean lines, pure colors, no shadows, no gradients, no noise, no artifacts
|
||||
|
||||
模式B(英文)——画内文字场景:
|
||||
high-quality 2D flat design, clean lines, pure colors, no shadows, no gradients, no noise, no artifacts, legible text on signs and props
|
||||
|
||||
**负向词模板(模式B 必须包含,置于提示词末尾):**
|
||||
|
||||
> ⚠️ Seedream(模式A)**不支持负向提示词**,负向词仅适用于模式B。模式A 通过正向词中的质感锚定和画质锁定来保证画面质量。
|
||||
|
||||
模式B(英文):
|
||||
no 3D rendering, no photorealism, no shadows, no gradients, no textures, no realistic lighting, no realistic materials, no complex details, no detailed backgrounds, no realistic faces, no realistic hair, no realistic clothing
|
||||
|
||||
---
|
||||
|
||||
## 美学禁止项(生成时严格规避)
|
||||
|
||||
以下词汇/风格不得出现于输出提示词中:
|
||||
|
||||
- ❌ 写实渲染/照片级真实感风格
|
||||
- ❌ 阴影/渐变/纹理相关词
|
||||
- ❌ 高饱和荧光色/过度对比色系
|
||||
- ❌ 复杂细节/精细纹理描述
|
||||
- ❌ 3D透视/深度感描述
|
||||
- ❌ 写实人物/写实服装/写实建筑
|
||||
- ❌ 画外叠加文字(字幕、水印、标题卡、旁白叠字等 UI 层文字,画面必须为纯视觉画面)
|
||||
|
||||
> 💡 **例外**:故事世界内的道具文字(招牌、路牌、标识、书籍等场景中自然存在的文字)**不属于禁止范围**。当分镜画面描述中包含此类内容时,应如实描写其存在并要求文字清晰。
|
||||
|
||||
---
|
||||
|
||||
## 完整生成示例
|
||||
|
||||
> 以下为同一输入分别使用模式A和模式B的对照展示,实际使用时**仅输出其中一种**。
|
||||
|
||||
### 输入(分镜表行数据)
|
||||
|
||||
| 序号 | 画面描述 | 场景 | 关联资产名称 | 时长 | 景别 | 运镜 | 角色动作 | 情绪 | 光影氛围 |
|
||||
|------|---------|------|-------------|------|------|------|---------|------|----------|
|
||||
| 1 | 扁平风格两人相遇,橙色与蓝色色块对比,简洁背景 | 城市 | 角色A/B | 5s | 中景 | 静止 | 对视微笑,简洁线条 | 心动 / 温暖 | 暖色对比 + 留白 |
|
||||
|
||||
### 示例输出A(模式A · Seedream)
|
||||
|
||||
[Prompt]
|
||||
2D扁平风,Flat Design,无阴影无渐变,纯色色块,简洁线条,中景构图,两个扁平角色半身入镜,纯色填充,无纹理无渐变,几何造型,扁平化设计,清晰轮廓线,线条均匀一致,无断线无粗糙边缘,色彩饱和适中,色块对比清晰,无复杂光影层次,扁平风格两人相遇,橙色与蓝色色块对比,简洁背景,对视微笑,线条简洁,眼神明亮,暖色对比,留白较多,简约现代氛围,扁平设计美学,清晰情感表达,现代感视觉,高清画质,线条清晰,色彩纯净,画面无杂色无噪点,无阴影无渐变。
|
||||
Based on the reference image of 角色A/B, maintain consistent: face features, hairstyle, costume details. Generate a new scene: two flat characters meeting in city, orange and blue color block contrast, simple background, smiling and looking at each other. Keep character appearance identical to reference.
|
||||
|
||||
### 示例输出B(模式B · Nanobanana)
|
||||
|
||||
```xml
|
||||
<role>
|
||||
You are a 2D flat design storyboard artist.
|
||||
Maintain strict visual continuity across all shots.
|
||||
</role>
|
||||
<character_reference>
|
||||
Image [1]: 角色A/B — flat design characters, geometric shapes, simple lines, pure colors
|
||||
</character_reference>
|
||||
<continuity_rules>
|
||||
- Same color palette, face features, hairstyle across ALL shots
|
||||
- Same environment, background color, geometric style
|
||||
- Only framing, angle, action, expression may change
|
||||
- Do NOT introduce new characters not in reference images
|
||||
</continuity_rules>
|
||||
<shot>
|
||||
Medium shot, two flat characters meeting in city, orange and blue color block contrast, simple background, smiling and looking at each other, geometric shapes, simple lines, pure colors, no shadows, no gradients, clean lines, high-quality 2D flat design, no noise, no artifacts.
|
||||
</shot>
|
||||
<negative>
|
||||
no 3D rendering, no photorealism, no shadows, no gradients, no textures, no realistic lighting, no realistic materials, no complex details, no detailed backgrounds, no realistic faces, no realistic hair, no realistic clothing
|
||||
</negative>
|
||||
```
|
||||
|
||||
## 快速参考卡
|
||||
|
||||
### 情绪 → 画面词速查
|
||||
|
||||
| 情绪 | 面容关键词 | 色彩匹配 |
|
||||
|------|-----------|---------|
|
||||
| 心动 | 圆润线条,橙色色块 | 暖粉 + 暖橙对比 |
|
||||
| 悲伤 | 直线线条,冷色色调 | 冷蓝 + 灰色单色 |
|
||||
| 温柔 | 柔和线条,暖色色调 | 暖黄 + 米白柔和 |
|
||||
| 浪漫 | 曲线线条,粉色色调 | 暖粉 + 暖橙对比 |
|
||||
| 感动 | 上扬线条,暖色色调 | 暖橙 + 暖黄主色 |
|
||||
| 孤独 | 冷色线条,简洁表情 | 冷蓝 + 紫色单色 |
|
||||
| 快乐 | 圆形线条,明亮表情 | 暖橙 + 黄色对比 |
|
||||
|
||||
@ -0,0 +1,46 @@
|
||||
---
|
||||
name: director_storyboard_table_style
|
||||
description: 分镜表扁平风约束 — 定义2D扁平风在分镜表中的色彩氛围规范、色块动态、动作节奏、运镜禁忌与转场禁忌。适用于任何叙事类型。
|
||||
metaData: director_skills
|
||||
---
|
||||
|
||||
# 分镜表扁平风约束 · 2D扁平风(Flat Design) · 技法参考
|
||||
|
||||
---
|
||||
|
||||
## 一、分镜表定位
|
||||
|
||||
分镜表是导演将剧本转化为镜头语言的核心工具。以下仅提供2D扁平风风格在分镜表层面的约束规范。
|
||||
|
||||
---
|
||||
|
||||
## 二、色彩与氛围
|
||||
|
||||
- **同场戏色彩统一** — 一场戏内不应出现两种以上色彩方案,除非有明确的叙事转折(如暖色块突然切换为冷色块)
|
||||
- **情绪色盘绑定** — 每场戏至少绑定 1 个情绪场景(如日常温馨/心动瞬间/浪漫场景/夜晚静谧),并在镜头组内保持主色+辅色连续性
|
||||
- **色彩对比规范** — 默认中对比,描述时须区分高对比/低对比
|
||||
- **冷暖色调与叙事阶段匹配** — 日常段落保持暖色调基底,冷色调在夜晚或情绪转折后使用
|
||||
- **色彩转场是高级手段** — 从暖色渐变到冷色 = 情绪转变。在分镜表中标注色彩变化点
|
||||
|
||||
---
|
||||
|
||||
## 三、色块动态
|
||||
|
||||
- **色块变化增加画面呼吸感** — 色相变化、明度变化、大小变化。每 3-4 个镜头至少安排一个有色块变化的镜头,避免画面"死"掉
|
||||
- **扁平风环境元素优先** — 色块动态应选用扁平风格内的元素:色相渐变、色块位移、明度过渡、几何形状变化,禁止出现写实/3D 元素
|
||||
|
||||
---
|
||||
|
||||
## 四、扁平动作节奏
|
||||
|
||||
- **动作要简洁** — 所有人物动作默认自然节奏。抬手、转身都应标注"简洁"或"平滑"
|
||||
- **单镜头动作不超过两个** — "抬手 + 微笑"可以,"抬手 + 微笑 + 转身 + 行走"会崩
|
||||
- **甜宠互动用暗示** — 目光交汇、手势示意、物体递送。不要写"拥抱""接吻"等大幅度双人交互
|
||||
|
||||
---
|
||||
|
||||
## 五、运镜禁忌
|
||||
|
||||
- **禁用复杂运镜** — 旋转、扭曲、快速切换与本风格气质冲突
|
||||
- **禁用花式转场** — 旋转、扭曲、擦除等与本风格不兼容
|
||||
- **默认静止** — 70% 以上镜头应为固定机位,让画面的色块和构图自己说话
|
||||
BIN
data/skills/art_skills/2D_flat_design/images/1.png
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
data/skills/art_skills/2D_flat_design/images/场景原始.png
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
BIN
data/skills/art_skills/2D_flat_design/images/场景衍生.png
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
BIN
data/skills/art_skills/2D_flat_design/images/女生原始.png
Normal file
|
After Width: | Height: | Size: 389 KiB |
BIN
data/skills/art_skills/2D_flat_design/images/女生衍生.png
Normal file
|
After Width: | Height: | Size: 624 KiB |
117
data/skills/art_skills/2D_flat_design/prefix.md
Normal file
@ -0,0 +1,117 @@
|
||||
# 全局美学基础 · 2D扁平风(Flat Design)
|
||||
|
||||
---
|
||||
严格遵循下方风格约束与全局规则,依据提示词模板格式生成提示词。仅输出提示词本身,不附加任何解释、说明或额外文本。
|
||||
## 一、风格基因
|
||||
|
||||
| 维度 | 定义 |
|
||||
|---|---|
|
||||
| **一级风格** | 2D扁平风(Flat Design) |
|
||||
| **二级风格** | 几何造型 · 纯色色块 · 无阴影无渐变 |
|
||||
| **情感基调** | 简约现代 · 明快清新 |
|
||||
| **质感锚词** | 简洁线条、纯色填充、色块对比 |
|
||||
|
||||
---
|
||||
|
||||
## 二、全局色彩盘(风格基线,不是硬锁)
|
||||
|
||||
> 目标:统一审美而非限制创作。除「硬约束色」外,其余颜色默认优先使用,可在合理范围内偏移。
|
||||
|
||||
### 色彩使用层级
|
||||
|
||||
| 层级 | 约束强度 | 说明 |
|
||||
|---|---|---|
|
||||
| L1 硬约束 | 高 | 仅锁定角色识别核心:肤色、发色、主服底色的审美方向 |
|
||||
| L2 软约束 | 中 | 场景色、配饰色、点缀色优先参考色盘,可按镜头与剧情微调 |
|
||||
| L3 例外机制 | 低 | 浪漫/高潮/特殊场景可临时突破局部色彩,但需保留整体扁平逻辑 |
|
||||
|
||||
| 序号 | 色名 | 色值 | 用途 |
|
||||
|---|---|---|---|
|
||||
| C1 | 明快蓝 | #3B82F6 | 背景、服装、冷调主体 |
|
||||
| C2 | 活力橙 | #F59E0B | 暖色点缀、情感高潮 |
|
||||
| C3 | 纯净白 | #FFFFFF | 背景、留白、纯净感 |
|
||||
| C4 | 深棕发 | #4A3728 | 发色、眼瞳 |
|
||||
| C5 | 高级灰 | #8A8A8A | 中性色、次要元素 |
|
||||
| C6 | 淡紫 | #C084FC | 夜晚、梦幻、点缀 |
|
||||
| C7 | 暖粉 | #FB7185 | 浪漫、心动、点缀 |
|
||||
| C8 | 浅黄 | #FDE047 | 温暖、阳光、背景 |
|
||||
| C9 | 米白 | #FEF3C7 | 背景、留白、温暖感 |
|
||||
| C10 | 薄荷绿 | #5EEAD4 | 自然、清新、环境 |
|
||||
|
||||
### 硬约束色(默认锁定)
|
||||
|
||||
| 色项 | 对应色 | 规则 |
|
||||
|---|---|---|
|
||||
| 肤色基准 | C3 纯净白 + C9 米白 | 默认优先,允许明度微调 |
|
||||
| 发色/瞳色基准 | C4 深棕发 | 默认优先,允许深棕/深褐偏移 |
|
||||
|
||||
### 软约束色(推荐优先)
|
||||
|
||||
> C1/C2/C5/C6/C7/C8/C10 为推荐色域,用于服装、装饰、背景、暖光、环境等。可根据镜头氛围做同色相邻近调整。
|
||||
|
||||
### 情绪色盘(导演对齐版)
|
||||
|
||||
| 情绪场景 | 主色 | 辅色 | 色块对比建议 | 画面关键词 |
|
||||
|---|---|---|---|---|
|
||||
| 日常温馨 | C9 米白 | C3 纯净白 + C5 高级灰 | 低对比,柔和 | 生活感、温暖、平静 |
|
||||
| 心动瞬间 | C7 暖粉 | C2 活力橙 + C9 米白 | 中对比,主色突出 | 羞涩、靠近感、暧昧 |
|
||||
| 办公/学习 | C1 明快蓝 | C3 纯净白 + C5 高级灰 | 高对比,理性 | 高效、冷静、专业 |
|
||||
| 浪漫场景 | C7 暖粉 | C2 活力橙 + C8 浅黄 | 高对比,浪漫 | 甜蜜、温暖、情感 |
|
||||
| 夜晚场景 | C6 淡紫 | C1 明快蓝 + C2 活力橙 | 冷为主,暖点缀 | 静谧、神秘、思考 |
|
||||
| 回忆/闪回 | C8 浅黄 | C5 高级灰 + C7 暖粉 | 低对比,柔和 | 怀旧、旧忆、梦幻 |
|
||||
| 离别感伤 | C5 高级灰 | C1 明快蓝 + C6 淡紫 | 高对比,冷调 | 距离感、克制、静压 |
|
||||
| 重逢释怀 | C9 米白 | C7 暖粉 + C2 活力橙 | 先冷后暖,渐进 | 回温、释然、治愈 |
|
||||
|
||||
### 情绪色盘使用规则
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| E1 | 每条提示词至少指定 1 个「情绪场景」并绑定主色+辅色组合 |
|
||||
| E2 | 单镜头主色不超过 2 个,避免颜色叙事失焦 |
|
||||
| E3 | 情绪切换时优先调整色相较色温,再调整饱和度 |
|
||||
| E4 | 治愈向默认遵循「暖底 + 冷暖对比」:暖色铺底,冷色用于背景/次要元素 |
|
||||
| E5 | 若与剧情冲突,以情绪色盘优先于通用推荐色,但不得突破严禁项 |
|
||||
|
||||
### 色温约束
|
||||
|
||||
| 参数 | 值 | 说明 |
|
||||
|---|---|---|
|
||||
| 整体色温 | 中性 5500-6500K(推荐) | 简约现代主基调 |
|
||||
| 肤色色温 | 微暖 5800-6200K(推荐) | 米白但有生命感 |
|
||||
| 对比度 | 中等偏高(建议保持) | 色块对比清晰,但不过分强烈 |
|
||||
| 饱和度 | 中高 70-90%(建议区间) | 扁平风格高级色调 |
|
||||
|
||||
### 容差与例外
|
||||
|
||||
| 项目 | 建议容差 |
|
||||
|---|---|
|
||||
| 色相偏移 | ±8° |
|
||||
| 饱和度偏移 | ±10% |
|
||||
| 明度偏移 | ±12% |
|
||||
|
||||
> 例外场景:浪漫、高潮、情绪转换镜头可使用更暖或更高饱和局部色块;但禁止高饱和荧光色与现代色彩语言入镜。
|
||||
|
||||
---
|
||||
|
||||
## 三、全局约束规则
|
||||
|
||||
### 必守规则(所有技能继承)
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 必须包含「2D扁平风 + Flat Design」风格锚定词 |
|
||||
| R2 | 必须声明「无阴影无渐变 + 纯色色块」 |
|
||||
| R3 | 面部必须使用「几何造型 + 简洁线条」 |
|
||||
| R4 | 轮廓线必须使用「清晰线条 + 均匀一致」 |
|
||||
| R5 | 色彩必须声明「纯色填充 + 色块对比清晰」 |
|
||||
|
||||
### 严禁项(所有技能继承)
|
||||
|
||||
| 编号 | 严禁内容 |
|
||||
|---|---|
|
||||
| X1 | 严禁「3D渲染/写实渲染/照片级真实感」 |
|
||||
| X2 | 严禁「阴影/渐变/纹理/光影」 |
|
||||
| X3 | 严禁「高饱和荧光色/霓虹色」 |
|
||||
| X4 | 严禁「面部变形/比例失调/肢体异常」倾向词 |
|
||||
| X5 | 严禁「复杂细节/精细纹理/写实背景」 |
|
||||
| X6 | 严禁「3D透视/深度感描述」 |
|
||||
34
data/skills/art_skills/2D_mature_urban_romance/README.md
Normal file
@ -0,0 +1,34 @@
|
||||
# 成熟都市言情二次元动画风格说明
|
||||
|
||||
本风格专为**成熟都市言情二次元动画**题材打造,所有美术提示词、规范和生成内容均严格限定于:
|
||||
|
||||
- **二次元动画风格**:所有角色、场景、道具均以二次元动画为标准,强调赛璐璐上色、清晰线条、戏剧化低调光影。
|
||||
- **现代都市言情背景**:现代都市生活场景,涵盖公寓、办公室、咖啡厅、城市街道等,杜绝古风/奇幻元素。
|
||||
- **电影级构图**:画面构图强调电影感,景深虚化、镜头光学特征、空气透视。
|
||||
- **低饱和冷色调**:整体色调偏冷,暖色仅作点缀,突出清冷与温柔并存的甜宠氛围。
|
||||
|
||||
## 适用范围
|
||||
|
||||
- 成熟都市言情题材的AI美术生成(角色、场景、道具、分镜等)
|
||||
- 现代小说改编动画风格的视觉创作
|
||||
- 需要清晰线条、赛璐璐上色、电影级构图的视觉创作
|
||||
|
||||
## 严禁内容
|
||||
|
||||
- 真人写实/摄影/3D渲染风格
|
||||
- 高饱和荧光色/霓虹色
|
||||
- 古风/奇幻/科幻等现代元素以外的风格
|
||||
- 暗示性、暴露、透视等不适宜内容
|
||||
|
||||
## 风格体验
|
||||
|
||||
在本风格下,您将体验到:
|
||||
|
||||
- 角色面容精致、气质清冷或温润,服饰、妆容、发型均为现代都市二次元风格
|
||||
- 场景空间层次丰富,材质纹理超清晰,氛围真实且富有诗意
|
||||
- 道具、装饰、配饰等均为现代都市造型,工艺精细,质感极致
|
||||
- 分镜与视频均以二次元动画为基础,强调叙事与情感表达
|
||||
|
||||
---
|
||||
|
||||
本风格仅适用于"成熟都市言情二次元动画"相关项目。如需其他风格(如真人写实、古风、奇幻等),请勿使用本套提示词。
|
||||
@ -0,0 +1,212 @@
|
||||
# 二次元人物基础形象生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、基础形象原则
|
||||
|
||||
1. **面容即灵魂** — 五官是角色唯一锚点,精细度适配动画风格
|
||||
2. **底模即基础** — 基础打底服装 + 素颜,后续服化均为叠加层(女性:吊带背心 + 四角短裤;男性:四角短裤)
|
||||
3. **四视图一致** — 面容/体型/发型/基础服装跨视图高度统一
|
||||
4. **情感传达** — 无妆状态仍需体现角色气质(清冷/温柔/妩媚/冷峻)
|
||||
|
||||
---
|
||||
|
||||
## 二、面容约束
|
||||
|
||||
### 女性面容
|
||||
|
||||
| 部位 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 脸型 | 标准鹅蛋脸、线条流畅、下颌线清晰 | 鹅蛋脸、脸型流畅 |
|
||||
| 眼型 | 大而明亮、眼角微挑、双眼皮明显 | 大眼、凤眼微挑、双眼皮 |
|
||||
| 眉型 | 自然眉形、眉色浅棕/黑(裸眉) | 自然眉形、裸眉 |
|
||||
| 鼻型 | 小巧挺直、鼻翼窄 | 小鼻、鼻梁精致 |
|
||||
| 唇型 | 薄唇或适中、唇色自然裸粉 | 薄唇、唇色裸粉 |
|
||||
| 气质 | 清冷、五官精致、素颜无妆 | 面容精致、五官立体、素颜 |
|
||||
|
||||
### 男性面容
|
||||
|
||||
| 部位 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 脸型 | 棱角分明、下颌线清晰、颧骨微显 | 棱角分明、下颌线硬朗 |
|
||||
| 眼型 | 细长或标准、眼神深邃克制 | 细眼、眼神清冽 |
|
||||
| 鼻型 | 高挺英挺、鼻梁笔直 | 高鼻英挺 |
|
||||
| 唇型 | 薄唇微抿、唇色自然 | 薄唇、唇色自然 |
|
||||
| 气质 | 清冷疏离 / 温润如玉 | 清冷俊逸 / 温润如玉、素颜 |
|
||||
|
||||
---
|
||||
|
||||
## 三、肤感约束
|
||||
|
||||
### 女性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 肤色 | 冷白皮、全身均匀、白得通透 | 冷白皮、白皙肌肤 |
|
||||
| 光泽 | 柔和光感、非哑光非油光 | 肌肤柔光、肌肤细腻 |
|
||||
| 质感 | 细腻光滑、赛璐璐质感 | 皮肤细腻、肌肤质感 |
|
||||
| 露肤 | 面部/颈部/锁骨/手部 | 肩颈线条优美、肌肤白皙 |
|
||||
|
||||
### 男性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 肤色 | 白皙透亮、带健康感、全身均匀 | 肤色白皙、健康肤色 |
|
||||
| 光泽 | 清爽光感、自然光泽 | 肌肤清爽、皮肤透亮 |
|
||||
| 质感 | 干净利落、赛璐璐光泽 | 皮肤质感细腻、面容清冽 |
|
||||
|
||||
---
|
||||
|
||||
## 四、体型约束
|
||||
|
||||
### 女性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 身高 | 由角色设定指定,默认范围 160-170cm,身高通过头身比换算体现 | `{身高}cm tall`、`{身高描述如:tall slender woman}` |
|
||||
| 头身比 | 六头半至七头半,头身比 = 身高 ÷ 头长,严格约束全身比例 | `6.5-7.5 heads tall proportion`、身材修长 |
|
||||
| 肩颈 | 纤细肩线、锁骨清晰可见 | 纤细肩线、锁骨清晰 |
|
||||
| 手部 | 纤长白皙、指节分明、五指正常 | 纤纤玉手、指节分明 |
|
||||
| 体态 | 现代都市女性、自然体态 | 体态自然、身姿优雅 |
|
||||
|
||||
### 男性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 身高 | 由角色设定指定,默认范围 175-185cm,身高通过头身比换算体现 | `{身高}cm tall`、`{身高描述如:tall imposing man}` |
|
||||
| 头身比 | 七头至八头,头身比 = 身高 ÷ 头长,严格约束全身比例 | `7-8 heads tall proportion`、身材高挑 |
|
||||
| 肩颈 | 肩部宽阔、颈部有力 | 宽肩窄腰 |
|
||||
| 手部 | 骨节分明、手掌宽大、五指正常 | 手指骨节分明 |
|
||||
| 体态 | 现代都市男性、自然体态 | 身姿挺拔、体态从容 |
|
||||
|
||||
### 身高 - 头身比换算参考
|
||||
|
||||
| 身高(cm) | 头身比 | 头长(cm) | 适用描述 |
|
||||
|---|---|---|---|
|
||||
| 155-160 | 6.5-7.0 | ~22cm | 娇小玲珑 |
|
||||
| 160-165 | 7.0-7.5 | ~22cm | 纤细修长 |
|
||||
| 165-170 | 7.0-7.5 | ~22cm | 高挑优雅(女性默认) |
|
||||
| 170-175 | 7.5-8.0 | ~22cm | 修长挺拔 |
|
||||
| 175-180 | 7.5-8.0 | ~22cm | 高大英挺(男性默认) |
|
||||
| 180-185 | 8.0 | ~22.5cm | 伟岸挺拔 |
|
||||
| 185-190 | 8.0-8.5 | ~22cm | 高大威猛 |
|
||||
|
||||
---
|
||||
|
||||
## 五、基础发型约束
|
||||
|
||||
> 仅定义自然散发/简单束发,发饰在服化衍生环节叠加。
|
||||
|
||||
### 女性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 发色 | 纯黑、深蓝或深棕,禁挑染 | 黑色长发、深色长发 |
|
||||
| 发长 | 及肩、及腰或更长 | 及肩长发、及腰长发 |
|
||||
| 发质 | 层次分明、线条清晰 | 发丝层次分明、发丝细腻渲染 |
|
||||
| 造型 | 自然散发、中分/偏分、无发饰 | 长发自然散落、柔顺长发 |
|
||||
|
||||
### 男性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 发色 | 纯黑或深棕 | 黑发、深色短发/中发 |
|
||||
| 发长 | 短发至中长发 | 短发、中长发 |
|
||||
| 发质 | 层次分明、质感清晰 | 发丝层次分明、发丝细腻渲染 |
|
||||
| 造型 | 自然散发或简单侧分、无发冠 | 头发自然散落、侧分发型 |
|
||||
|
||||
---
|
||||
|
||||
## 六、基础服装约束
|
||||
|
||||
> 基础服装无特殊约束,女性为吊带背心和四角短裤,男性为四角短裤。正式服饰在服化衍生环节叠加。
|
||||
|
||||
### 女性基础服装
|
||||
|
||||
> 吊带背心和四角短裤,颜色以基础色为主,无花纹装饰。
|
||||
|
||||
### 男性基础服装
|
||||
|
||||
> 四角短裤,颜色以基础色为主,无花纹装饰。
|
||||
|
||||
### 着装统一规则
|
||||
|
||||
- 服装风格统一,确保后续服饰叠加无色彩干扰
|
||||
- 除面部/手部/颈部外基本覆盖
|
||||
- 四视图服装款式完全一致
|
||||
- 基础服装仅为安全打底,焦点在面容与体态
|
||||
|
||||
---
|
||||
|
||||
## 七、四视图设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
| 位置 | 视图 | 角度 | 景别 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|---|
|
||||
| 左一 | 人像特写 | 正面平视 | 头顶至锁骨 | 从头顶到锁骨完整展示不裁切,面部占60%+,五官清晰 | `portrait closeup`、`face detail`、`head to collarbone complete`、`no crop` |
|
||||
| 左二 | 正视图 | 正面 0° | 全身立像 | 面对镜头、双臂自然、从头顶到脚底完整展示 | `front view`、`full body head to toe`、`height mark` |
|
||||
| 右二 | 侧视图 | 右侧 90° | 全身立像 | 纯侧面轮廓清晰、从头顶到脚底完整展示 | `side view`、`profile`、`full body head to toe`、`height mark` |
|
||||
| 右一 | 后视图 | 后方 180° | 全身立像 | 后脑/背部/发尾/脚部清晰、从头顶到脚底完整展示 | `back view`、`rear view`、`full body head to toe`、`height mark` |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面从左至右并排四视图 |
|
||||
| 背景 | 纯净中性灰 `#E8E8E8` |
|
||||
| 站姿 | 自然站立、双脚平行微分、双臂自然下垂或微展 |
|
||||
| 全身展示 | 全身立像必须从头顶到脚底完整入画,严禁裁切头顶或脚部 |
|
||||
| 特写展示 | 人像特写必须从头顶到锁骨完整入画,严禁裁切头顶,头发、额头、下巴均需完整 |
|
||||
| 表情 | 中性微表情,符合角色气质 |
|
||||
| 光线 | 均匀柔光,前方主光 + 双侧补光,无硬阴影 |
|
||||
| 一致性 | 四视图的肤色/体型/发型/面容/基础服装完全一致 |
|
||||
| 画面比例 | 建议 4:1 或 3:1 |
|
||||
|
||||
---
|
||||
|
||||
## 八、提示词模板
|
||||
|
||||
{性别}角色四视图设定图,二次元动画风格,赛璐璐上色,现代都市风格,强对比度,极致细节,
|
||||
character design sheet,character turnaround,
|
||||
{脸型},{眼型},{鼻型},{唇型},{整体气质},素颜无妆,
|
||||
{肤色},肌肤柔光,皮肤细腻,赛璐璐质感,
|
||||
{身高描述,如:170cm tall、tall slender woman},{头身比,如:7 heads tall proportion},{身材描述},{体态描述},
|
||||
{发色}{发长},发丝层次分明,{基础造型},无发饰,
|
||||
(女性:吊带背心和四角短裤 / 男性:仅四角短裤),基础色,无花纹装饰,
|
||||
同一画面左至右并排:人像特写+正视图+侧视图+后视图,
|
||||
人像特写从头顶到锁骨完整展示,不裁切头顶,head to collarbone complete,
|
||||
全身立像从头顶到脚底完整展示,full body head to toe,不裁切头顶和脚部,
|
||||
自然站立,纯净中性灰背景,均匀柔光,无硬阴影,
|
||||
四视图一致性,面容细腻渲染,发丝细腻渲染
|
||||
图中不要有任何文字
|
||||
|
||||
---
|
||||
|
||||
## 九、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 必须为「素颜无妆」状态 |
|
||||
| R2 | 必须声明基础服装(女性:吊带背心+四角短裤;男性:四角短裤) |
|
||||
| R3 | 必须声明「无发饰、无配饰」 |
|
||||
| R4 | 必须指定「纯净中性灰背景」 |
|
||||
| R5 | 必须指定「四视图一致性」 |
|
||||
| R6 | 全身立像必须从头顶到脚底完整展示,严禁裁切 |
|
||||
| R7 | 必须声明角色身高并通过头身比换算约束全身比例(女性默认160-170cm/6.5-7.5头身,男性默认175-185cm/7-8头身) |
|
||||
| R8 | 人像特写必须从头顶到锁骨完整展示,严禁裁切头顶 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 基础服装以外的任何服装/配饰/妆容 |
|
||||
| X2 | 正顶硬光/正底光/彩色光 |
|
||||
| X3 | 过度美白至无血色 / 肤色发灰 |
|
||||
| X4 | 复杂场景背景(必须纯灰底) |
|
||||
| X5 | 夸张表情/动态姿势 |
|
||||
| X6 | 全身立像裁切头顶或脚底,必须从头到脚完整入画 |
|
||||
| X7 | 人像特写裁切头顶,必须从头顶到锁骨完整入画 |
|
||||
| X8 | 忽略身高和头身比约束,身高必须明确声明并通过头身比换算体现全身比例 |
|
||||
@ -0,0 +1,308 @@
|
||||
# 二次元人物衍生资产生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、叠加原则
|
||||
|
||||
1. **面容不变** — 叠加后五官必须与底模完全一致,禁止面容偏移
|
||||
2. **姿态不变** — 保持底模自然站立姿态,禁止任何姿态/动作/体态变化
|
||||
3. **逐层可控** — 每层独立描述,便于按层替换(换装不换妆)
|
||||
4. **风格统一** — 所有服化元素服从同一美学体系
|
||||
5. **质感不降** — 叠加后质感标准不低于底模
|
||||
6. **纯服化范畴** — 仅叠加妆容/发型/服饰/配饰,禁止引入道具、场景、环境、动作
|
||||
|
||||
---
|
||||
|
||||
## 二、叠加层级
|
||||
|
||||
| 层级 | 内容 | 说明 |
|
||||
|---|---|---|
|
||||
| L0 | 底模 | 基础形象底模,不修改 |
|
||||
| L1 | 妆容(决策层) | 先分析用户线索,再决策「基础妆 / 轻妆 / 正式妆」强度 |
|
||||
| L2 | 发型造型 | 发髻/束发/编发 + 发饰 |
|
||||
| L3 | 中衣/内搭 | 替换白色基础中衣 |
|
||||
| L4 | 外衣/主服 | 现代都市服装(衬衫/外套/连衣裙等) |
|
||||
| L5 | 配饰 | 首饰/手表/眼镜/包袋等 |
|
||||
|
||||
> **范畴边界**:人物衍生资产仅包含 L0–L5 层级(服化妆造),不包含道具(手机/书本/雨伞/咖啡杯等手持物)、场景环境(室内/室外/天气等)、姿态动作(行走/回眸/举手等)。这些属于其他资产类型的范畴。
|
||||
|
||||
---
|
||||
|
||||
## 三、妆容约束(L1)
|
||||
|
||||
### 底模到衍生妆造策略(关键)
|
||||
|
||||
> 角色底模虽为素颜,但衍生资产默认进入妆造流程。系统应根据用户提供的线索分析妆造需求,并在基础妆、轻妆、正式妆之间决策强度,而不是保持素颜。
|
||||
|
||||
### L1 线索分析与妆容决策
|
||||
|
||||
| 步骤 | 处理内容 | 决策结果 |
|
||||
|---|---|---|
|
||||
| S1 | 提取用户线索:面部状态词、情绪词、强度词 | 形成妆容需求摘要 |
|
||||
| S2 | 过滤非妆容线索:道具/场景/动作/姿态词不作为上妆依据 | 防止误判 |
|
||||
| S3 | 匹配妆容风格矩阵并给出强度档 | 基础妆 / 轻妆 / 正式妆 |
|
||||
| S4 | 生成最终 L1 提示词 | 只输出结论,不输出分析过程 |
|
||||
|
||||
### 线索到妆容映射(执行口径)
|
||||
|
||||
| 线索类型 | 典型线索 | L1 决策 |
|
||||
|---|---|---|
|
||||
| 无明显面部强调线索 | 仅服饰/发型变化,未强调情绪与状态 | 基础妆 |
|
||||
| 轻微面部线索 | 柔和、含笑、睫毛轻颤、气色微提 | 轻妆(极淡) |
|
||||
| 明确病弱线索 | 面色苍白、唇色极淡、眼下微红 | 病弱梨妆(轻妆) |
|
||||
| 明确正式仪式线索 | 盛装、典礼、正式场合 | 正式妆(受控) |
|
||||
|
||||
> 判定原则:所有衍生资产都要有妆造;先看面部线索决定强度与风格,道具、场景、姿态变化不得单独抬高妆容强度。
|
||||
|
||||
### 女性妆容风格矩阵
|
||||
|
||||
| 风格 | 适用场景 | 核心提示词 |
|
||||
|---|---|---|
|
||||
| 清雅素妆 | 日常、初遇、职场 | 妆容清雅、淡扫蛾眉、素妆清颜 |
|
||||
| 冷艳霜妆 | 正式、对峙、商务 | 妆容冷艳、眉眼锋利、薄唇冷冽 |
|
||||
| 柔媚桃妆 | 甜宠、暧昧、约会 | 桃花妆、眼尾微红、唇色水润 |
|
||||
| 病弱梨妆 | 受伤、虚弱 | 面色苍白、唇色极淡、眼下微红 |
|
||||
| 华贵晚宴妆 | 派对、宴会 | 浓妆华美、朱唇亮眼 |
|
||||
|
||||
### 通用底肤(所有妆容共享)
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 质感 | 赛璐璐质感、平滑细腻 | 赛璐璐肌理、平滑肌肤 |
|
||||
| 白度 | 冷白皮、通透不惨白 | 冷白皮、白皙肌肤 |
|
||||
| 内透光 | 从内向外柔光感 | 内透光感、肌肤通透 |
|
||||
| 禁止 | 哑光/死白/蜡感/油光/过曝 | — |
|
||||
|
||||
### 基础妆细化(默认档)
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 眉部 | 顺着底模眉形轻修,不改变眉型 | 自然修眉、眉形干净 |
|
||||
| 眼部 | 极淡眼部修饰,强调清透与有神 | 眼部清透、极淡内眼线 |
|
||||
| 面颊 | 极淡气色提亮,不可明显堆色 | 面颊气色自然、微弱提气色 |
|
||||
| 唇部 | 裸粉或浅粉润色,保持克制 | 唇色自然润泽、浅粉唇色 |
|
||||
| 整体 | 看得出有妆造,但妆感非常轻 | 基础妆、伪素颜妆感、自然 |
|
||||
|
||||
### 男性妆容
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 底肤 | 赛璐璐质感、清爽自然 | 赛璐璐肌理、清爽肌肤 |
|
||||
| 原则 | 伪素颜——看着没化妆但皮肤极好 | 伪素颜、天生好皮 |
|
||||
| 眉毛 | 自然浓眉、不画眉 | 自然眉形、眉形英挺 |
|
||||
| 唇色 | 自然血色、微润 | 唇色自然、血色感 |
|
||||
|
||||
---
|
||||
|
||||
## 四、发型造型约束(L2)
|
||||
|
||||
### 女性造型类型
|
||||
|
||||
| 造型 | 描述 | 适用 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 自然披发 | 长发自然垂落 | 日常、职场 | 自然披发、柔顺长发 |
|
||||
| 半扎发 | 顶部半扎、下方垂发 | 日常、通勤 | 半扎发、半束发 |
|
||||
| 马尾 | 高马尾/低马尾 | 运动、休闲 | 高马尾、低马尾 |
|
||||
| 盘发 | 优雅盘发 | 正式场合 | 优雅盘发、盘发 |
|
||||
| 双马尾 | 少女双马尾 | 活泼场景 | 双马尾、少女发型 |
|
||||
| 全束发 | 发髻/丸子头 | 居家、休闲 | 丸子头、发髻 |
|
||||
|
||||
### 女性发饰
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 风格 | 简约精致,与服饰配套 | 简约发饰、精致发夹 |
|
||||
| 材质 | 金属/珠光/布艺 | 金属发夹、珠光发饰 |
|
||||
| 工艺 | 精致工艺、清晰细节 | 工艺精致、细节清晰 |
|
||||
|
||||
### 男性造型类型
|
||||
|
||||
| 造型 | 适用 | 提示词 |
|
||||
|---|---|---|
|
||||
| 侧分短发 | 日常、商务 | 侧分短发、商务发型 |
|
||||
| 凌乱中发 | 休闲、文艺 | 凌乱中发、文艺发型 |
|
||||
| 利落短发 | 运动、干练 | 利落短发、清爽发型 |
|
||||
| 中长发 | 正式、文艺 | 中长发、文艺发型 |
|
||||
|
||||
---
|
||||
|
||||
## 五、服饰约束(L3+L4)
|
||||
|
||||
### 女性服饰矩阵
|
||||
|
||||
| 风格 | 款式 | 适用 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 商务正装 | 西装套裙/衬衫+西裤 | 职场、正式 | 商务正装、职业套装 |
|
||||
| 休闲日常 | T恤+牛仔裤/连衣裙 | 日常、休闲 | 休闲装、日常服装 |
|
||||
| 约会装扮 | 连衣裙/半身裙 | 约会、约会场合 | 约会装、漂亮裙子 |
|
||||
| 运动休闲 | 运动服/卫衣/运动裤 | 运动、休闲 | 运动装、休闲运动 |
|
||||
| 晚礼服 | 正式晚礼服 | 派对、晚宴 | 晚礼服、正式礼服 |
|
||||
|
||||
### 女性服饰通用约束
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 主色 | 柔和色系为主,低饱和 | 柔和色调、低饱和色 |
|
||||
| 材质 | 现代面料质感、纹理清晰 | 现代面料、纹理清晰 |
|
||||
| 质感 | 衣物布料质感清晰 | 衣物质感清晰、布料纹理 |
|
||||
| 层次 | 服装层次分明、搭配合理 | 服装层次清晰、搭配得当 |
|
||||
|
||||
### 男性服饰矩阵
|
||||
|
||||
| 风格 | 适用 | 提示词 |
|
||||
|---|---|---|
|
||||
| 商务正装 | 衬衫/西装/休闲西装 | 商务正装、西装套装 |
|
||||
| 休闲日常 | 休闲衬衫/T恤+休闲裤 | 休闲装、日常服装 |
|
||||
| 运动休闲 | 运动服/卫衣/运动裤 | 运动装、休闲运动 |
|
||||
| 正式礼服 | 正装礼服、西装 | 正式礼服、西装礼服 |
|
||||
| 居家便装 | 家居服、休闲装 | 家居服、休闲服装 |
|
||||
|
||||
---
|
||||
|
||||
## 六、配饰约束(L5)
|
||||
|
||||
### 女性配饰
|
||||
|
||||
| 类型 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 首饰 | 简约精致、不过分夸张 | 简约首饰、精致耳饰 |
|
||||
| 手表 | 精致手表、时尚腕表 | 时尚手表、精致腕表 |
|
||||
| 包袋 | 单肩包/手提包、质感清晰 | 手提包、质感包袋 |
|
||||
| 眼镜 | 时尚眼镜/墨镜(可选) | 时尚眼镜、精致墨镜 |
|
||||
| 腰带 | 精致腰带、细节清晰 | 精致腰带、时尚腰带 |
|
||||
|
||||
### 男性配饰
|
||||
|
||||
| 类型 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 手表 | 时尚手表、质感清晰 | 时尚手表、精致腕表 |
|
||||
| 眼镜 | 时尚眼镜/墨镜(可选) | 时尚眼镜、精致墨镜 |
|
||||
| 腰带 | 精致腰带、细节清晰 | 精致腰带、时尚腰带 |
|
||||
| 领带 | 领带/领结(正式场合) | 时尚领带、精致领结 |
|
||||
|
||||
---
|
||||
|
||||
## 七、服化组合速查
|
||||
|
||||
| 场景 | 妆容 | 发型 | 服饰 | 配饰 |
|
||||
|---|---|---|---|---|
|
||||
| 职场通勤 | 清雅素妆 | 半扎发/盘发 | 商务正装 | 简约首饰/手表 |
|
||||
| 初次约会 | 柔媚桃妆 | 自然披发 | 约会装扮 | 精致首饰/包袋 |
|
||||
| 日常休闲 | 基础妆 | 马尾/自然披发 | 休闲日常 | 简约配饰 |
|
||||
| 正式场合 | 冷艳霜妆 | 盘发/半扎 | 商务正装/晚礼服 | 精致首饰/手表 |
|
||||
| 运动休闲 | 基础妆(极淡) | 高马尾/利落短发 | 运动休闲 | 运动手表/运动配件 |
|
||||
| 派对聚会 | 正式妆 | 优雅盘发/披发 | 晚礼服/时尚装 | 精致首饰/精致配饰 |
|
||||
| 居家休闲 | 素颜/基础妆 | 丸子头/自然披发 | 居家便装 | 无或少配饰 |
|
||||
|
||||
---
|
||||
|
||||
> **🔍 未覆盖场景推断规则**
|
||||
>
|
||||
> 当用户描述的场景/情境不在上表时,根据本风格核心基因自行推断:
|
||||
>
|
||||
> | 推断维度 | 二次元都市言情基因 |
|
||||
> |---|---|
|
||||
> | 妆容强度 | 默认清雅素妆;有张力/对峙/职权词→冷艳霜妆;甜宠/暧昧/心动→柔媚桃妆;虚弱/受伤→病弱梨妆;晚宴/派对→华贵晚宴妆 |
|
||||
> | 发型 | 职场/通勤→半扎发或盘发;日常/恋爱→自然披发;运动/行动→高马尾;正式场合→优雅盘发 |
|
||||
> | 服饰 | 现代都市场景优先;情感强度越高→服饰精致度越高;张力场景→商务正装/冷色系 |
|
||||
> | 配饰繁度 | 日常→简约;约会→精致首饰+包袋;正式/晚宴→精致首饰+手表;运动→简或无 |
|
||||
> | 色调倾向 | 冷白皮+低饱和都市配色;暧昧场景→暖粉调;对峙/张力→冷灰+黑白对比 |
|
||||
|
||||
## 八、四视图设定图规范
|
||||
|
||||
> 衍生服化叠加后仍需输出四视图设定图,确保服化妆造在各角度的一致性。
|
||||
|
||||
### 视图定义
|
||||
|
||||
| 位置 | 视图 | 角度 | 景别 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|---|
|
||||
| 左一 | 人像特写 | 正面平视 | 面部至锁骨 | 面部占60%+,五官/妆容清晰 | `portrait closeup`、`face detail`、`makeup detail` |
|
||||
| 左二 | 正视图 | 正面 0° | 全身立像 | 面对镜头、服饰正面全貌 | `front view`、`height mark` |
|
||||
| 右二 | 侧视图 | 右侧 90° | 全身立像 | 纯侧面轮廓、服饰侧面层次 | `side view`、`profile`、`height mark` |
|
||||
| 右一 | 后视图 | 后方 180° | 全身立像 | 后脑发饰/背部服饰/发尾清晰 | `back view`、`rear view`、`height mark` |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面从左至右并排四视图 |
|
||||
| 背景 | 纯净中性灰 `#E8E8E8` |
|
||||
| 站姿 | 自然站立、双脚平行微分、双臂自然下垂或微展(**禁止任何姿态变化**) |
|
||||
| 表情 | 符合妆容风格的微表情(如清雅素妆→淡然、桃妆→含笑),仅限面部微表情,不涉及肢体动作 |
|
||||
| 光线 | 均匀柔光,前方主光 + 双侧补光,无硬阴影 |
|
||||
| 一致性 | 四视图的面容/妆容/发型/发饰/服饰/配饰完全一致 |
|
||||
| 画面比例 | 建议 4:1 或 3:1 |
|
||||
|
||||
---
|
||||
|
||||
## 九、提示词模板
|
||||
|
||||
### 输出格式约束
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 输出内容 | **仅输出提示词文本**,不输出任何其他内容 |
|
||||
| 禁止输出 | 速查表、分层构建方案、视觉约束表、禁止事项表、衍生方案、输出建议、核心要素表等一切非提示词内容 |
|
||||
| 禁止场景 | 人物衍生资产**不包含场景/环境描述**,不输出任何场景/环境/天气/背景叙事内容(场景属于场景资产范畴) |
|
||||
| 禁止道具 | **不包含任何道具交互**,不输出手机/书本/雨伞/咖啡杯等手持物或交互物(道具属于道具资产范畴) |
|
||||
| 禁止姿态变化 | **不改变底模姿态**,不输出行走/回眸/举手/侧身/奔跑等任何动作或体态变化,保持自然站立 |
|
||||
| 格式 | 直接输出可用的提示词代码块,无需标题、表格、解释、方案对比 |
|
||||
|
||||
### 完整服化叠加(四视图)
|
||||
|
||||
以角色基础形象图为底图,img2img叠加服化妆造,
|
||||
二次元{性别}角色四视图设定图,赛璐璐上色,现代都市风格,强对比度,极致细节,8K,超保真
|
||||
character design sheet,character turnaround,
|
||||
保持基础形象面容不变,{整体气质},
|
||||
【L1·妆容】根据用户线索决策:{基础妆/轻妆/正式妆};使用 {妆容风格},肌肤柔光,{眉妆},{眼妆},{唇妆},
|
||||
【L2·发型】{造型类型},发丝层次分明,{发饰描述},
|
||||
【L3+L4·服饰】{主色}{款式},{材质},{装饰工艺},衣服质感清晰,纹理超清晰,
|
||||
【L5·配饰】{头饰},{耳饰},{手表},{包袋},
|
||||
同一画面左至右并排:人像特写+正视图+侧视图+后视图,
|
||||
自然站立,纯净中性灰背景,均匀柔光,无硬阴影,
|
||||
四视图一致性,面容细腻渲染,发丝细腻渲染,纹理细节超清晰
|
||||
图中不要有任何文字
|
||||
|
||||
---
|
||||
|
||||
## 十、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 叠加后面容必须与底模一致 |
|
||||
| R2 | 服饰必须用「衣服质感清晰 + 纹理超清晰」 |
|
||||
| R3 | 女性配饰必须「简约精致 + 工艺清晰」 |
|
||||
| R4 | 妆容/发型/服饰/配饰风格统一 |
|
||||
| R5 | 必须输出四视图设定图(人像特写+正视图+侧视图+后视图) |
|
||||
| R6 | 必须指定「纯净中性灰背景」 |
|
||||
| R7 | 必须指定「四视图一致性」 |
|
||||
| R8 | **仅输出提示词**——禁止输出速查表/分层方案/视觉约束/禁止事项/衍生方案/输出建议等任何非提示词内容 |
|
||||
| R9 | **禁止包含场景描述**——人物衍生资产不涉及场景/环境/天气/背景叙事,场景属于独立资产类型 |
|
||||
| R10 | **禁止道具交互**——不包含任何手持物/交互物(手机/书本/雨伞/咖啡杯等),道具属于独立资产类型 |
|
||||
| R11 | **姿态保持不变**——必须保持底模自然站立姿态,禁止任何动作/体态/姿势变化 |
|
||||
| R12 | **L1 必须先分析再决策**——先解析用户面部线索,再确定基础妆/轻妆/正式妆 |
|
||||
| R13 | **所有衍生资产均需妆造**——正常情况不保持素颜,至少使用基础妆 |
|
||||
| R14 | **上妆强度受控**——即使上妆也需克制,不得出现夸张彩妆效果 |
|
||||
| R15 | **道具/场景/动作不作强度升级依据**——仅凭道具,环境,动作等信息不得把基础妆抬高为更强妆容 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 叠加后面容偏移 |
|
||||
| X2 | 配饰过于简单/夸张 |
|
||||
| X3 | 妆容/服饰风格互相冲突 |
|
||||
| X4 | 复杂场景背景(必须纯灰底) |
|
||||
| X5 | 四视图间服化妆造不一致 |
|
||||
| X6 | 输出提示词以外的任何内容(表格/方案/建议/解释/变体等) |
|
||||
| X7 | 在人物衍生资产中加入场景描述(现代室内/室外/天气等环境元素) |
|
||||
| X8 | 输出「核心要素速查」「分层构建方案」「视觉约束」「禁止事项」「衍生方案」等章节 |
|
||||
| X9 | 加入任何道具交互(手持手机/书本/雨伞/咖啡杯等物品) |
|
||||
| X10 | 改变底模姿态(行走/回眸/举手/侧身/奔跑/低头/仰望等动作描述) |
|
||||
| X11 | 加入表情与姿态联动描述(如「侧身45°行走嘴角浅弯」等叙事性描写) |
|
||||
| X12 | 未分析用户线索就直接套用固定妆容 |
|
||||
| X13 | 错误保持素颜,导致衍生资产缺少应有妆造 |
|
||||
| X14 | 仅因道具/场景/动作词而误把妆容升级,导致妆造强度决策错误 |
|
||||
|
||||
@ -0,0 +1,138 @@
|
||||
# 二次元道具图像生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、道具设计原则
|
||||
|
||||
1. **功能可读** — 道具用途一目了然,造型服务于功能
|
||||
2. **质感极致** — 材质纹理必须清晰可辨(金属/塑料/木材/玻璃/布料)
|
||||
3. **风格统一** — 所有道具必须符合现代都市言情世界观,无违和元素
|
||||
4. **尺度明确** — 通过参照物或标注暗示道具真实尺寸
|
||||
5. **纯道具独立展示** — 画面中只能出现道具本身,严禁出现任何人物、手部、肢体,道具不可处于被持有/佩戴/握持状态,必须以静物陈列方式独立呈现
|
||||
|
||||
---
|
||||
|
||||
## 二、道具分类与美学约束
|
||||
|
||||
### 2.1 办公用品类
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 笔/笔记本/文件夹/眼镜 | 办公{类型},现代办公用品 |
|
||||
| 材质 | 金属/塑料/皮革/纸张 | 金属笔夹、皮革笔记本 |
|
||||
| 装饰 | 简约设计、品牌标识(可选) | 简约设计、精致品牌标识 |
|
||||
| 光泽 | 哑光/微光/金属反光 | 哑光质感、金属反光 |
|
||||
| 提示词 | 现代{道具},简约设计,质感清晰 | — |
|
||||
|
||||
### 2.2 饮品器具类
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 咖啡杯/玻璃杯/保温杯 | 咖啡杯,玻璃杯,保温杯 |
|
||||
| 材质 | 玻璃/陶瓷/金属/塑料 | 透明玻璃杯、陶瓷咖啡杯 |
|
||||
| 装饰 | 品牌标识/图案(可选) | 简约品牌标识、无图案 |
|
||||
| 光泽 | 玻璃反光、陶瓷釉光、金属光泽 | 玻璃反光清晰、陶瓷温润 |
|
||||
| 提示词 | 现代{道具},材质清晰,赛璐璐质感 | — |
|
||||
|
||||
### 2.3 个人物品类
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 手机/手表/眼镜/钥匙 | 现代{道具},个人物品 |
|
||||
| 材质 | 金属/玻璃/塑料/皮革 | 玻璃屏幕、金属边框 |
|
||||
| 装饰 | 简约设计、品牌标识(可选) | 简约设计、精致标识 |
|
||||
| 光泽 | 玻璃反光、金属光泽 | 玻璃清晰反光、金属质感 |
|
||||
| 提示词 | 现代{道具},材质清晰,细节精致 | — |
|
||||
|
||||
### 2.4 生活器物类
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 书卷/装饰画/香薰/台灯 | 现代{道具},生活器物 |
|
||||
| 材质 | 木材/玻璃/金属/布料 | 木质书套、玻璃灯罩 |
|
||||
| 质感 | 材质纹理清晰、边缘自然 | 木纹清晰、玻璃通透 |
|
||||
| 风格 | 简约现代/温馨居家 | 简约现代、温馨居家 |
|
||||
| 提示词 | 现代{道具},材质清晰,氛围协调 | — |
|
||||
|
||||
---
|
||||
|
||||
## 三、多角度设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
| 位置 | 视图 | 角度 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|
|
||||
| 左上 | 正面图 | 正面 0° | 道具完整正面形态 | front view |
|
||||
| 右上 | 侧面图 | 侧面 90° | 厚度/轮廓/结构清晰 | side view |
|
||||
| 左下 | 背面图 | 背面 180° | 道具背部结构/装饰 | back view |
|
||||
| 右下 | 细节特写 | 局部放大 | 材质纹理/工艺细节 | detail closeup |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面四宫格(2×2),上下左右四视角 |
|
||||
| 背景 | 纯净中性灰 `#E8E8E8` |
|
||||
| 光线 | 均匀柔光,无硬阴影 |
|
||||
| 比例 | 每格道具占格内主体 70%+ |
|
||||
| 投影 | 允许自然地面微投影 |
|
||||
| 画面比例 | 建议 1:1 |
|
||||
|
||||
---
|
||||
|
||||
## 四、材质渲染约束
|
||||
|
||||
| 材质 | 渲染要求 | 提示词 |
|
||||
|---|---|---|
|
||||
| 金属 | 反光/高光/光泽、划痕微可见 | 金属质感、反光清晰、划痕微可见 |
|
||||
| 玻璃 | 通透、反光、折射效果 | 玻璃通透、反光清晰、折射自然 |
|
||||
| 木材 | 木纹清晰、年轮可见 | 木纹清晰、质感自然 |
|
||||
| 陶瓷 | 釉面光泽、色泽均匀 | 釉面光滑、色泽均匀 |
|
||||
| 塑料 | 哑光/微光、边缘清晰 | 塑料质感、边缘清晰 |
|
||||
| 布料 | 纤维质感、边缘自然 | 布料纹理、纤维自然 |
|
||||
| 皮革 | 纹理清晰、光泽柔和 | 皮革纹理、光泽自然 |
|
||||
|
||||
---
|
||||
|
||||
## 五、提示词模板
|
||||
|
||||
二次元道具设定图,
|
||||
anime style,cel shading,modern urban style,
|
||||
cinematic composition,ultra detailed,8K,high quality,
|
||||
shallow depth of field,画面颗粒感,镜头暗角,
|
||||
赛璐璐动画风格,现代都市风,戏剧化低调光影,
|
||||
prop design sheet,item concept art,no people,no characters,no human figures,
|
||||
{道具类型},{材质描述},{工艺/装饰描述},{状态描述},
|
||||
纯道具静物展示,道具独立陈列,无人持有,无人佩戴,
|
||||
同一画面四宫格(2×2):左上正面图+右上侧面图+左下背面图+右下细节特写,
|
||||
纯净中性灰背景,均匀柔光,无硬阴影,
|
||||
材质纹理超清晰,赛璐璐质感,{材质光泽描述}
|
||||
图中不要有任何文字,
|
||||
画面中不能出现任何人物、手部、手指、肢体,道具不可处于被握持或佩戴状态
|
||||
|
||||
---
|
||||
|
||||
## 六、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 必须指定「纯净中性灰背景」 |
|
||||
| R2 | 必须明确道具材质与工艺 |
|
||||
| R3 | 道具造型必须符合现代都市言情世界观 |
|
||||
| R4 | 必须包含「二次元动画风格」关键词(anime style / cel shading) |
|
||||
| R5 | 必须包含景深特征(shallow depth of field / vignette 至少一项),保持动画赛璐璐风格 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 复杂场景背景 |
|
||||
| X2 | 道具与人物同画面(本环节为纯道具图) |
|
||||
| X3 | 出现任何人物形象,包括全身、半身、局部(手、手指、手臂等肢体) |
|
||||
| X4 | 道具处于被持有、握持、佩戴、使用中的状态 |
|
||||
| X5 | 出现暗示人物存在的元素(如手持痕迹、佩戴视角、使用姿态) |
|
||||
| X6 | 使用真人写实/摄影/3D渲染相关词 |
|
||||
| X7 | 高饱和荧光色/霓虹色 |
|
||||
| X8 | 古风/奇幻/科幻等与现代都市言情世界观冲突的元素 |
|
||||
@ -0,0 +1,125 @@
|
||||
# 二次元道具衍生状态生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、衍生原则
|
||||
|
||||
1. **造型锚定** — 道具核心造型/轮廓在所有状态中可识别
|
||||
2. **状态可读** — 状态差异必须一目了然,观众能立即区分
|
||||
3. **叙事服务** — 每种状态变体服务于特定剧情节点
|
||||
4. **渐进退化** — 损伤/老化状态应有合理的物理逻辑
|
||||
5. **纯道具独立展示** — 画面中只能出现道具本身,严禁出现任何人物、手部、肢体,道具不可处于被持有/佩戴/握持状态,必须以静物陈列方式独立呈现
|
||||
|
||||
---
|
||||
|
||||
## 二、状态类型
|
||||
|
||||
### 2.1 使用状态
|
||||
|
||||
| 状态 | 描述 | 适用道具 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 崭新 | 完好无损、光泽如新 | 所有道具 | 崭新、完好无损、光泽如新 |
|
||||
| 日常使用 | 微磨损、自然包浆 | 办公用品/器具/个人物品 | 日常使用痕迹、自然磨损 |
|
||||
| 陈旧 | 明显年代感、色泽暗淡 | 生活器物/个人物品 | 古旧斑驳、年代感、色泽暗沉 |
|
||||
|
||||
### 2.2 损伤状态
|
||||
|
||||
| 状态 | 描述 | 适用道具 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 微损 | 小裂纹/小缺口/轻微磨损 | 玻璃杯/手机屏幕/笔记本 | 细微裂纹、轻微缺口 |
|
||||
| 破损 | 明显裂缝/断裂/破碎 | 玻璃/陶瓷/塑料 | 裂缝明显、碎裂、断裂 |
|
||||
| 残片 | 仅剩部分/碎片 | 玻璃/陶瓷/信物 | 残片、碎片、仅存半块 |
|
||||
|
||||
### 2.3 特殊状态
|
||||
|
||||
| 状态 | 描述 | 适用道具 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 污渍 | 污渍附着/液体残留 | 杯子/衣物/纸张 | 污渍残留、液体痕迹 |
|
||||
| 指纹 | 手指印、使用痕迹 | 手机屏幕/玻璃杯/金属表面 | 指纹清晰、使用痕迹 |
|
||||
| 磨损 | 边角磨损、掉漆 | 电子设备/家具/饰品 | 边角磨损、掉漆痕迹 |
|
||||
| 折叠 | 书卷/纸张折叠痕迹 | 书本/纸张/信物 | 折叠痕迹、折痕明显 |
|
||||
| 水渍 | 水渍、湿润反光 | 纸张/衣物/布料 | 水渍残留、湿润反光 |
|
||||
|
||||
---
|
||||
|
||||
## 三、状态变体画面规范
|
||||
|
||||
### 单状态图
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 背景 | 纯净中性灰 `#E8E8E8`(与设定图一致) |
|
||||
| 光线 | 均匀照明,无硬阴影 |
|
||||
| 角度 | 与原设定图正面图一致 |
|
||||
| 比例 | 道具占画面主体 70%+ |
|
||||
|
||||
### 状态对比图
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面并排展示 2-3 种状态 |
|
||||
| 标注 | 每种状态下方标注状态名 |
|
||||
| 一致性 | 角度/光线/背景完全一致,仅状态不同 |
|
||||
|
||||
---
|
||||
|
||||
## 四、材质状态变化规则
|
||||
|
||||
| 材质 | 崭新 → 日常 | 日常 → 陈旧 | 损伤表现 |
|
||||
|---|---|---|---|
|
||||
| 金属 | 亮光泽 → 微划痕 | 划痕 → 氧化斑点 | 缺口/卷边/断裂 |
|
||||
| 玻璃 | 通透清晰 → 微划痕 | 划痕 → 裂纹/碎裂 | 裂纹/碎裂/缺口 |
|
||||
| 木材 | 新木纹理 → 自然包浆 | 包浆 → 色泽暗沉 | 开裂/虫蛀/磨损 |
|
||||
| 塑料 | 崭新平整 → 微划痕 | 划痕 → 老化变色 | 裂纹/变形/褪色 |
|
||||
| 纸张 | 崭新平整 → 微折痕 | 折痕 → 发黄变脆 | 撕裂/焦损/污渍 |
|
||||
| 陶瓷 | 釉面光泽 → 微划痕 | 划痕 → 釉面暗淡 | 裂纹/碎裂/缺口 |
|
||||
|
||||
---
|
||||
|
||||
## 五、提示词模板
|
||||
|
||||
### 单状态变体
|
||||
|
||||
基于{道具名}设定图,
|
||||
anime style,cel shading,modern urban style,
|
||||
cinematic composition,ultra detailed,8K,high quality,
|
||||
shallow depth of field,画面颗粒感,镜头暗角,
|
||||
赛璐璐动画风格,现代都市风,戏剧化低调光影,
|
||||
prop derivative design sheet,item concept art,no people,no characters,no human figures,
|
||||
{道具类型},{材质描述},
|
||||
当前状态:{状态名},{状态视觉描述},
|
||||
{材质表面变化描述},
|
||||
纯道具静物展示,道具独立陈列,无人持有,无人佩戴,
|
||||
同一画面四宫格(2×2):左上正面图(front view)+右上侧面图(side view)+左下背面图(back view)+右下细节特写(detail closeup),
|
||||
纯净中性灰背景,均匀柔光,无硬阴影,
|
||||
材质纹理超清晰,赛璐璐质感,状态细节可辨
|
||||
图中不要有任何文字,
|
||||
画面中不能出现任何人物、手部、手指、肢体,道具不可处于被握持或佩戴状态
|
||||
|
||||
---
|
||||
|
||||
## 六、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 道具核心造型/轮廓在所有状态中可识别 |
|
||||
| R2 | 状态变化须符合物理逻辑 |
|
||||
| R3 | 必须使用四宫格(2×2)布局:左上正面图+右上侧面图+左下背面图+右下细节特写 |
|
||||
| R4 | 必须指定「纯净中性灰背景」,均匀柔光,无硬阴影 |
|
||||
| R5 | 必须包含「二次元动画风格」关键词(anime style / cel shading) |
|
||||
| R6 | 必须包含景深特征(shallow depth of field / vignette 至少一项),保持动画赛璐璐风格 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 状态变化后道具不可识别 |
|
||||
| X2 | 违反物理逻辑的损伤(金属生锈等不符合材质的变化) |
|
||||
| X3 | 过度血腥/恐怖的损伤描绘 |
|
||||
| X4 | 出现任何人物形象,包括全身、半身、局部(手、手指、手臂等肢体) |
|
||||
| X5 | 道具处于被持有、握持、佩戴、使用中的状态 |
|
||||
| X6 | 出现暗示人物存在的元素(如手持痕迹、佩戴视角、使用姿态) |
|
||||
| X7 | 使用真人写实/摄影/3D渲染相关词 |
|
||||
| X8 | 高饱和荧光色/霓虹色 |
|
||||
@ -0,0 +1,157 @@
|
||||
# 二次元场景图生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、场景美学原则
|
||||
|
||||
1. **空间叙事** — 场景承载情绪与叙事功能,不是纯背景板
|
||||
2. **层次纵深** — 所有场景必须具备前/中/后景,杜绝扁平
|
||||
3. **质感至上** — 现代材质纹理必须超清晰(玻璃/金属/木材/布料/墙面)
|
||||
4. **赛璐璐为锚** — 所有画面以二次元动画风格为标准,强调清晰线条与赛璐璐上色
|
||||
5. **戏剧化低调光影** — 光影服务于情绪,保持低饱和冷色调基调
|
||||
|
||||
---
|
||||
|
||||
## 二、季节色调映射
|
||||
|
||||
| 季节 | 主色调 | 辅色调 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 春 | 青绿 + 淡粉 | 浅蓝、鹅黄 | 春意青翠、樱花粉嫩 |
|
||||
| 夏 | 碧绿 + 蔚蓝 | 天青、雪白 | 夏木葱郁、蓝天如洗 |
|
||||
| 秋 | 橙黄 + 棕红 | 赭石、金黄 | 秋叶金黄、枫红似火 |
|
||||
| 冬 | 素白 + 冷蓝 | 灰白、淡蓝 | 冬日清冷、雪花皑皑 |
|
||||
|
||||
---
|
||||
|
||||
## 三、室内场景
|
||||
|
||||
### 空间规范
|
||||
|
||||
| 维度 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 风格 | 现代都市家居/办公室/咖啡厅/公寓 | 现代{场景类型}风格 |
|
||||
| 材质 | 现代材质为主、玻璃/金属/木材/布艺为辅 | 现代材质、玻璃反光、木质纹理 |
|
||||
| 色调 | 低饱和冷色调为主、暖色点缀 | 冷色调为主、暖光点缀 |
|
||||
| 纵深 | 前/中/后景层次 | 前景{元素}、中景{元素}、后景{元素} |
|
||||
| 质感 | 玻璃/金属/木材/布料质感清晰 | 材质清晰、质感细腻 |
|
||||
| 光照 | 自然光/人造光、光影层次分明 | 自然光、光影层次、室内光 |
|
||||
| 镜头感 | 电影级构图、浅景深虚化、镜头光学特征 | `shallow depth of field`、`film grain` |
|
||||
| 瑕疵感 | 现代使用痕迹、生活气息 | 生活气息、使用痕迹 |
|
||||
|
||||
### 室内类型速查
|
||||
|
||||
| 类型 | 核心元素 | 氛围词 |
|
||||
|---|---|---|
|
||||
| 现代公寓 | 沙发/电视/床/厨房 | 温馨居家、生活气息 |
|
||||
| 商务办公室 | 办公桌/电脑/文件/书架 | 专业干练、职场氛围 |
|
||||
| 咖啡厅 | 桌椅/咖啡杯/吧台/窗户 | 轻松惬意、都市休闲 |
|
||||
| 学校教室 | 课桌/黑板/书架/黑板 | 青春校园、学习气息 |
|
||||
| 酒店房间 | 床/浴室/电视/床头柜 | 舒适现代、酒店氛围 |
|
||||
|
||||
---
|
||||
|
||||
## 四、室外场景
|
||||
|
||||
### 空间规范
|
||||
|
||||
| 维度 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 城市街道/公园/校园/商业区 | {场景},{季节},{时间} |
|
||||
| 天候 | 晴/阴/薄雾/细雨/降雪 | 薄雾弥漫、细雨如丝 |
|
||||
| 植被 | 树木/花草/草坪(须符合季节) | 绿树成荫、花开烂漫 |
|
||||
| 水体 | 水池/喷泉/河流需有光影反射 | 水面波光、倒影清晰 |
|
||||
| 建筑 | 现代建筑/玻璃幕墙/砖墙 | 现代都市、建筑线条 |
|
||||
| 空气感 | 必须有空气透视,远处偏灰偏蓝 | 远山如黛、空气透视 |
|
||||
| 光照 | 自然光/人造光、戏剧化低调光影 | 自然光照、体积光、戏剧光影 |
|
||||
| 镜头感 | 电影级构图、浅景深虚化、动画镜头特征 | `shallow depth of field`、`vignette`、`anime cinematic` |
|
||||
| 瑕疵感 | 城市使用痕迹、岁月痕迹 | 城市痕迹、生活气息 |
|
||||
|
||||
### 室外类型速查
|
||||
|
||||
| 类型 | 核心元素 | 氛围词 |
|
||||
|---|---|---|
|
||||
| 城市街道 | 路灯/斑马线/建筑/车辆 | 都市生活、街道气息 |
|
||||
| 公园绿地 | 树木/长椅/草坪/小径 | 休闲放松、自然气息 |
|
||||
| 商业区 | 商店/广告牌/行人/街道 | 繁华都市、商业氛围 |
|
||||
| 校园场景 | 教学楼/操场/树木/长椅 | 青春校园、学习气息 |
|
||||
| 天台/阳台 | 栏杆/城市景观/植物 | 开阔视野、都市视角 |
|
||||
| 地铁站/公交站 | 站台/列车/行人/标识 | 通勤生活、都市节奏 |
|
||||
|
||||
---
|
||||
|
||||
## 五、四视图设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
> 摄像机固定于场景中心点,分别朝前/后/左/右四个方向拍摄,形成 360° 环视。
|
||||
|
||||
| 位置 | 视图 | 视角方向 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|
|
||||
| 左上 | 前视图 | 从中心点向前方平视(0°) | 展示场景正面主体结构与纵深层次 | `front view`、`eye level`、`looking forward` |
|
||||
| 右上 | 右视图 | 从中心点向右方平视(90°) | 展示场景右侧空间延伸与侧面结构 | `right side view`、`eye level`、`looking right` |
|
||||
| 左下 | 后视图 | 从中心点向后方平视(180°) | 展示场景背面结构与空间纵深 | `back view`、`eye level`、`looking backward` |
|
||||
| 右下 | 左视图 | 从中心点向左方平视(270°) | 展示场景左侧空间延伸与侧面结构 | `left side view`、`eye level`、`looking left` |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面 2×2 网格排列:上排(前视图 + 右视图),下排(后视图 + 左视图),形成从中心点环视的四方向视图 |
|
||||
| 人物 | **严禁出现任何人物、人影、人体轮廓** |
|
||||
| 视点 | 四视图均从同一中心点出发,视线高度一致(人眼平视高度) |
|
||||
| 一致性 | 四视图的建筑结构/材质/色调/光线/季节/天候完全一致 |
|
||||
| 光线 | 四视图光源方向统一,保持光影逻辑一致(光源在不同视角下的位置关系正确) |
|
||||
| 画面比例 | 建议 1:1(2×2 网格) |
|
||||
|
||||
---
|
||||
|
||||
## 六、提示词模板
|
||||
|
||||
二次元场景四视图设定图,
|
||||
anime style,cel shading,modern urban style,
|
||||
cinematic composition,dramatic low-key lighting,
|
||||
ultra detailed,8K,high quality,
|
||||
shallow depth of field,画面颗粒感,镜头暗角,
|
||||
赛璐璐动画风格,电影级构图,戏剧化低调光影,
|
||||
scene design sheet,environment concept art,no people,no characters,no human figures,
|
||||
{室内/室外},{场景类型},{现代风格},{季节+时间},
|
||||
前景:{元素},中景:{元素},后景:{元素},
|
||||
{色调描述},{天候/氛围元素},
|
||||
{材质描述},空气透视,纹理细节超清晰,
|
||||
材质现代使用痕迹,生活气息,自然磨损,
|
||||
自然光/人造光、戏剧化光影,低饱和冷色调,
|
||||
同一画面2×2网格排列:从场景中心点环视,前视图+右视图+后视图+左视图,
|
||||
四视图均从同一中心点平视拍摄,建筑结构一致,材质色调一致,光影逻辑一致,
|
||||
画面中无任何人物
|
||||
图中不要有任何文字
|
||||
|
||||
---
|
||||
|
||||
## 七、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 场景必须有「前中后景层次」 |
|
||||
| R2 | 室外必须包含「空气透视」 |
|
||||
| R3 | 场景图必须为「四视图设定图」(从中心点环视:前视图 + 右视图 + 后视图 + 左视图) |
|
||||
| R4 | 四视图的建筑结构/材质/色调/光线/季节/天候必须完全一致 |
|
||||
| R5 | 场景图中**严禁出现任何人物** |
|
||||
| R6 | 必须包含「二次元动画风格」关键词(anime style / cel shading) |
|
||||
| R7 | 必须包含景深特征(shallow depth of field / vignette 至少一项),保持动画赛璐璐风格 |
|
||||
| R8 | 材质必须带有现代使用痕迹/生活气息,禁止全新无瑕的"3D渲染感" |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 背景纯白/纯黑/无场景 |
|
||||
| X2 | 极端天候(暴风雨/雷电/暴雪,除非剧情需要) |
|
||||
| X3 | 场景无纵深/无层次 |
|
||||
| X4 | 植被/天候与季节矛盾 |
|
||||
| X5 | 出现任何人物、人影、人体剪影或人体轮廓 |
|
||||
| X6 | 四视图之间建筑结构/材质/色调不一致,或视点中心不统一 |
|
||||
| X7 | 3D渲染/CG动画/游戏引擎质感(禁用 3D render、CGI、Unreal Engine、Unity 等词) |
|
||||
| X8 | 材质过于干净完美、无任何使用痕迹与岁月感(避免"塑料感") |
|
||||
| X9 | 光照过于均匀平坦、无景深虚化、无镜头光学特征 |
|
||||
@ -0,0 +1,163 @@
|
||||
# 场景衍生资产生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、衍生原则
|
||||
|
||||
1. **空间一致** — 建筑结构/布局/材质在所有变体中保持一致
|
||||
2. **景别驱动** — 同一场景通过不同景别展示不同叙事功能
|
||||
3. **时段切换** — 同一空间在不同时间段呈现不同光影氛围
|
||||
4. **天候变化** — 同一空间在不同天气下呈现不同情绪
|
||||
5. **赛璐璐为锚** — 所有变体必须保持二次元动画风格,保持清晰线条与赛璐璐上色
|
||||
|
||||
---
|
||||
|
||||
## 二、景别变体
|
||||
|
||||
### 景别定义
|
||||
|
||||
| 景别 | 范围 | 叙事功能 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 大全景 | 场景全貌 + 周围环境 | 建立空间感、定位 | `extreme wide shot`、大全景 |
|
||||
| 全景 | 场景完整呈现 | 展示空间结构 | `wide shot`、全景 |
|
||||
| 中景 | 场景局部区域 | 聚焦功能区 | `medium shot`、中景 |
|
||||
| 近景 | 场景细部 | 材质/氛围道具特写 | `close shot`、近景 |
|
||||
| 特写 | 极局部细节 | 材质纹理/关键道具 | `extreme closeup`、特写 |
|
||||
|
||||
### 景别衍生规范
|
||||
|
||||
| 从基准图衍生 | 保持不变 | 允许变化 |
|
||||
|---|---|---|
|
||||
| 大全景 → 全景 | 建筑外观、整体布局 | 视角收窄、前景增加 |
|
||||
| 全景 → 中景 | 材质、色调、光线 | 裁切聚焦、景深变化 |
|
||||
| 中景 → 近景 | 材质、色调 | 景深浅、背景虚化 |
|
||||
| 近景 → 特写 | 材质纹理 | 极浅景深、微距感 |
|
||||
|
||||
---
|
||||
|
||||
## 三、时段变体
|
||||
|
||||
### 时段定义
|
||||
|
||||
| 时段 | 视觉特征 | 提示词 |
|
||||
|---|---|---|
|
||||
| 清晨 | 冷白光调、薄雾感 | 晨光微熹、清晨薄雾 |
|
||||
| 正午 | 明亮、阴影短、色彩鲜明 | 正午阳光、光线明亮 |
|
||||
| 黄昏 | 金色调、长影、天空渐变 | 暮色金辉、golden hour |
|
||||
| 夜间(月光) | 冷蓝色调、幽静清冷 | 月光清辉、moonlight |
|
||||
| 夜间(灯火) | 暖黄点缀、明暗对比 | 灯火阑珊、灯光氛围 |
|
||||
|
||||
### 时段衍生规范
|
||||
|
||||
| 从基准时段衍生 | 保持不变 | 变化项 |
|
||||
|---|---|---|
|
||||
| 日间 → 黄昏 | 建筑/布局/材质 | 天空色调暖化、影子拉长 |
|
||||
| 日间 → 夜间 | 建筑/布局/材质 | 整体变暗、增加灯火/月色氛围 |
|
||||
| 室内日间 → 室内夜间 | 空间结构、家具 | 整体色调暖化、增加室内灯光 |
|
||||
|
||||
---
|
||||
|
||||
## 四、天候变体
|
||||
|
||||
### 天候定义
|
||||
|
||||
| 天候 | 视觉特征 | 提示词 |
|
||||
|---|---|---|
|
||||
| 晴天 | 明亮、阴影清晰 | 晴空万里、阳光明媚 |
|
||||
| 阴天 | 光线均匀、无硬影 | 阴天柔光、overcast |
|
||||
| 薄雾 | 能见度降低、空气朦胧 | 薄雾弥漫、雾气缭绕 |
|
||||
| 细雨 | 水珠、湿润反光、雨丝 | 细雨如丝、雨幕轻纱 |
|
||||
| 飞雪 | 白色覆盖、雪花飘落 | 飞雪纷纷、银装素裹 |
|
||||
|
||||
### 天候衍生规范
|
||||
|
||||
| 从基准天候衍生 | 保持不变 | 变化项 |
|
||||
|---|---|---|
|
||||
| 晴 → 薄雾 | 建筑/布局 | 增加雾气层、远景模糊、饱和度降低 |
|
||||
| 晴 → 细雨 | 建筑/布局 | 增加雨丝、地面反光、色调偏冷 |
|
||||
| 晴 → 飞雪 | 建筑/布局 | 增加积雪、雪花、色调偏白 |
|
||||
| 植被需随天候逻辑适配 | — | 雨中花瓣湿润、雪中枯枝挂霜 |
|
||||
|
||||
---
|
||||
|
||||
## 五、四视图设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
> 摄像机固定于场景中心点,分别朝前/后/左/右四个方向拍摄,形成 360° 环视。
|
||||
|
||||
| 位置 | 视图 | 视角方向 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|
|
||||
| 左上 | 前视图 | 从中心点向前方平视(0°) | 展示场景正面主体结构与纵深层次 | `front view`、`eye level`、`looking forward` |
|
||||
| 右上 | 右视图 | 从中心点向右方平视(90°) | 展示场景右侧空间延伸与侧面结构 | `right side view`、`eye level`、`looking right` |
|
||||
| 左下 | 后视图 | 从中心点向后方平视(180°) | 展示场景背面结构与空间纵深 | `back view`、`eye level`、`looking backward` |
|
||||
| 右下 | 左视图 | 从中心点向左方平视(270°) | 展示场景左侧空间延伸与侧面结构 | `left side view`、`eye level`、`looking left` |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面四宫格(2×2),左上前视图+右上右视图+左下后视图+右下左视图,形成从中心点环视的四方向视图 |
|
||||
| 人物 | **严禁出现任何人物、人影、人体轮廓** |
|
||||
| 视点 | 四视图均从同一中心点出发,视线高度一致(人眼平视高度) |
|
||||
| 一致性 | 四视图的建筑结构/材质/色调/光线/季节/天候完全一致 |
|
||||
| 光线 | 四视图光源方向统一,保持光影逻辑一致(光源在不同视角下的位置关系正确) |
|
||||
| 画面比例 | 建议 1:1(2×2 网格) |
|
||||
|
||||
---
|
||||
|
||||
## 六、提示词模板
|
||||
|
||||
二次元场景衍生四视图设定图,基于{场景名}概念图,
|
||||
anime style,cel shading,modern urban style,
|
||||
cinematic composition,dramatic low-key lighting,
|
||||
ultra detailed,8K,high quality,
|
||||
shallow depth of field,画面颗粒感,镜头暗角,
|
||||
赛璐璐动画风格,电影级构图,戏剧化低调光影,
|
||||
scene derivative design sheet,environment concept art,no people,no characters,no human figures,
|
||||
保持场景空间结构一致,
|
||||
{景别视角(如有)},{时段描述(如有)},{天候描述(如有)},
|
||||
{前景},{中景},{后景},
|
||||
{色调描述},{景深描述(如有)},{天空色调变化(如有)},{氛围调整(如有)},
|
||||
{天候视觉特征(如有)},{材质表面变化(如有)},{植被适配描述(如有)},
|
||||
材质现代使用痕迹,生活气息,自然磨损,
|
||||
自然光/人造光、戏剧化光影,低饱和冷色调,
|
||||
空气透视,纹理细节超清晰,
|
||||
同一画面四宫格(2×2):从场景中心点环视,前视图+右视图+后视图+左视图,
|
||||
四视图均从同一中心点平视拍摄,建筑结构一致,材质色调一致,光影逻辑一致,
|
||||
画面中无任何人物
|
||||
图中不要有任何文字
|
||||
|
||||
> **使用说明**:根据用户提供的信息自行判断需要应用的变化维度(景别/时段/天候),未提及的维度对应字段留空省略即可。无需为每种变体单独生成模板。
|
||||
|
||||
---
|
||||
|
||||
## 七、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 场景空间结构在所有变体中保持一致 |
|
||||
| R2 | 时段变体必须调整天空色调与氛围 |
|
||||
| R3 | 天候变体必须适配植被/材质表面 |
|
||||
| R4 | 必须为「四视图设定图」(从中心点环视:前视图 + 右视图 + 后视图 + 左视图) |
|
||||
| R5 | 四视图的建筑结构/材质/色调/光线/季节/天候必须完全一致 |
|
||||
| R6 | 场景图中**严禁出现任何人物** |
|
||||
| R7 | 根据用户提供的信息自行判断变化维度,无需拆分为独立模板 |
|
||||
| R8 | 必须包含「二次元动画风格」关键词(anime style / cel shading) |
|
||||
| R9 | 必须包含景深特征(shallow depth of field / vignette 至少一项),保持动画赛璐璐风格 |
|
||||
| R10 | 材质必须带有现代使用痕迹/生活气息,禁止全新无瑕的"3D渲染感" |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 变体间建筑结构/布局不一致 |
|
||||
| X2 | 天候与季节矛盾(夏天飞雪等) |
|
||||
| X3 | 变体间材质/风格突变 |
|
||||
| X4 | 出现任何人物、人影、人体剪影或人体轮廓 |
|
||||
| X5 | 四视图之间建筑结构/材质/色调不一致,或视点中心不统一 |
|
||||
| X6 | 3D渲染/CG动画/游戏引擎质感(禁用 3D render、CGI、Unreal Engine、Unity 等词) |
|
||||
| X7 | 材质过于干净完美、无任何使用痕迹与岁月感(避免"塑料感") |
|
||||
| X8 | 光照过于均匀平坦、无景深虚化、无镜头光学特征 |
|
||||
@ -0,0 +1,11 @@
|
||||
# 视频提示词 · 视觉风格约束
|
||||
|
||||
生成视频提示词时,必须注入以下视觉风格标签:
|
||||
|
||||
| 模式 | 风格标签 |
|
||||
|------|----------|
|
||||
| **通用多参模式(英文)** | `mature urban romance anime, cel-shaded, cinematic lighting, cool tones, dramatic low-key shadows, clean line art` |
|
||||
| **通用首尾帧模式(英文)** | `mature urban romance anime, cel-shaded, cinematic lighting, cool tones, dramatic low-key shadows, clean line art, shallow depth of field` |
|
||||
| **Seedance 2.0(中文)** | `成熟都市言情动画,赛璐璐上色,电影级光影,冷色调,戏剧化低调光影,清晰线条` |
|
||||
|
||||
|
||||
@ -0,0 +1,90 @@
|
||||
---
|
||||
name: director_planning_style
|
||||
description: 都市言情约束 — 定义成熟都市言情二次元动画在色调体系、光影方案、质感方向、场景空间元素、配乐选择与环境音上的全局约束。适用于任何叙事类型。
|
||||
metaData: director_skills
|
||||
---
|
||||
|
||||
# 都市言情约束 · 成熟都市言情二次元动画 · 技法参考
|
||||
|
||||
---
|
||||
|
||||
## 一、色调体系与画面基调
|
||||
|
||||
- **色调基底** — 全片以冷白肤(C1)、浅蓝(C3)、青灰(C6)为基底色,整体色温偏冷(5800-7000K),饱和度中低(30-50%),呈现清冷克制的高级灰调
|
||||
- **冷暖叙事对比** — 暖色(琥珀暖 C7、烟霞粉 C5)作为叙事转折的视觉信号,用于情感回暖与暧昧升温段落的局部点缀。冷暖切换应与故事弧线同步,而非随意混用
|
||||
- **冷暖分配策略** — 分离/压抑/冷漠段落严格维持冷色调基底(青灰 C6 + 浅蓝 C3),禁用琥珀暖、烟霞粉等暖色调;暖色仅在情感回暖后释放,用冷暖对比做叙事转折
|
||||
- **色盘先行原则** — 段落规划需先绑定情绪场景(初见心动/暧昧升温/守护承诺/分离误会/重逢释怀/夜宴灯会等),再确定主色+辅色与光影方案,避免"剧情对了但情绪不对色"
|
||||
- **禁用色域** — 高饱和荧光色、霓虹色、现代数码色彩体系均与本风格不兼容
|
||||
|
||||
---
|
||||
|
||||
## 二、光影方案体系
|
||||
|
||||
- **光影即叙事** — 7 套光影方案对应不同情绪段落,导演规划阶段应在段落层面确定光影基调方向,而非逐镜指定
|
||||
- **赛璐璐光影特征** — 清晰的明暗分界线、戏剧化低调光影为核心手段;光影必须服务于情绪叙事,保持二次元动画的赛璐璐上色风格
|
||||
|
||||
| 光影方案 | 方案名 | 色调倾向 | 适用情绪 |
|
||||
|---|---|---|---|
|
||||
| A | 柔光侧逆 | 冷白底 + 局部暖光轮廓勾勒 | 心动悸动、温柔深情、日常温馨 |
|
||||
| B | 硬侧高反差 | 墨黑 C4 + 银灰 C8 硬光分割 | 对峙压迫、愤怒冷峻、紧张对抗 |
|
||||
| C | 漫射冷光 | 青灰 C6 + 浅蓝 C3 低调打光 | 压抑悲伤、分离误会、孤独寂寥 |
|
||||
| D | 散射暖光 | 琥珀暖 C7 + 烟霞粉 C5 局部 | 暧昧升温、重逢释怀、亲密甜蜜 |
|
||||
| E | 窗光自然 | 素白 C10 + 浅蓝 C3 侧光斑驳 | 室内日间、日常起居、职场通勤 |
|
||||
| F | 夜景灯火 | 琥珀暖 C7 点缀 + 青灰 C6 暗部 | 夜宴灯会、城市夜景、浪漫流光 |
|
||||
| G | 月光冷蓝 | 浅蓝 C3 + 银灰 C8 冷光 | 夜间孤寂、思念独处、冷漠疏离 |
|
||||
|
||||
- **冷暖光分配** — 暖色光(琥珀暖 C7)适用于情感回暖、暧昧亲密段落;冷色光(青灰 C6 + 浅蓝 C3)适用于分离、压抑、冷漠段落。导演可根据叙事需要调整冷暖切换点
|
||||
- **氛围方向映射** — 每场戏的氛围方向应能映射到上述光影方案(A-G)的某一方向,确保视觉一致性
|
||||
|
||||
---
|
||||
|
||||
## 三、质感方向
|
||||
|
||||
- **赛璐璐为锚** — 成熟都市言情二次元动画的核心:清晰线条、赛璐璐上色、戏剧化低调光影,呈现电影级二次元动画画面
|
||||
- **面容与皮肤** — 面容细腻渲染、皮肤细腻、五官精致;女性冷白肤(C1)通透不惨白,男性暖白肤(C2)清爽自然。肌肤保持赛璐璐质感的平滑细腻
|
||||
- **服饰材质** — 衣物布料质感清晰、纹理细节超清晰、布料折痕真实、衣物随动态飘逸。现代都市服饰(西装/衬衫/连衣裙/大衣)的面料质感须可信
|
||||
- **场景材质** — 场景材质纹理清晰、空气透视、现代使用痕迹、生活气息。玻璃反光、金属光泽、木质纹理、布艺垂感均需在赛璐璐风格下清晰呈现
|
||||
- **赛璐璐不等于扁平** — 成熟都市言情二次元动画强调在赛璐璐上色基础上叠加电影级光影与景深虚化,通过构图与情绪设计放大感染力,而非依赖写实堆砌
|
||||
|
||||
---
|
||||
|
||||
## 四、都市场景空间元素
|
||||
|
||||
现代都市世界观特有的场景元素及其视觉叙事功能:
|
||||
|
||||
- **落地窗/玻璃隔断/门框** — 天然的框架式构图道具,制造"看不透"的层次感与空间纵深。玻璃的反光与透射是画面亮点
|
||||
- **城市天际线/街道/公园** — 留白构图的天然载体,景即情:繁华街景 = 孤独中的喧嚣、雨中独坐长椅 = 孤寂、落叶飘过街道 = 离愁
|
||||
- **灯光/窗光/屏幕光** — 现代都市的光源载体,室内暖灯 = 暖/私密(方案D)、城市夜景 = 冷暖交织(方案F)、自然窗光 = 日常/静谧(方案E)
|
||||
- **段落间用场景空镜过渡** — 本风格有丰富的场景资产(不同时段/天候变体),段落衔接建议用场景空镜做情绪缓冲,不要硬切。城市天际线、窗外雨景、空荡的咖啡厅均可作为过渡空镜
|
||||
- **转折点用视觉而非台词** — 优先使用画面手段(光影突变、景别跳切、空镜隐喻)而非依赖对白解释
|
||||
|
||||
---
|
||||
|
||||
## 五、都市配乐与环境音
|
||||
|
||||
现代都市言情世界观下的声音元素约束:
|
||||
|
||||
### 配乐乐器选择
|
||||
|
||||
- **钢琴** — 核心乐器,适用范围最广:独奏用于孤寂/思念/回忆段落,轻快触键用于日常/心动段落
|
||||
- **弦乐(小提琴/大提琴/弦乐组)** — 情感铺底与升华,大提琴低沉适合压抑/隐忍,小提琴高音适合心动/悸动,弦乐组适合情绪高潮
|
||||
- **吉他(原声/电吉他)** — 原声吉他用于日常温馨/轻松休闲段落,电吉他清音用于都市夜景/微醺氛围
|
||||
- **电子氛围音** — 低频电子pad用于城市空镜/孤独段落的氛围铺底,增加现代都市的空间感
|
||||
- **长笛/单簧管** — 轻柔段落的点缀,不作主导,用于清晨/公园/日常的氛围衬托
|
||||
|
||||
### 配乐组合策略
|
||||
|
||||
| 情绪阶段 | 乐器组合 |
|
||||
|---|---|
|
||||
| 平稳/开场/收尾 | 钢琴独奏 或 钢琴 + 轻弦乐 |
|
||||
| 心动/悸动 | 钢琴 + 小提琴 |
|
||||
| 暧昧升温/亲密 | 原声吉他 + 轻钢琴 + 弦乐铺底 |
|
||||
| 压抑/悲伤/分离 | 大提琴独奏 或 大提琴 + 钢琴 |
|
||||
| 情绪爆发/重逢/高潮 | 弦乐组全奏 + 钢琴 |
|
||||
| 都市夜景/孤独 | 电子氛围音 + 钢琴 |
|
||||
| 日常温馨/休闲 | 原声吉他 + 长笛 + 轻打击乐 |
|
||||
|
||||
### 都市环境音
|
||||
|
||||
- **典型环境音层次** — 车流远声 / 雨打玻璃窗 / 咖啡机运转声 / 键盘敲击声 / 高跟鞋踏地声 / 电梯提示音 / 城市夜风 / 远处汽车鸣笛 / 公园鸟鸣 / 餐厅轻微嘈杂声
|
||||
- **每场戏标注 1-2 个核心环境音**,帮助后续音效设计。环境音层次越丰富,都市场景越有沉浸感
|
||||
@ -0,0 +1,180 @@
|
||||
# 二次元导演分镜提示词技法 · 成熟都市言情动画
|
||||
|
||||
---
|
||||
|
||||
## 一、情绪 → 面容/眼神词映射
|
||||
|
||||
| 情绪输入 | 面容词 | 眼神词 | 微表情补充 |
|
||||
|----------|--------|--------|-----------|
|
||||
| 心动 / 悸动 | 面色微红,神情微怔 | 眼神含情,目光流连 | 嘴角微扬,表情克制 |
|
||||
| 悲伤 / 压抑 | 面容沉静,神情哀戚 | 眼眶微红,眼神低垂 | 眉头轻锁,神情内敛 |
|
||||
| 愤怒 / 压迫 | 眉眼凌厉,神情冷峻 | 目光如刀,眼神强势 | 唇线收紧,气场压迫 |
|
||||
| 温柔 / 深情 | 神情温和,眉目含情 | 眼神专注柔和,目光深情 | 嘴角轻扬,表情克制温润 |
|
||||
| 坚定 / 决绝 | 神情肃然,面容沉着 | 眼神坚定,目光清冽 | 眉眼沉静,气质凛然 |
|
||||
| 惊讶 / 震惊 | 神情微愣,面色微变 | 眼神放大,目光骤聚 | 眉梢轻挑,唇形微开 |
|
||||
| 冷漠 / 疏离 | 面容清冷,神情漠然 | 眼神空远,目光冰凉 | 表情几乎凝固,气质禁欲 |
|
||||
| 喜悦 / 雀跃 | 神情鲜活,笑意盈盈 | 眼神明亮有神,弯月眼尾 | 嘴角扬起,表情生动自然 |
|
||||
| 紧张 / 慌乱 | 表情略带茫然,神态慌张 | 眼神飘忽,目光四顾 | 眉心微蹙,表情生动真实 |
|
||||
| 隐忍 / 克制 | 神情内敛,面容沉静 | 眼神深沉,眼底有情绪压抑 | 唇线收紧,喉结微动 |
|
||||
|
||||
---
|
||||
|
||||
## 二、光影氛围词库(成熟都市言情动画)
|
||||
|
||||
### 时间段光线
|
||||
|
||||
| 时间段 | 主光词 | 色调词 | 气氛词 |
|
||||
|--------|--------|--------|--------|
|
||||
| 清晨 | 散射晨光,漫射柔光 | 冷白光调,淡蓝调 | 薄雾弥漫,空气感,晨露质感 |
|
||||
| 午后 | 柔和斜侧光,漫射散光 | 中性色调,轻暖调 | 光影斑驳,层次分明 |
|
||||
| 傍晚/黄昏 | 冷调侧逆光,斜射余晖 | 冷调为主,局部暖光点缀 | 长影拉伸,光感诗意,轮廓光 |
|
||||
| 夜间 | 月光冷蓝,烛光局部暖点 | 冷蓝主调 | 光影幽深,明暗强对比 |
|
||||
| 阴雨 | 漫射冷光,无主光源 | 灰冷色调 | 空气潮湿感,低饱和度 |
|
||||
|
||||
### 情绪光影
|
||||
|
||||
| 情绪基调 | 光线类型 | 补充约束 |
|
||||
|----------|----------|----------|
|
||||
| 心动/温情 | 柔和侧逆光,散射暖光局部 | 轮廓光勾勒,浅景深柔化背景 |
|
||||
| 对峙/压迫 | 硬侧光,高对比度强打光 | 阴影硬朗,明暗分割明显 |
|
||||
| 压抑/悲伤 | 漫射冷光,顶光或侧冷光 | 低调打光,面部局部暗部留存 |
|
||||
| 神秘/肃穆 | 冷蓝侧光,逆光剪影 | 光晕控制,边缘光精准 |
|
||||
| 空灵/意境 | 散射软光,背光过曝微调 | 空气透视感,远景虚淡 |
|
||||
|
||||
---
|
||||
|
||||
## 三、场景质感约束词(按场景类型)
|
||||
|
||||
| 场景类型 | 必加约束词 |
|
||||
|----------|-----------|
|
||||
| 现代公寓 | 沙发/电视/床/厨房,现代家具质感清晰,地板反光,窗帘垂感 |
|
||||
| 商务办公室 | 办公桌/电脑/文件/书架,现代办公材质,玻璃隔断反光 |
|
||||
| 咖啡厅 | 桌椅/咖啡杯/吧台/窗户,木质纹理,玻璃杯质感,暖光灯 |
|
||||
| 城市街道 | 路灯/斑马线/建筑/车辆,现代都市材质,夜景灯光,空气透视 |
|
||||
| 公园绿地 | 树木/长椅/草坪/小径,自然材质,光影斑驳,空气感 |
|
||||
| 校园场景 | 教学楼/操场/树木/长椅,校园材质,青春氛围,自然光 |
|
||||
| 酒店房间 | 床/浴室/电视/床头柜,酒店材质,舒适现代,暖光氛围 |
|
||||
|
||||
---
|
||||
|
||||
## 四、固定风格锚定词(所有输出必须包含)
|
||||
|
||||
**二次元风格锚定(必选):**
|
||||
|
||||
二次元动画风格,赛璐璐上色,清晰线条,电影级构图,戏剧化低调光影,
|
||||
|
||||
**人物质感(含人物镜头时必选):**
|
||||
|
||||
面容细腻渲染,皮肤细腻,五官精致,发丝层次分明,发丝细腻渲染
|
||||
|
||||
**服饰质感(含人物镜头时必选):**
|
||||
|
||||
衣物布料质感清晰,纹理细节超清晰,布料折痕真实,衣物随动态飘逸
|
||||
|
||||
**场景质感(含场景镜头时必选):**
|
||||
|
||||
场景材质纹理清晰,空气透视,现代使用痕迹,生活气息,景深虚化
|
||||
|
||||
**一致性锚定(参考图模式必选):**
|
||||
|
||||
保持人物面容与参考图一致,保持服饰配色与参考图一致,保持场景光线风格统一
|
||||
|
||||
**风格收尾(固定):**
|
||||
|
||||
成熟都市言情动画风格,现代小说改编动画,电影级分镜构图
|
||||
|
||||
**画质锁定词(所有输出必须包含,置于风格收尾之后):**
|
||||
|
||||
### 模式A(中文)
|
||||
|
||||
默认(画面无画内文字需求时):
|
||||
超清4K画质,高细节,自然锐度,写实清晰感,画面无字幕、无水印、无标题叠字
|
||||
|
||||
画内文字场景(画面描述中含书写/书卷/匾额等道具文字时):
|
||||
超清4K画质,高细节,自然锐度,写实清晰感,画面无字幕、无水印、无标题叠字,书卷/匾额等场景道具上的文字清晰可辨
|
||||
|
||||
### 模式B(英文)
|
||||
|
||||
默认:
|
||||
ultra-sharp 4K, high detail, crisp textures, naturalistic sharpness, photorealistic clarity, no subtitles, no captions, no watermark, no title overlay
|
||||
|
||||
画内文字场景:
|
||||
ultra-sharp 4K, high detail, crisp textures, naturalistic sharpness, photorealistic clarity, no subtitles, no captions, no watermark, no title overlay, legible text on in-scene props such as scrolls and plaques
|
||||
|
||||
**负向词模板(模式B 必须包含,置于提示词末尾):**
|
||||
|
||||
> ⚠️ Seedream(模式A)**不支持负向提示词**,负向词仅适用于模式B。模式A 通过正向词中的质感锚定和画质锁定来保证画面质量。
|
||||
|
||||
模式B(英文):
|
||||
no plastic skin, no beauty filter, no studio lighting, no centered composition, no oversaturation, no AI generated look, no motion blur, no noise, no blurry, no out of focus, no subtitles, no captions, no watermark, no title overlay, no UI text
|
||||
|
||||
---
|
||||
|
||||
## 五、美学禁止项(生成时严格规避)
|
||||
|
||||
以下词汇/风格不得出现于输出提示词中:
|
||||
|
||||
- ❌ 真人写实/摄影/3D渲染相关词(如:photorealistic、real photography、CGI)
|
||||
- ❌ 古风/奇幻/科幻等现代元素以外的风格
|
||||
- ❌ 高饱和荧光色/霓虹色
|
||||
- ❌ 卡通比例、大眼睛、Q版等变形描述(除非特定风格需求)
|
||||
- ❌ 现代科技元素入镜(手机屏幕、电脑界面、现代标识等)
|
||||
- ❌ 画外叠加文字(字幕、水印、标题卡、旁白叠字、片头字等 UI 层文字,画面必须为纯视觉画面)
|
||||
|
||||
> 💡 **例外**:故事世界内的道具文字(角色写字、书卷字迹、匾额、牌匾、书信、药方等场景中自然存在的文字)**不属于禁止范围**。当分镜画面描述中包含此类内容时,应如实描写其存在并要求文字清晰。
|
||||
|
||||
---
|
||||
|
||||
## 六、完整生成示例
|
||||
|
||||
> 以下为同一输入分别使用模式A和模式B的对照展示,实际使用时**仅输出其中一种**。
|
||||
|
||||
### 输入(分镜表行数据)
|
||||
|
||||
| 序号 | 画面描述 | 场景 | 关联资产名称 | 时长 | 景别 | 运镜 | 角色动作 | 情绪 | 光影氛围 |
|
||||
|------|---------|------|-------------|------|------|------|---------|------|----------|
|
||||
| 1 | 沈辞独立公寓窗前,远眺城市夜景 | 公寓 | 沈辞 | 4s | 全景 | 静止 | 负手而立,目光凝视窗外 | 温柔 / 深情 | 夜间冷调侧逆光 |
|
||||
|
||||
### 示例输出A(模式A · Seedream)
|
||||
|
||||
[Prompt]
|
||||
二次元动画风格,赛璐璐上色,清晰线条,电影级构图,戏剧化低调光影,全景构图,人物全身入镜,面容细腻渲染,皮肤细腻,五官精致,发丝层次分明,发丝细腻渲染,男性主角立于公寓窗前,双臂自然垂于身侧,目光凝视窗外,神情温和,眼神专注柔和,目光深情,现代公寓材质清晰,沙发/电视/床/厨房,现代家具质感清晰,地板反光,窗帘垂感,夜间冷调侧逆光,月光冷蓝,光影幽深,明暗强对比,成熟都市言情动画风格,现代小说改编动画,电影级分镜构图,超清4K画质,自然锐度,写实清晰感,画面无字幕、无水印、无标题叠字。
|
||||
Based on the reference image of 沈辞,maintain consistent: face features, hairstyle, costume details. Generate a new scene: standing by the apartment window at night, gazing out at the city view. Keep character appearance identical to reference.
|
||||
|
||||
### 示例输出B(模式B · Nanobanana)
|
||||
|
||||
```xml
|
||||
<role>
|
||||
You are a cinematographer and storyboard artist.
|
||||
Maintain strict visual continuity across all shots.
|
||||
</role>
|
||||
<character_reference>
|
||||
Image [1]: 沈辞 — black long hair, calm gentle eyes, modern casual clothing, tall slim body shape
|
||||
</character_reference>
|
||||
<continuity_rules>
|
||||
- Same wardrobe, hairstyle, face features across ALL shots
|
||||
- Same environment, lighting style, color grade
|
||||
- Only framing, angle, action, expression may change
|
||||
- Do NOT introduce new characters not in reference images
|
||||
</continuity_rules>
|
||||
<shot>
|
||||
Full shot, character standing by the apartment window at night, gazing out at the city view, gentle and composed expression, focused eyes with deep emotion, cold dusk backlight, moonlight ambiance, dark interior with subtle light from outside, mature urban romance anime style, cel shading, ultra-sharp 4K, high detail, crisp textures, photorealistic clarity, no subtitles, no captions, no watermark, no title overlay.
|
||||
</shot>
|
||||
<negative>
|
||||
no plastic skin, no beauty filter, no studio lighting, no centered composition, no oversaturation, no AI generated look, no motion blur, no noise, no blurry, no out of focus, no subtitles, no captions, no watermark, no title overlay, no UI text
|
||||
</negative>
|
||||
```
|
||||
|
||||
## 快速参考卡
|
||||
|
||||
### 情绪 → 画面词速查
|
||||
|
||||
| 情绪 | 面容关键词 | 光线匹配 |
|
||||
|------|-----------|----------|
|
||||
| 心动 | 面色微红,眼神含情 | 柔和侧逆光 |
|
||||
| 悲伤 | 面容沉静,眼眶微红 | 漫射冷光 |
|
||||
| 愤怒 | 眉眼凌厉,目光如刀 | 硬侧光高对比 |
|
||||
| 温柔 | 眉目含情,眼神柔和 | 散射暖光局部 |
|
||||
| 坚定 | 神情肃然,眼神清冽 | 冷调侧光 |
|
||||
| 冷漠 | 面容清冷,眼神空远 | 冷蓝侧光 |
|
||||
| 隐忍 | 面容沉静,眼底压抑 | 低调冷光,阴影留存 |
|
||||
@ -0,0 +1,48 @@
|
||||
---
|
||||
name: director_storyboard_table_style
|
||||
description: 分镜表都市言情约束 — 定义成熟都市言情二次元动画在分镜表中的光影氛围规范、赛璐璐质感、动作节奏、环境动态、运镜禁忌与转场禁忌。适用于任何叙事类型。
|
||||
metaData: director_skills
|
||||
---
|
||||
|
||||
# 分镜表都市言情约束 · 成熟都市言情二次元动画 · 技法参考
|
||||
|
||||
---
|
||||
|
||||
## 一、分镜表定位
|
||||
|
||||
分镜表是导演将剧本转化为镜头语言的核心工具。以下仅提供成熟都市言情二次元动画风格在分镜表层面的约束规范。
|
||||
|
||||
---
|
||||
|
||||
## 二、光影与氛围
|
||||
|
||||
- **同场戏光影统一** — 一场戏内不应出现两种以上光影方案,除非有明确的叙事转折(如室内灯光切换→窗外暮色渐深、晴天→突降细雨)
|
||||
- **情绪色盘绑定** — 每场戏至少绑定 1 个情绪场景(初见心动/暧昧升温/守护承诺/分离误会/重逢释怀/夜宴灯会),并在镜头组内保持主色+辅色连续性
|
||||
- **光源角度规范** — 正给镜头光源默认柔和侧逆光或散射光,侧给镜头根据画面需要调整。描述光影时须区分自然光(窗光/阳光)与人造光(灯光/屏幕光)的差异
|
||||
- **冷暖色调与叙事阶段匹配** — 分离/压抑/冷漠段落严格使用冷色光(青灰 C6 + 浅蓝 C3),禁用琥珀暖/烟霞粉等暖色调;暖色调(琥珀暖 C7 + 烟霞粉 C5)仅在情感回暖、暧昧升温段落使用
|
||||
- **光影转场是高级手段** — 从窗外自然光渐变到室内暖灯光 = 日转夜的时间流逝;从明亮办公室到昏暗公寓 = 情绪转折。在分镜表中标注光影变化点
|
||||
|
||||
---
|
||||
|
||||
## 三、环境动态
|
||||
|
||||
- **环境动态增加画面呼吸感** — 窗帘轻摆、咖啡杯热气升腾、雨滴滑过玻璃窗、城市灯光明灭、树叶飘落。每 3-4 个镜头至少安排一个有环境动态的镜头,避免画面"死"掉
|
||||
- **现代都市环境元素优先** — 环境动态应选用现代都市世界观内的元素:窗帘轻摆、车流光影、雨丝划过玻璃、落叶飘过街道、咖啡热气蒸腾、路灯光晕闪烁,禁止出现古风/奇幻元素
|
||||
- **赛璐璐动态表现** — 环境动态应符合二次元动画的表现方式:光影斑驳的手绘质感、布料飘动的线条美感、雨丝与灯光的赛璐璐渲染效果
|
||||
|
||||
---
|
||||
|
||||
## 四、都市人物动作节奏
|
||||
|
||||
- **动作要克制** — 成熟都市言情角色的动作应内敛含蓄,情绪不外放。关键动作(转身、抬手、回眸)标注"缓慢"或"从容"
|
||||
- **服饰动态** — 现代都市服饰(西装衣摆、裙摆、围巾、大衣下摆)的微动态是天然的画面资产,可在画面描述中加入衣物随风/随动作的轻微飘动,增加画面的"活"感
|
||||
- **仪态约束** — 都市言情角色的举止应符合成熟精英气质:站姿挺拔从容、举手投足优雅克制、不出现夸张的二次元化肢体语言(如夸张手势、Q版变形表情)
|
||||
- **微表情优先** — 以面部微表情(嘴角弧度、眉梢轻动、眼神流转)传达情绪,而非依赖大幅度肢体动作
|
||||
|
||||
---
|
||||
|
||||
## 五、运镜禁忌
|
||||
|
||||
- **禁用快速运镜** — 甩镜、急推、手持晃动与成熟都市言情二次元动画的清冷优雅气质冲突
|
||||
- **禁用花式转场** — 划屏、旋转、百叶窗、闪白等与本风格不兼容
|
||||
- **善用景深与空间** — 可利用现代都市场景的空间纵深做缓慢的推拉/跟随运镜,通过浅景深虚化制造电影感,但须保持沉稳克制的节奏
|
||||
BIN
data/skills/art_skills/2D_mature_urban_romance/images/1.png
Normal file
|
After Width: | Height: | Size: 1.1 MiB |
BIN
data/skills/art_skills/2D_mature_urban_romance/images/2.png
Normal file
|
After Width: | Height: | Size: 944 KiB |
BIN
data/skills/art_skills/2D_mature_urban_romance/images/场合衍生.png
Normal file
|
After Width: | Height: | Size: 1.5 MiB |
BIN
data/skills/art_skills/2D_mature_urban_romance/images/场景2原始.png
Normal file
|
After Width: | Height: | Size: 1.6 MiB |
BIN
data/skills/art_skills/2D_mature_urban_romance/images/场景2衍生.png
Normal file
|
After Width: | Height: | Size: 1.5 MiB |
BIN
data/skills/art_skills/2D_mature_urban_romance/images/场景原始.png
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
data/skills/art_skills/2D_mature_urban_romance/images/女生原始.png
Normal file
|
After Width: | Height: | Size: 670 KiB |
BIN
data/skills/art_skills/2D_mature_urban_romance/images/女生衍生.png
Normal file
|
After Width: | Height: | Size: 678 KiB |
118
data/skills/art_skills/2D_mature_urban_romance/prefix.md
Normal file
@ -0,0 +1,118 @@
|
||||
# 全局美学基础 · 成熟都市言情二次元动画
|
||||
|
||||
---
|
||||
|
||||
## 一、风格基因
|
||||
|
||||
| 维度 | 定义 |
|
||||
|---|---|
|
||||
| **一级风格** | 成熟都市言情二次元动画(Mature Urban Romance Anime) |
|
||||
| **二级风格** | 现代小说改编动画风格 · 电影级质感 |
|
||||
| **情感基调** | 甜宠向 — 冷中带暖、疏中见密 |
|
||||
| **质感锚词** | 赛璐璐上色、清晰线条、戏剧化低调光影 |
|
||||
|
||||
---
|
||||
|
||||
## 二、全局色彩盘(风格基线,不是硬锁)
|
||||
|
||||
> 目标:统一审美而非限制创作。除「硬约束色」外,其余颜色默认优先使用,可在合理范围内偏移。
|
||||
|
||||
### 色彩使用层级
|
||||
|
||||
| 层级 | 约束强度 | 说明 |
|
||||
|---|---|---|
|
||||
| L1 硬约束 | 高 | 仅锁定角色识别核心:肤色、发色、主服底色的审美方向 |
|
||||
| L2 软约束 | 中 | 场景色、配饰色、点缀色优先参考色盘,可按镜头与剧情微调 |
|
||||
| L3 例外机制 | 低 | 节庆/回忆/高潮戏可临时突破局部色彩,但需保留整体冷暖逻辑 |
|
||||
|
||||
| 序号 | 色名 | 色值 | 用途 |
|
||||
|---|---|---|---|
|
||||
| C1 | 冷白肤 | `#F5EDE8` | 女性肤色基准 |
|
||||
| C2 | 暖白肤 | `#F5E6D8` | 男性肤色基准 |
|
||||
| C3 | 浅蓝 | `#B8D4E3` | 天空、冷调环境 |
|
||||
| C4 | 墨黑 | `#1A1A2E` | 发色、眼瞳、轮廓线 |
|
||||
| C5 | 烟霞粉 | `#F2D7D5` | 唇色、腮红、情感点缀 |
|
||||
| C6 | 青灰 | `#7A8B99` | 远景建筑、暗部 |
|
||||
| C7 | 琥珀暖 | `#C9A96E` | 暖光、灯光、情绪高点 |
|
||||
| C8 | 银灰 | `#C0C7CE` | 现代建筑、金属材质 |
|
||||
| C9 | 中性灰 | `#E8E8E8` | 设定图背景 |
|
||||
| C10 | 素白 | `#F8F6F0` | 室内墙面、基础中衣色 |
|
||||
|
||||
### 硬约束色(默认锁定)
|
||||
|
||||
| 色项 | 对应色 | 规则 |
|
||||
|---|---|---|
|
||||
| 女性肤色基准 | C1 冷白肤 | 默认优先,允许小幅明度/暖度微调 |
|
||||
| 男性肤色基准 | C2 暖白肤 | 默认优先,避免偏黄或过灰 |
|
||||
| 发色/瞳色基准 | C4 墨黑 | 默认优先,允许暗蓝/冷棕轻微偏移 |
|
||||
|
||||
### 软约束色(推荐优先)
|
||||
|
||||
> C3/C5/C6/C7/C8/C9/C10 为推荐色域,用于天空、情感点缀、远景、暖光、金属材质、背景、墙面等。可根据镜头氛围做同色相邻近调整。
|
||||
|
||||
### 情绪色盘(导演对齐版)
|
||||
|
||||
| 情绪场景 | 主色 | 辅色 | 光效与对比建议 | 画面关键词 |
|
||||
|---|---|---|---|---|
|
||||
| 初见心动(克制甜) | C1 冷白肤 | C5 烟霞粉 + C8 银灰 | 冷基底 + 局部柔暖高光,强对比但不过曝 | 清冷、呼吸感、微甜 |
|
||||
| 暧昧升温(亲密拉近) | C5 烟霞粉 | C7 琥珀暖 + C10 素白 | 中近景提暖,肤色微升温,背景保持低饱和 | 软焦、耳语感、贴近 |
|
||||
| 守护承诺(稳定安全) | C10 素白 | C3 浅蓝 + C4 墨黑 | 明暗层次清晰,银色/蓝色强调安全感 | 安定、仪式感、信任 |
|
||||
| 分离误会(冷疏压抑) | C6 青灰 | C1 冷白肤 + C9 中性灰 | 整体降饱和,拉大冷暖反差,阴影加深 | 距离感、克制、静压 |
|
||||
| 重逢释怀(泪感回暖) | C1 冷白肤 | C7 琥珀暖 + C5 烟霞粉 | 先冷后暖,人物面部暖光渐进 | 回温、释然、湿润空气 |
|
||||
| 大婚喜庆(古典高光) | C7 琥珀暖 | C5 烟霞粉 + C3 浅蓝 | 局部可提高饱和,避免荧光色;金色强调仪式感 | 华贵、庄重、甜喜 |
|
||||
| 夜宴灯会(浪漫流光) | C7 琥珀暖 | C6 青灰 + C3 浅蓝 | 暖光源主导,背景冷色托举,保留暗部细节 | 流光、灯影、人潮中对视 |
|
||||
| 梦境回忆(写实化) | C1 冷白肤 | C6 青灰 + C3 浅蓝 | 低饱和雾化与真实光位并存,允许轻微偏色但不霓虹 | 空灵、旧忆感、真实可拍 |
|
||||
|
||||
### 情绪色盘使用规则
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| E1 | 每条提示词至少指定 1 个「情绪场景」并绑定主色+辅色组合 |
|
||||
| E2 | 单镜头主色不超过 2 个,避免颜色叙事失焦 |
|
||||
| E3 | 情绪切换时优先调整光比与色温,再调整饱和度 |
|
||||
| E4 | 甜宠向默认遵循「冷底 + 暖点」:冷色铺底,暖色落在人物关系焦点 |
|
||||
| E5 | 若与剧情冲突,以情绪色盘优先于通用推荐色,但不得突破严禁项 |
|
||||
|
||||
### 色温约束
|
||||
|
||||
| 参数 | 值 | 说明 |
|
||||
|---|---|---|
|
||||
| 整体色温 | 偏冷 5800-7000K(推荐) | 清冷仙气主基调 |
|
||||
| 肤色色温 | 微暖 5200-5600K(推荐) | 冷白但有生命感 |
|
||||
| 对比度 | 强(建议保持) | 明暗反差鲜明 |
|
||||
| 饱和度 | 中低 30-50%(建议区间) | 高级灰调 |
|
||||
|
||||
### 容差与例外
|
||||
|
||||
| 项目 | 建议容差 |
|
||||
|---|---|
|
||||
| 色相偏移 | ±8° |
|
||||
| 饱和度偏移 | ±10% |
|
||||
| 明度偏移 | ±12% |
|
||||
|
||||
> 例外场景:婚礼、灯会、回忆、情绪高潮镜头可使用更暖或更高饱和局部色块;但禁止霓虹荧光与现代色彩语言入镜。
|
||||
|
||||
---
|
||||
|
||||
## 三、全局约束规则
|
||||
|
||||
### 必守规则(所有技能继承)
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 必须包含「二次元动画风格」风格锚定词(anime style / cel shading) |
|
||||
| R2 | 必须声明「赛璐璐上色 + 清晰线条」 |
|
||||
| R3 | 面部必须使用「面容细腻渲染 + 皮肤细腻」 |
|
||||
| R4 | 发丝必须使用「层次分明 + 发丝细腻渲染」 |
|
||||
| R5 | 纹理必须声明「纹理细节超清晰」 |
|
||||
| R6 | 必须声明「电影级构图 + 戏剧化低调光影」 |
|
||||
|
||||
### 严禁项(所有技能继承)
|
||||
|
||||
| 编号 | 严禁内容 |
|
||||
|---|---|
|
||||
| X1 | 严禁「真人写实/摄影/3D渲染/CGI」 |
|
||||
| X2 | 严禁「高饱和荧光色/霓虹色」 |
|
||||
| X3 | 严禁「现代元素入镜」(手机、电脑屏幕、现代标识等) |
|
||||
| X4 | 严禁「面部变形/多指/肢体异常」倾向词 |
|
||||
| X5 | 严禁「裸体/暴露/透视/暗示性描述」 |
|
||||
33
data/skills/art_skills/3D_anime_render/README.md
Normal file
@ -0,0 +1,33 @@
|
||||
# 3D 动画渲染风格说明
|
||||
|
||||
本风格专为"3D 动画渲染"题材打造,所有美术提示词、规范和生成内容均严格限定于:
|
||||
|
||||
- **3D 动画世界观**:以现代都市为背景,涵盖街道、咖啡厅、居家、办公室、商场等,体现现代都市生活气息。
|
||||
- **赛璐珞质感**:所有角色、场景、道具均以 3D 动画渲染为标准,强调轮廓线清晰度、材质细腻度、光影层次感。
|
||||
- **治愈治愈美学**:在 3D 渲染基础上追求电影感氛围,画面色调温暖明亮,细节丰富,整体氛围温暖治愈、明快动人。
|
||||
- **情感表达**:适合展现温柔、治愈、浪漫的都市恋爱故事,强调现代都市美学下的情感表达。
|
||||
|
||||
## 适用范围
|
||||
|
||||
- 3D 动画渲染题材的 AI 美术生成(角色、场景、道具、分镜等)
|
||||
- 需要极致 3D 渲染质感、细腻材质、温馨治愈氛围的视觉创作
|
||||
|
||||
## 严禁内容
|
||||
|
||||
- 写实渲染、照片级真实感
|
||||
- 暗调、重阴影、过度对比
|
||||
- 高饱和荧光色、霓虹色
|
||||
- 现代元素缺失、黑暗暴力、成人向内容
|
||||
|
||||
## 风格体验
|
||||
|
||||
在本风格下,您将体验到:
|
||||
|
||||
- 角色面容精致、气质温柔或清亮,服饰、妆容、发型均为 3D 动画渲染风格
|
||||
- 场景空间层次丰富,轮廓线清晰流畅,氛围真实且富有诗意
|
||||
- 道具、日常物品、环境细节均为现代造型,工艺精细,质感细腻
|
||||
- 分镜与画面均以 3D 渲染为基础,强调叙事与情感表达
|
||||
|
||||
---
|
||||
|
||||
本风格仅适用于"3D 动画渲染"相关项目。如需其他风格(如写实 3D、CG、插画、现代等),请勿使用本套提示词。
|
||||
@ -0,0 +1,218 @@
|
||||
# art_character_3d.md
|
||||
# 3D动画角色基础形象生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、基础形象原则
|
||||
|
||||
1. **面容即灵魂** — 五官是角色唯一锚点,赛璐珞级精细渲染
|
||||
2. **底模即基础** — 基础打底服装 + 素颜,后续服化均为叠加层(女性:运动背心+四角短裤;男性:四角短裤)
|
||||
3. **四视图一致** — 面容/体型/发型/基础服装跨视图高度统一
|
||||
4. **暖萌治愈** — 无妆状态仍需体现角色气质(开朗/温柔/元气)
|
||||
|
||||
---
|
||||
|
||||
## 二、面容约束
|
||||
|
||||
### 女性面容
|
||||
|
||||
| 部位 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 脸型 | 圆润流畅、下颌柔和、鹅蛋脸 | 圆润脸型、鹅蛋脸、柔和下颌 |
|
||||
| 眼型 | 大眼、圆瞳、眼尾上扬 | 大圆眼、明亮眼瞳、凤眼微挑 |
|
||||
| 眉型 | 自然弯眉、眉色浅棕 | 自然弯眉、浅棕眉色 |
|
||||
| 鼻型 | 小巧挺鼻、鼻翼圆润 | 小巧鼻梁、精致鼻翼 |
|
||||
| 唇型 | 饱满唇、唇色珊瑚粉 | 饱满嘴唇、珊瑚粉色 |
|
||||
| 气质 | 温暖、元气、治愈 | 面容温暖、元气满满、治愈系 |
|
||||
|
||||
### 男性面容
|
||||
|
||||
| 部位 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 脸型 | 方圆脸、下颌线柔和 | 方圆脸型、线条柔和 |
|
||||
| 眼型 | 圆眼、眼神清澈明亮 | 清澈圆眼、明亮眼神 |
|
||||
| 鼻型 | 圆润鼻头、鼻梁适中 | 圆鼻头、鼻梁适中 |
|
||||
| 唇型 | 饱满唇色、微上扬 | 饱满嘴唇、唇色上扬 |
|
||||
| 气质 | 阳光开朗 / 温柔内敛 | 阳光俊朗 / 温润如玉、素颜 |
|
||||
|
||||
---
|
||||
|
||||
## 三、肤感约束
|
||||
|
||||
### 女性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 肤色 | 暖白皮、全身均匀、透亮感 | 暖白皮、蜜桃肌、peach skin |
|
||||
| 光泽 | 柔光肌、内透光感、非哑光 | 柔光肌肤、inner glow、soft glow |
|
||||
| 质感 | 细腻光滑、赛璐珞渲染质感 | 皮肤细腻、赛璐珞质感 |
|
||||
| 露肤 | 面部/颈部/锁骨/手部 | 肩颈线条优美、肌肤暖白透亮 |
|
||||
|
||||
### 男性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 肤色 | 暖调米色、带健康感、全身均匀 | 暖调米色、健康肤色 |
|
||||
| 光泽 | 清爽柔光、自然光泽 | 柔光肌、皮肤透亮清爽 |
|
||||
| 质感 | 干净细腻、赛璐珞光泽 | 皮肤质感细腻、面容清爽 |
|
||||
|
||||
---
|
||||
|
||||
## 四、体型约束
|
||||
|
||||
### 女性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 身高 | 由角色设定指定,默认范围 155-165cm | {身高}cm tall、{身高描述如:petite girl} |
|
||||
| 头身比 | 六头身至七头身,头身比 = 身高 ÷ 头长 | 6-7 heads tall proportion、身材娇小 |
|
||||
| 身高换算 | 头长 = 身高 ÷ 头身比(如160cm ÷ 6.5 = 24.6cm头长) | 比例可爱、头身比协调 |
|
||||
| 肩颈 | 柔滑肩颈、线条流畅 | 柔滑肩线、颈部优美 |
|
||||
| 手部 | 小巧圆润、指节柔和 | 圆润小手、指节分明 |
|
||||
| 体态 | 元气少女、轻盈体态 | 体态轻盈、身姿灵动 |
|
||||
|
||||
### 男性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 身高 | 由角色设定指定,默认范围 170-180cm | {身高}cm tall、{身高描述如:tall cute boy} |
|
||||
| 头身比 | 六头半至七头半,头身比 = 身高 ÷ 头长 | 6.5-7.5 heads tall proportion、身材匀称 |
|
||||
| 身高换算 | 头长 = 身高 ÷ 头身比(如175cm ÷ 7 = 25cm头长) | 比例可爱、头身比协调 |
|
||||
| 肩颈 | 圆润肩部、颈部自然 | 圆润肩膀、颈线自然 |
|
||||
| 手部 | 圆润手掌、指节柔和 | 圆润手掌、指节分明 |
|
||||
| 体态 | 阳光少年/温柔学长(按角色) | 身姿挺拔、体态阳光 |
|
||||
|
||||
### 身高-头身比换算参考
|
||||
|
||||
| 身高(cm) | 头身比 | 头长(cm) | 适用描述 |
|
||||
|---|---|---|---|
|
||||
| 150-155 | 6.0 | ~25cm | 娇小可爱 |
|
||||
| 155-160 | 6.0-6.5 | ~25cm | 甜美娇小 |
|
||||
| 160-165 | 6.5 | ~24.6cm | 清新少女(女性默认) |
|
||||
| 165-170 | 6.5-7.0 | ~25cm | 修长少女 |
|
||||
| 170-175 | 7.0 | ~25cm | 清秀少年 |
|
||||
| 175-180 | 7.0-7.5 | ~25cm | 阳光男孩(男性默认) |
|
||||
| 180-185 | 7.5 | ~25cm | 帅气高挑 |
|
||||
|
||||
---
|
||||
|
||||
## 五、基础发型约束
|
||||
|
||||
> 仅定义自然散发/简单束发,发饰在服化衍生环节叠加。
|
||||
|
||||
### 女性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 发色 | 暖棕色/浅栗色/巧克力色 | 暖棕长发、栗色如金 |
|
||||
| 发长 | 及肩或长发 | 长发及肩 |
|
||||
| 发质 | 根根分明、丝缕清晰、赛璐珞质感 | 发丝根根分明、发丝细腻渲染 |
|
||||
| 造型 | 自然散发、中分/偏分、无发饰 | 长发自然散落、柔顺如瀑 |
|
||||
|
||||
### 男性
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 发色 | 暖棕色/深咖啡色 | 深棕短发、咖啡色头发 |
|
||||
| 发长 | 短发至中长发 | 短发、及耳短发 |
|
||||
| 发质 | 根根分明、质感清晰 | 发丝根根分明、发丝细腻渲染 |
|
||||
| 造型 | 自然散发或侧分、无发饰 | 短发自然散落、侧分发型 |
|
||||
|
||||
---
|
||||
|
||||
## 六、基础服装约束
|
||||
|
||||
> 基础服装无特殊约束,女性为运动背心和四角短裤,男性为四角短裤。正式服饰在服化衍生环节叠加。
|
||||
|
||||
### 女性基础服装
|
||||
|
||||
运动背心和四角短裤,颜色以基础色为主,无花纹装饰。
|
||||
|
||||
### 男性基础服装
|
||||
|
||||
四角短裤,颜色以基础色为主,无花纹装饰。
|
||||
|
||||
### 着装统一规则
|
||||
|
||||
- 服装风格统一,确保后续服饰叠加无色彩干扰
|
||||
- 除面部/手部/颈部外基本覆盖
|
||||
- 四视图服装款式完全一致
|
||||
- 基础服装仅为安全打底,焦点在面容与体态
|
||||
|
||||
---
|
||||
|
||||
## 七、四视图设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
| 位置 | 视图 | 角度 | 景别 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|---|
|
||||
| 左一 | 人像特写 | 正面平视 | 头顶至锁骨 | 从头顶到锁骨完整展示不裁切,面部占60%+,五官清晰 | portrait closeup、face detail、head to collarbone complete、no crop |
|
||||
| 左二 | 正视图 | 正面 0° | 全身立像 | 面对镜头、双臂自然、从头顶到脚底完整展示 | front view、full body head to toe、height mark |
|
||||
| 右二 | 侧视图 | 右侧 90° | 全身立像 | 纯侧面轮廓清晰、从头顶到脚底完整展示 | side view、profile、full body head to toe、height mark |
|
||||
| 右一 | 后视图 | 后方 180° | 全身立像 | 后脑/背部/发尾/脚部清晰、从头顶到脚底完整展示 | back view、rear view、full body head to toe、height mark |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面从左至右并排四视图 |
|
||||
| 背景 | 纯净中性灰 #E8E8E8 |
|
||||
| 站姿 | 自然站立、双脚平行微分、双臂自然下垂或微展 |
|
||||
| 全身展示 | 全身立像必须从头顶到脚底完整入画,严禁裁切头顶或脚部 |
|
||||
| 特写展示 | 人像特写必须从头顶到锁骨完整入画,严禁裁切头顶,头发、额头、下巴均需完整 |
|
||||
| 表情 | 中性微表情,符合角色气质 |
|
||||
| 光线 | 均匀柔光,前方主光 + 双侧补光,无硬阴影 |
|
||||
| 一致性 | 四视图的肤色/体型/发型/面容/基础服装完全一致 |
|
||||
| 画面比例 | 建议 4:1 或 3:1 |
|
||||
|
||||
---
|
||||
|
||||
## 八、提示词模板
|
||||
|
||||
```
|
||||
{性别}角色四视图设定图,3D 动画渲染,电影级打光,活力赛璐珞质感,高细节材质,愉悦治愈氛围,卡通都市风,高细节卡通材质,适度卡通比例,暖色调配色,8K 超高清,电影级构图,柔和光影层次,明快卡通渲染风格,温馨治愈,
|
||||
character design sheet,character turnaround,
|
||||
{脸型},{眼型},{鼻型},{唇型},{整体气质},素颜无妆,
|
||||
{肤色},柔光肌,皮肤通透发光,皮肤细腻,赛璐珞质感,
|
||||
{身高描述,如:165cm tall、petite cute girl},{头身比,如:6.5 heads tall proportion},{身材描述},{体态描述},
|
||||
{发色}{发长},发丝根根分明,{基础造型},无发饰,
|
||||
(女性:运动背心和四角短裤 / 男性:仅四角短裤),基础色,无花纹装饰,
|
||||
同一画面左至右并排:人像特写+正视图+侧视图+后视图,
|
||||
人像特写从头顶到锁骨完整展示,不裁切头顶,head to collarbone complete,
|
||||
全身立像从头顶到脚底完整展示,full body head to toe,不裁切头顶和脚部,
|
||||
自然站立,纯净中性灰背景,均匀柔光,无硬阴影,
|
||||
四视图一致性,面容细腻渲染,发丝细腻渲染
|
||||
图中不要有任何文字
|
||||
```
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 九、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 必须为「素颜无妆」状态 |
|
||||
| R2 | 必须声明基础服装(女性:运动背心+四角短裤;男性:四角短裤) |
|
||||
| R3 | 必须声明「无发饰、无配饰」 |
|
||||
| R4 | 必须指定「纯净中性灰背景」 |
|
||||
| R5 | 必须指定「四视图一致性」 |
|
||||
| R6 | 全身立像必须从头顶到脚底完整展示,严禁裁切 |
|
||||
| R7 | 必须声明角色身高并通过头身比换算约束全身比例(女性默认155-165cm/6-7头身,男性默认170-180cm/6.5-7.5头身) |
|
||||
| R8 | 人像特写必须从头顶到锁骨完整展示,严禁裁切头顶 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 基础服装以外的任何服装/配饰/妆容 |
|
||||
| X2 | 正顶硬光/正底光/彩色光 |
|
||||
| X3 | 过度美白至无血色 / 肤色发灰 |
|
||||
| X4 | 复杂场景背景(必须纯灰底) |
|
||||
| X5 | 夸张表情/动态姿势 |
|
||||
| X6 | 全身立像裁切头顶或脚底,必须从头到脚完整入画 |
|
||||
| X7 | 人像特写裁切头顶,必须从头顶到锁骨完整入画 |
|
||||
| X8 | 忽略身高和头身比约束,身高必须明确声明并通过头身比换算体现全身比例 |
|
||||
@ -0,0 +1,329 @@
|
||||
# 3D动画渲染都市角色衍生资产生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、叠加原则
|
||||
|
||||
1. **面容不变** — 叠加后五官必须与底模完全一致,禁止面容偏移
|
||||
2. **姿态不变** — 保持底模自然站立姿态,禁止任何姿态/动作/体态变化
|
||||
3. **逐层可控** — 每层独立描述,便于按层替换(换装不换妆)
|
||||
4. **风格统一** — 所有服化元素服从同一都市动画美学体系
|
||||
5. **质感不降** — 叠加后质感标准不低于底模
|
||||
6. **纯服化范畴** — 仅叠加妆容/发型/服饰/配饰,禁止引入道具、场景、环境、动作
|
||||
|
||||
---
|
||||
|
||||
## 二、叠加层级
|
||||
|
||||
| 层级 | 内容 | 说明 |
|
||||
|---|---|---|
|
||||
| L0 | 底模 | 基础形象底模,不修改 |
|
||||
| L1 | 妆容(决策层) | 先分析用户线索,再决策「基础妆 / 轻妆 / 正式妆」强度 |
|
||||
| L2 | 发型造型 | 散发/马尾/盘发/半扎 + 发饰 |
|
||||
| L3 | 中衣/内搭 | 替换白色基础中衣 |
|
||||
| L4 | 外衣/主服 | 现代都市服饰 |
|
||||
| L5 | 配饰 | 头饰/耳饰/项饰/腰饰/手饰 |
|
||||
|
||||
> **范畴边界**:人物衍生资产仅包含 L0–L5 层级(服化妆造),不包含道具(伞/手机/电脑/咖啡等手持物)、场景环境(室内/室外/天气等)、姿态动作(行走/回眸/举手等)。这些属于其他资产类型的范畴。
|
||||
|
||||
---
|
||||
|
||||
## 三、妆容约束(L1)
|
||||
|
||||
### 底模到衍生妆造策略(关键)
|
||||
|
||||
> 角色底模虽为素颜,但衍生资产默认进入妆造流程。系统应根据用户提供的线索分析妆造需求,并在基础妆、轻妆、正式妆之间决策强度,而不是保持素颜。
|
||||
|
||||
### L1 线索分析与妆容决策
|
||||
|
||||
| 步骤 | 处理内容 | 决策结果 |
|
||||
|---|---|---|
|
||||
| S1 | 提取用户线索:面部状态词、情绪词、强度词 | 形成妆容需求摘要 |
|
||||
| S2 | 过滤非妆容线索:道具/场景/动作/姿态词不作为上妆依据 | 防止误判 |
|
||||
| S3 | 匹配妆容风格矩阵并给出强度档 | 基础妆 / 轻妆 / 正式妆 |
|
||||
| S4 | 生成最终 L1 提示词 | 只输出结论,不输出分析过程 |
|
||||
|
||||
### 线索到妆容映射(执行口径)
|
||||
|
||||
| 线索类型 | 典型线索 | L1 决策 |
|
||||
|---|---|---|
|
||||
| 无明显面部强调线索 | 仅服饰/发型变化,未强调情绪与状态 | 基础妆 |
|
||||
| 轻微面部线索 | 轻柔、含笑、睫毛轻颤、气色微提 | 轻妆(极淡) |
|
||||
| 明确病弱线索 | 面色苍白、唇色极淡、眼下微红 | 病弱梨妆(轻妆) |
|
||||
| 明确正式仪式线索 | 盛装、典礼、华贵亮相 | 正式妆(受控) |
|
||||
|
||||
> 判定原则:所有衍生资产都要有妆造;先看面部线索决定强度与风格,道具、场景、姿态变化不得单独抬高妆容强度。
|
||||
|
||||
### 女性妆容风格矩阵
|
||||
|
||||
| 风格 | 适用场景 | 核心提示词 |
|
||||
|---|---|---|
|
||||
| 清雅素妆 | 日常、初遇、上班 | 妆容清雅、淡扫蛾眉、素妆清颜 |
|
||||
| 冷艳霜妆 | 正式、对峙、权力 | 妆容冷艳、眉眼锋利、薄唇冷冽 |
|
||||
| 柔媚桃妆 | 甜宠、暧昧、心动 | 桃花妆、眼尾微红、唇色水润 |
|
||||
| 病弱梨妆 | 受伤、虚弱 | 面色苍白、唇色极淡、眼下微红 |
|
||||
| 华贵晚宴妆 | 正式晚宴、盛装出席 | 浓妆精致、唇色亮眼 |
|
||||
|
||||
### 通用底肤(所有妆容共享)
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 质感 | 赛璐珞渲染、柔和光泽 | 卡通肌肤、柔和皮肤质感 |
|
||||
| 白度 | 冷白皮、通透不惨白 | 牛奶肌、milky white skin |
|
||||
| 内透光 | 从内向外柔光感 | 内透光感、皮肤通透发光 |
|
||||
| 禁止 | 哑光/死白/蜡感/油光/过曝 | — |
|
||||
|
||||
### 基础妆细化(默认档)
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 眉部 | 顺着底模眉形轻修,不改变眉型 | 自然修眉、眉形干净 |
|
||||
| 眼部 | 极淡眼部修饰,强调清透与有神 | 眼部清透、极淡内眼线 |
|
||||
| 面颊 | 极淡气色提亮,不可明显堆色 | 面颊气色自然、微弱提气色 |
|
||||
| 唇部 | 裸粉或浅粉润色,保持克制 | 唇色自然润泽、浅粉唇色 |
|
||||
| 整体 | 看得出有妆造,但妆感非常轻 | 基础妆、伪素颜妆感、自然精修 |
|
||||
|
||||
### 分部位(以清雅素妆为例)
|
||||
|
||||
| 部位 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 底妆 | 轻薄通透、水光微光泽 | 底妆轻薄、水光奶油肌 |
|
||||
| 眉妆 | 远山眉/柳叶眉、灰棕淡扫 | 远山黛眉、淡扫蛾眉 |
|
||||
| 眼妆 | 极淡眼影、内眼线、睫毛纤长 | 眼妆清透、睫毛纤长 |
|
||||
| 腮红 | 极淡薄粉、苹果肌微扫 | 腮红极淡、薄粉微醺 |
|
||||
| 唇妆 | 水润浅粉、微光泽 | 唇色水润浅粉 |
|
||||
|
||||
### 男性妆容
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 底肤 | 赛璐珞渲染、白皙透亮、清爽自然 | 卡通肌肤、奶油肌、luminous skin |
|
||||
| 原则 | 伪素颜——看着没化妆但皮肤极好 | 伪素颜、天生好皮 |
|
||||
| 眉毛 | 自然浓眉、不画眉 | 剑眉自然、眉形英挺 |
|
||||
| 唇色 | 自然血色、微润 | 唇色自然、血色感 |
|
||||
|
||||
---
|
||||
|
||||
## 四、发型造型约束(L2)
|
||||
|
||||
### 女性造型类型
|
||||
|
||||
| 造型 | 描述 | 适用 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 自然散发 | 长发自然垂落、柔顺有光泽 | 日常、休闲 | 自然散发、柔顺长发 |
|
||||
| 高马尾 | 高束马尾、活力干练 | 运动、通勤 | 高马尾、活力马尾 |
|
||||
| 低马尾 | 低束马尾、优雅简洁 | 日常、商务 | 低马尾、优雅马尾 |
|
||||
| 半扎发 | 上方半扎+下方自然垂落 | 日常、约会 | 半扎发、半束发型 |
|
||||
| 双马尾 | 两侧马尾、青春活泼 | 活泼场景 | 双马尾、活泼发型 |
|
||||
| 优雅盘发 | 盘发/丸子头、正式感 | 正式场合 | 优雅盘发、低发髻 |
|
||||
|
||||
### 女性发饰
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 风格 | 现代都市风、简约精致、与服饰配套 | 现代发饰、都市风格 |
|
||||
| 材质 | 金属/布艺/亚克力 | 金属发夹、布艺发饰 |
|
||||
| 工艺 | 精致工艺、卡通化呈现 | 精细工艺、精致装饰 |
|
||||
|
||||
### 男性造型类型
|
||||
|
||||
| 造型 | 适用 | 提示词 |
|
||||
|---|---|---|
|
||||
| 清爽短发 | 日常、商务 | 清爽短发、整洁发型 |
|
||||
| 侧分中分 | 正式、通勤 | 侧分发型、中分发型 |
|
||||
| 蓬松凌乱 | 休闲、文艺 | 蓬松发型、凌乱随意 |
|
||||
| 中长自然 | 休闲、文艺 | 中长发、自然垂落 |
|
||||
|
||||
---
|
||||
|
||||
## 五、服饰约束(L3+L4)
|
||||
|
||||
### 女性服饰矩阵
|
||||
|
||||
| 风格 | 款式 | 适用 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 都市通勤装 | 衬衫/西装/半身裙 | 上班、日常 | 通勤服装、都市职业装 |
|
||||
| 休闲常服 | T恤/牛仔裤/卫衣 | 日常、休闲 | 休闲服装、舒适穿搭 |
|
||||
| 晚礼服 | 连衣裙/礼服裙 | 宴会、约会 | 晚礼服、优雅裙装 |
|
||||
| 运动装 | 运动套装/运动背心 | 运动、健身 | 运动服装、活力穿搭 |
|
||||
| 正式礼服 | 高级定制礼服 | 正式场合 | 正式礼服、华贵裙装 |
|
||||
|
||||
### 女性服饰通用约束
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 主色 | 暖色调为主、符合都市感 | 暖色调服装、都市配色 |
|
||||
| 材质 | 真实材质感 + 赛璐珞渲染 | 衣服质感清晰、赛璐珞材质 |
|
||||
| 质感 | 纹理清晰但不过度写实 | 衣服纹理清晰、卡通质感 |
|
||||
| 肩部 | 自然肩部、装饰适量 | 自然肩部、适量装饰 |
|
||||
| 层次 | 适度层次、不过于繁复 | 适度层次、简洁分明 |
|
||||
|
||||
### 男性服饰矩阵
|
||||
|
||||
| 风格 | 适用 | 提示词 |
|
||||
|---|---|---|
|
||||
| 都市休闲装 | 衬衫/牛仔裤/休闲外套 | 日常、休闲 | 休闲服装、都市风格 |
|
||||
| 商务正装 | 西装/衬衫/领带 | 上班、正式 | 商务正装、职业造型 |
|
||||
| 运动套装 | 运动服/运动套装 | 运动、健身 | 运动服装、活力穿搭 |
|
||||
| 日常便装 | T恤/牛仔裤/卫衣 | 休闲、私密 | 日常便装、舒适穿搭 |
|
||||
| 正式礼服 | 高级定制西装/礼服 | 正式场合 | 正式礼服、华贵造型 |
|
||||
|
||||
---
|
||||
|
||||
## 六、配饰约束(L5)
|
||||
|
||||
### 女性配饰
|
||||
|
||||
| 类型 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 头饰 | 现代都市风、不单薄 | 现代发饰、精致头饰 |
|
||||
| 耳饰 | 精致耳钉/垂坠耳环 | 精致耳环、都市风格 |
|
||||
| 项饰 | 精致项链/项圈 | 精致项链、简约设计 |
|
||||
| 腰饰 | 简约腰带/装饰带 | 简约腰带、都市配饰 |
|
||||
| 手饰 | 精致手镯/手表 | 精致手表、都市配饰 |
|
||||
|
||||
### 男性配饰
|
||||
|
||||
| 类型 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 眼镜 | 现代眼镜/墨镜 | 现代眼镜、时尚配饰 |
|
||||
| 腰带 | 简约腰带/皮带 | 简约腰带、都市风格 |
|
||||
| 手表 | 精致手表/运动表 | 精致手表、都市配饰 |
|
||||
| 背包 | 都市背包/公文包 | 都市背包、实用配饰 |
|
||||
| 钥匙扣 | 简约钥匙扣 | 简约钥匙扣、都市细节 |
|
||||
|
||||
---
|
||||
|
||||
## 七、服化组合速查
|
||||
|
||||
| 场景 | 妆容 | 发型 | 服饰 | 配饰 |
|
||||
|---|---|---|---|---|
|
||||
| 日常通勤 | 清雅素妆 | 半扎发/马尾 | 都市通勤装 | 简约 |
|
||||
| 休闲约会 | 柔媚桃妆 | 半扎发/散发 | 休闲常服 | 中等 |
|
||||
| 商务会议 | 冷艳霜妆 | 半扎发/束发 | 商务正装 | 精致 |
|
||||
| 运动健身 | 轻妆 | 马尾/束发 | 运动装 | 简 |
|
||||
| 正式晚宴 | 华贵晚宴妆 | 盘发/半扎发 | 晚礼服 | 极繁 |
|
||||
| 周末逛街 | 轻妆 | 散发/半扎发 | 休闲常服 | 中等 |
|
||||
| 运动比赛 | 轻妆 | 马尾/束发 | 运动装 | 简 |
|
||||
|
||||
---
|
||||
|
||||
> **🔍 未覆盖场景推断规则**
|
||||
>
|
||||
> 当用户描述的场景/情境不在上表时,根据本风格核心基因自行推断:
|
||||
>
|
||||
> | 推断维度 | 3D动画渲染都市基因 |
|
||||
> |---|---|
|
||||
> | 妆容强度 | 默认清雅素妆;正式/商务→冷艳霜妆;甜宠/约会→柔媚桃妆;虚弱/受伤→病弱梨妆;晚宴/盛装→华贵晚宴妆 |
|
||||
> | 发型 | 日常/通勤→半扎发或马尾;休闲/约会→自然散发;正式→盘发;运动→高马尾;双马尾用于青春活泼场景 |
|
||||
> | 服饰 | 都市场景全覆盖;场合正式度决定服饰精致度(通勤<日常<约会<晚宴);3D赛璐珞材质始终保持 |
|
||||
> | 配饰繁度 | 运动→简;日常/通勤→简约;约会→中等精致;正式晚宴→极繁 |
|
||||
> | 质感基准 | 赛璐珞渲染+柔和光影始终锁定;禁止滑向写实摄影或平面二次元质感 |
|
||||
|
||||
## 八、四视图设定图规范
|
||||
|
||||
> 衍生服化叠加后仍需输出四视图设定图,确保服化妆造在各角度的一致性。
|
||||
|
||||
### 视图定义
|
||||
|
||||
| 位置 | 视图 | 角度 | 景别 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|---|
|
||||
| 左一 | 人像特写 | 正面平视 | 面部至锁骨 | 面部占60%+,五官/妆容清晰 | portrait closeup、face detail、makeup detail |
|
||||
| 左二 | 正视图 | 正面 0° | 全身立像 | 面对镜头、服饰正面全貌 | front view、height mark |
|
||||
| 右二 | 侧视图 | 右侧 90° | 全身立像 | 纯侧面轮廓、服饰侧面层次 | side view、profile、height mark |
|
||||
| 右一 | 后视图 | 后方 180° | 全身立像 | 后脑发饰/背部服饰/发尾清晰 | back view、rear view、height mark |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面从左至右并排四视图 |
|
||||
| 背景 | 纯净中性灰 #E8E8E8 |
|
||||
| 站姿 | 自然站立、双脚平行微分、双臂自然下垂或微展(**禁止任何姿态变化**) |
|
||||
| 表情 | 符合妆容风格的微表情(如清雅素妆→淡然、桃妆→含笑),仅限面部微表情,不涉及肢体动作 |
|
||||
| 光线 | 均匀柔光,前方主光 + 双侧补光,无硬阴影 |
|
||||
| 一致性 | 四视图的面容/妆容/发型/发饰/服饰/配饰完全一致 |
|
||||
| 画面比例 | 建议 4:1 或 3:1 |
|
||||
|
||||
---
|
||||
|
||||
## 九、提示词模板
|
||||
|
||||
### 输出格式约束
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 输出内容 | **仅输出提示词文本**,不输出任何其他内容 |
|
||||
| 禁止输出 | 速查表、分层构建方案、视觉约束表、禁止事项表、衍生方案、输出建议、核心要素表等一切非提示词内容 |
|
||||
| 禁止场景 | 人物衍生资产**不包含场景/环境描述**,不输出任何场景/环境/天气/背景叙事内容(场景属于场景资产范畴) |
|
||||
| 禁止道具 | **不包含任何道具交互**,不输出伞/手机/电脑/咖啡等手持物或交互物(道具属于道具资产范畴) |
|
||||
| 禁止姿态变化 | **不改变底模姿态**,不输出行走/回眸/举手/侧身/奔跑等任何动作或体态变化,保持自然站立 |
|
||||
| 格式 | 直接输出可用的提示词代码块,无需标题、表格、解释、方案对比 |
|
||||
|
||||
### 完整服化叠加(四视图)
|
||||
|
||||
```
|
||||
以角色基础形象图为底图,img2img叠加服化妆造,
|
||||
3D 动画渲染,电影级打光,活力赛璐珞质感,高细节材质,愉悦治愈氛围,卡通都市风,高细节卡通材质,适度卡通比例,暖色调配色,8K 超高清,电影级构图,柔和光影层次,明快卡通渲染风格,温馨治愈,{性别}角色四视图设定图,
|
||||
anime style, cel-shaded, 3D animation render, film lighting,
|
||||
character design sheet, character turnaround,
|
||||
保持基础形象面容不变,{整体气质},
|
||||
【L1·妆容】根据用户线索决策:{基础妆/轻妆/正式妆};使用 {妆容风格},赛璐珞肌肤,{眉妆},{眼妆},{唇妆},
|
||||
【L2·发型】{造型类型},发丝流畅渲染,{发饰描述},
|
||||
【L3+L4·服饰】{主色}{款式},{材质},{装饰工艺},衣服质感清晰、赛璐珞材质,
|
||||
【L5·配饰】{头饰},{耳饰},{项饰},{腰饰},
|
||||
同一画面左至右并排:人像特写+正视图+侧视图+后视图,
|
||||
自然站立,纯净中性灰背景,均匀柔光,无硬阴影,
|
||||
四视图一致性,面容细腻渲染,发丝细腻渲染,纹理细节清晰,
|
||||
赛璐珞渲染风格,柔和光影,适度卡通比例,写实材质结合,
|
||||
8K 超高清,电影级构图,
|
||||
图中不要有任何文字
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 十、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 叠加后面容必须与底模一致 |
|
||||
| R2 | 服饰必须用「衣服质感清晰 + 赛璐珞材质」 |
|
||||
| R3 | 女性配饰必须「现代都市风 + 精致工艺」 |
|
||||
| R4 | 妆容/发型/服饰/配饰风格统一 |
|
||||
| R5 | 必须输出四视图设定图(人像特写+正视图+侧视图+后视图) |
|
||||
| R6 | 必须指定「纯净中性灰背景」 |
|
||||
| R7 | 必须指定「四视图一致性」 |
|
||||
| R8 | **仅输出提示词**——禁止输出速查表/分层方案/视觉约束/禁止事项/衍生方案/输出建议等任何非提示词内容 |
|
||||
| R9 | **禁止包含场景描述**——人物衍生资产不涉及场景/环境/天气/背景叙事,场景属于独立资产类型 |
|
||||
| R10 | **禁止道具交互**——不包含任何手持物/交互物(伞/手机/电脑等),道具属于独立资产类型 |
|
||||
| R11 | **姿态保持不变**——必须保持底模自然站立姿态,禁止任何动作/体态/姿势变化 |
|
||||
| R12 | **L1 必须先分析再决策**——先解析用户面部线索,再确定基础妆/轻妆/正式妆 |
|
||||
| R13 | **所有衍生资产均需妆造**——正常情况不保持素颜,至少使用基础妆 |
|
||||
| R14 | **上妆强度受控**——即使上妆也需克制,不得出现现代浓妆/夸张彩妆效果 |
|
||||
| R15 | **道具/场景/动作不作强度升级依据**——仅凭道具,环境,动作等信息不得把基础妆抬高为更强妆容 |
|
||||
| R16 | 必须包含3D动画渲染关键词(cel-shaded, 3D animation render, anime style) |
|
||||
| R17 | 必须包含8K超高清、电影级构图关键词 |
|
||||
| R18 | 必须包含电影级打光关键词(film lighting) |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 叠加后面容偏移 |
|
||||
| X2 | 配饰过于简单/现代化(女性) |
|
||||
| X3 | 妆容/服饰风格互相冲突 |
|
||||
| X4 | 复杂场景背景(必须纯灰底) |
|
||||
| X5 | 四视图间服化妆造不一致 |
|
||||
| X6 | 输出提示词以外的任何内容(表格/方案/建议/解释/变体等) |
|
||||
| X7 | 在人物衍生资产中加入场景描述(山道/雨景/室内/街道/天气等环境元素) |
|
||||
| X8 | 输出「核心要素速查」「分层构建方案」「视觉约束」「禁止事项」「衍生方案」等章节 |
|
||||
| X9 | 加入任何道具交互(手持手机/电脑/咖啡/包包等物品) |
|
||||
| X10 | 改变底模姿态(行走/回眸/举手/侧身/奔跑/低头/仰望等动作描述) |
|
||||
| X11 | 加入表情与姿态联动描述(如「侧身45°行走嘴角浅弯」等叙事性描写) |
|
||||
| X12 | 未分析用户线索就直接套用固定妆容 |
|
||||
| X13 | 错误保持素颜,导致衍生资产缺少应有妆造 |
|
||||
| X14 | 仅因道具/场景/动作词而误把妆容升级,导致妆造强度决策错误 |
|
||||
| X15 | 使用写实摄影术语(如real photography, photorealistic, RAW photo等) |
|
||||
| X16 | 赛璐珞质感过度或不足,需保持适度 |
|
||||
136
data/skills/art_skills/3D_anime_render/art_prompt/art_prop.md
Normal file
@ -0,0 +1,136 @@
|
||||
# 3D动画渲染都市道具图像生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、道具设计原则
|
||||
|
||||
1. **功能可读** — 道具用途一目了然,造型服务于功能
|
||||
2. **质感极致** — 材质纹理必须清晰可辨(金属/玻璃/塑料/木/布),但赛璐珞渲染适度简化
|
||||
3. **年代一致** — 所有道具必须符合现代都市世界观,禁止古代/未来元素
|
||||
4. **尺度明确** — 通过参照物或标注暗示道具真实尺寸
|
||||
5. **纯道具独立展示** — 画面中只能出现道具本身,严禁出现任何人物、手部、肢体,道具不可处于被持有/佩戴/握持状态,必须以静物陈列方式独立呈现
|
||||
|
||||
---
|
||||
|
||||
## 二、道具分类与美学约束
|
||||
|
||||
### 2.1 办公用品类
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 笔记本/钢笔/文件夹/计算器 | {道具类型},都市办公用品 |
|
||||
| 材质 | 塑料/金属/纸张 | 现代材质、都市质感 |
|
||||
| 装饰 | 简约设计、品牌标识 | 简约设计、都市风格 |
|
||||
| 光泽 | 适度光泽、清晰反光 | 适度光泽、清晰反光 |
|
||||
| 提示词 | 3D动画渲染都市{道具},现代材质,简约设计 | — |
|
||||
|
||||
### 2.2 生活器物类
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 咖啡杯/水杯/餐具/灯具 | {器物类型},都市生活器物 |
|
||||
| 材质 | 玻璃/陶瓷/金属/塑料 | 玻璃质感、现代设计 |
|
||||
| 质感 | 表面光滑、材质清晰 | 表面光滑、材质清晰 |
|
||||
| 风格 | 简约/现代按场景切换 | 简约现代 / 都市风格 |
|
||||
| 提示词 | 3D动画渲染都市{器物},{材质}质感,纹理清晰 | — |
|
||||
|
||||
### 2.3 电子设备类
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 手机/平板/耳机/相机 | {设备类型},都市电子设备 |
|
||||
| 材质 | 金属/玻璃/塑料 | 现代设备材质、光滑质感 |
|
||||
| 工艺 | 精致工艺、品牌设计 | 精致工艺、品牌设计 |
|
||||
| 光泽 | 适度反光、屏幕发光效果 | 适度反光、屏幕发光 |
|
||||
| 提示词 | 3D动画渲染都市{设备},现代材质,屏幕发光效果 | — |
|
||||
|
||||
### 2.4 服饰配件类
|
||||
|
||||
| 项目 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 类型 | 眼镜/手表/包包/钥匙扣 | {配件类型},都市服饰配件 |
|
||||
| 材质 | 金属/皮革/织物/玻璃 | 皮革质感、金属质感 |
|
||||
| 工艺 | 品牌工艺、精致设计 | 品牌工艺、精致设计 |
|
||||
| 光泽 | 适度光泽、品牌标识清晰 | 适度光泽、品牌标识清晰 |
|
||||
| 提示词 | 3D动画渲染都市{配件},{材质},品牌设计 | — |
|
||||
|
||||
---
|
||||
|
||||
## 三、多角度设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
| 位置 | 视图 | 角度 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|
|
||||
| 左上 | 正面图 | 正面 0° | 道具完整正面形态 | front view |
|
||||
| 右上 | 侧面图 | 侧面 90° | 厚度/轮廓/结构清晰 | side view |
|
||||
| 左下 | 背面图 | 背面 180° | 道具背部结构/装饰 | back view |
|
||||
| 右下 | 细节特写 | 局部放大 | 材质纹理/工艺细节 | detail closeup |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面四宫格(2×2),上下左右四视角 |
|
||||
| 背景 | 纯净中性灰 #E8E8E8 |
|
||||
| 光线 | 均匀柔光,无硬阴影 |
|
||||
| 比例 | 每格道具占格内主体 70%+ |
|
||||
| 投影 | 允许自然地面微投影(赛璐珞处理) |
|
||||
| 画面比例 | 建议 1:1 |
|
||||
|
||||
---
|
||||
|
||||
## 四、材质渲染约束
|
||||
|
||||
| 材质 | 渲染要求 | 提示词 |
|
||||
|---|---|---|
|
||||
| 金属 | 反光/高光/冷光泽(赛璐珞处理)、划痕微可见 | 金属质感、赛璐珞光泽、反光清晰 |
|
||||
| 玻璃 | 透明度/折射/光晕(赛璐珞简化) | 玻璃质感、透明度清晰 |
|
||||
| 塑料 | 光滑表面/轻微反光 | 塑料质感、光滑表面 |
|
||||
| 皮革 | 纹理清晰/自然褶皱 | 皮革质感、自然纹理 |
|
||||
| 纸张 | 表面纹理/轻微褶皱 | 纸张质感、表面纹理 |
|
||||
| 织物 | 纤维质感/自然褶皱 | 织物质感、自然纹理 |
|
||||
|
||||
---
|
||||
|
||||
## 五、提示词模板
|
||||
|
||||
```
|
||||
3D 动画渲染,电影级打光,活力赛璐珞质感,高细节材质,愉悦治愈氛围,卡通都市风,高细节卡通材质,适度卡通比例,暖色调配色,8K 超高清,电影级构图,柔和光影层次,明快卡通渲染风格,温馨治愈,道具设定图,
|
||||
anime style, cel-shaded, 3D animation render,
|
||||
{道具类型},{材质描述},{工艺/装饰描述},{状态描述},
|
||||
纯道具静物展示,道具独立陈列,无人持有,无人佩戴,
|
||||
同一画面四宫格(2×2):左上正面图+右上侧面图+左下背面图+右下细节特写,
|
||||
纯净中性灰背景,均匀柔光,无硬阴影,
|
||||
材质纹理清晰,赛璐珞渲染,{材质光泽描述},现代卡通都市风格,
|
||||
8K 超高清,电影级构图,
|
||||
图中不要有任何文字,
|
||||
画面中不能出现任何人物、手部、手指、肢体,道具不可处于被握持或佩戴状态
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 六、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 必须指定「纯净中性灰背景」 |
|
||||
| R2 | 必须明确道具材质与工艺 |
|
||||
| R3 | 道具造型必须符合现代都市世界观 |
|
||||
| R4 | 必须包含3D动画渲染关键词(cel-shaded, 3D animation render, anime style) |
|
||||
| R5 | 必须包含8K超高清、电影级构图关键词 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 复杂场景背景 |
|
||||
| X2 | 道具与人物同画面(本环节为纯道具图) |
|
||||
| X3 | 出现任何人物形象,包括全身、半身、局部(手、手指、手臂等肢体) |
|
||||
| X4 | 道具处于被持有、握持、佩戴、使用中的状态 |
|
||||
| X5 | 出现暗示人物存在的元素(如手持痕迹、佩戴视角、使用姿态) |
|
||||
| X6 | 使用写实摄影术语(如real photography, photorealistic, RAW photo等) |
|
||||
| X7 | 过度写实材质纹理、破坏赛璐珞风格一致性 |
|
||||
| X8 | 古代/未来元素、非现代都市风格 |
|
||||
@ -0,0 +1,124 @@
|
||||
# 3D动画渲染都市道具衍生状态生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、衍生原则
|
||||
|
||||
1. **造型锚定** — 道具核心造型/轮廓在所有状态中可识别
|
||||
2. **状态可读** — 状态差异必须一目了然,观众能立即区分
|
||||
3. **叙事服务** — 每种状态变体服务于特定剧情节点
|
||||
4. **渐进退化** — 损伤/老化状态应有合理的物理逻辑(赛璐珞呈现)
|
||||
5. **纯道具独立展示** — 画面中只能出现道具本身,严禁出现任何人物、手部、肢体,道具不可处于被持有/佩戴/握持状态,必须以静物陈列方式独立呈现
|
||||
|
||||
---
|
||||
|
||||
## 二、状态类型
|
||||
|
||||
### 2.1 使用状态
|
||||
|
||||
| 状态 | 描述 | 适用道具 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 崭新 | 完好无损、光泽如新 | 所有道具 | 崭新、完好无损、光泽如新 |
|
||||
| 日常使用 | 微磨损、自然使用痕迹(赛璐珞化) | 所有道具 | 日常使用痕迹、轻微磨损 |
|
||||
| 陈旧 | 明显使用感、色泽暗淡(赛璐珞化) | 器物/配件/电子 | 使用痕迹、岁月感、色泽暗淡 |
|
||||
|
||||
### 2.2 损伤状态
|
||||
|
||||
| 状态 | 描述 | 适用道具 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 微损 | 小裂纹/小缺口/轻微磨损(赛璐珞化) | 玻璃/陶瓷/电子设备 | 细微裂纹、轻微缺口 |
|
||||
| 破损 | 明显裂缝/断裂/破碎(赛璐珞化) | 玻璃/陶瓷/电子设备 | 裂缝明显、碎裂、断裂 |
|
||||
| 残片 | 仅剩部分/碎片(赛璐珞化) | 玻璃/陶瓷/电子设备 | 残片、碎片、仅存半块 |
|
||||
|
||||
### 2.3 特殊状态
|
||||
|
||||
| 状态 | 描述 | 适用道具 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 充电/工作 | 屏幕亮起/指示灯(赛璐珞化) | 电子设备 | 屏幕亮起、工作指示灯 |
|
||||
| 浸水/湿润 | 水渍、湿润反光(赛璐珞化) | 电子设备/纸张 | 浸水、表面湿润、反光 |
|
||||
| 屏幕损坏 | 屏幕裂纹/显示异常 | 电子设备 | 屏幕裂纹、显示异常 |
|
||||
| 电池耗尽 | 指示灯熄灭/电量图标 | 电子设备 | 电量耗尽、指示灯熄灭 |
|
||||
| 收纳/携带 | 收纳袋/收纳盒 | 配件/电子设备 | 收纳袋、收纳盒 |
|
||||
|
||||
---
|
||||
|
||||
## 三、状态变体画面规范
|
||||
|
||||
### 单状态图
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 背景 | 纯净中性灰 #E8E8E8(与设定图一致) |
|
||||
| 光线 | 均匀照明,无硬阴影 |
|
||||
| 角度 | 与原设定图正面图一致 |
|
||||
| 比例 | 道具占画面主体 70%+ |
|
||||
|
||||
### 状态对比图
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面并排展示 2-3 种状态 |
|
||||
| 标注 | 每种状态下方标注状态名 |
|
||||
| 一致性 | 角度/光线/背景完全一致,仅状态不同 |
|
||||
|
||||
---
|
||||
|
||||
## 四、材质状态变化规则
|
||||
|
||||
| 材质 | 崭新 → 日常 | 日常 → 陈旧 | 损伤表现(赛璐珞化) |
|
||||
|---|---|---|---|
|
||||
| 金属 | 亮光泽 → 微划痕 | 划痕 → 色泽暗沉 | 缺口/卷刃/断裂(赛璐珞处理) |
|
||||
| 玻璃 | 透明度 → 微划痕 | 划痕 → 表面磨损 | 裂纹/碎裂/缺角(赛璐珞处理) |
|
||||
| 塑料 | 光滑 → 轻微划痕 | 划痕 → 色泽暗淡 | 开裂/断裂/磨损(赛璐珞处理) |
|
||||
| 皮革 | 光滑 → 自然褶皱 | 褶皱 → 色泽暗淡 | 磨损/裂纹/褪色(赛璐珞处理) |
|
||||
| 纸张 | 平整 → 轻微皱折 | 皱折 → 发黄 | 撕裂/磨损/墨迹晕染(赛璐珞处理) |
|
||||
|
||||
---
|
||||
|
||||
## 五、提示词模板
|
||||
|
||||
### 单状态变体
|
||||
|
||||
```
|
||||
基于{道具名}设定图,3D 动画渲染,电影级打光,活力赛璐珞质感,高细节材质,愉悦治愈氛围,卡通都市风,高细节卡通材质,适度卡通比例,暖色调配色,8K 超高清,电影级构图,柔和光影层次,明快卡通渲染风格,温馨治愈,
|
||||
anime style, cel-shaded, 3D animation render,
|
||||
{道具类型},{材质描述},
|
||||
当前状态:{状态名},{状态视觉描述},
|
||||
{材质表面变化描述},(赛璐珞化处理)
|
||||
纯道具静物展示,道具独立陈列,无人持有,无人佩戴,
|
||||
同一画面四宫格(2×2):左上正面图(front view)+右上侧面图(side view)+左下背面图(back view)+右下细节特写(detail closeup),
|
||||
纯净中性灰背景,均匀柔光,无硬阴影,
|
||||
材质纹理清晰,赛璐珞渲染,状态细节可辨,赛璐珞化处理,
|
||||
8K 超高清,电影级构图,
|
||||
图中不要有任何文字,
|
||||
画面中不能出现任何人物、手部、手指、肢体,道具不可处于被握持或佩戴状态
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 六、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 道具核心造型/轮廓在所有状态中可识别 |
|
||||
| R2 | 状态变化须符合物理逻辑(赛璐珞化) |
|
||||
| R3 | 必须使用四宫格(2×2)布局:左上正面图+右上侧面图+左下背面图+右下细节特写 |
|
||||
| R4 | 必须指定「纯净中性灰背景」,均匀柔光,无硬阴影 |
|
||||
| R5 | 必须包含3D动画渲染关键词(cel-shaded, 3D animation render, anime style) |
|
||||
| R6 | 必须包含8K超高清、电影级构图关键词 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 状态变化后道具不可识别 |
|
||||
| X2 | 违反物理逻辑的损伤(电子产品生锈等) |
|
||||
| X3 | 过度血腥/恐怖的损伤描绘(赛璐珞化限度内) |
|
||||
| X4 | 出现任何人物形象,包括全身、半身、局部(手、手指、手臂等肢体) |
|
||||
| X5 | 道具处于被持有、握持、佩戴、使用中的状态 |
|
||||
| X6 | 出现暗示人物存在的元素(如手持痕迹、佩戴视角、使用姿态) |
|
||||
| X7 | 使用写实摄影术语(如real photography, photorealistic, RAW photo等) |
|
||||
| X8 | 过度写实损伤纹理、破坏赛璐珞风格一致性 |
|
||||
| X9 | 古代/未来元素、非现代都市风格 |
|
||||
164
data/skills/art_skills/3D_anime_render/art_prompt/art_scene.md
Normal file
@ -0,0 +1,164 @@
|
||||
# 3D动画渲染都市场景图生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、场景美学原则
|
||||
|
||||
1. **空间叙事** — 场景承载情绪与叙事功能,不是纯背景板
|
||||
2. **层次纵深** — 所有场景必须具备前/中/后景,杜绝扁平
|
||||
3. **质感至上** — 木纹/石质/布料/水面等材质纹理清晰,但赛璐珞渲染简化
|
||||
4. **赛璐珞为锚** — 一切画面以3D动画渲染+赛璐珞为标准,拒绝写实摄影/CG 动画质感;保持动画风格一致性与镜头特征
|
||||
5. **都市氛围** — 现代都市景观、建筑风格、色调统一
|
||||
|
||||
---
|
||||
|
||||
## 二、季节色调映射
|
||||
|
||||
| 季节 | 主色调 | 辅色调 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 春 | 青翠 + 桃粉 | 浅蓝、鹅黄 | 春色青翠、花开满枝 |
|
||||
| 夏 | 碧绿 + 荷粉 | 天青、白色 | 夏意盎然、绿树成荫 |
|
||||
| 秋 | 赤红 + 金黄 | 琥珀、浅灰 | 秋意浓、红叶飘落 |
|
||||
| 冬 | 素白 + 霜银 | 深蓝、浅灰 | 冬雪覆盖、冬日宁静 |
|
||||
|
||||
---
|
||||
|
||||
## 三、城市建筑
|
||||
|
||||
### 空间规范
|
||||
|
||||
| 维度 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 风格 | 现代都市、写字楼/住宅/商业区 | 现代都市建筑 |
|
||||
| 材质 | 玻璃/混凝土/金属为主(赛璐珞化) | 现代材质、赛璐珞渲染 |
|
||||
| 色调 | 暖色调为主、黄昏霞光氛围 | 暖色调、黄昏氛围 |
|
||||
| 纵深 | 前/中/后景层次(赛璐珞纵深) | 前景{元素}、中景{元素}、后景{元素} |
|
||||
| 质感 | 建筑纹理清晰(赛璐珞化) | 纹理清晰、赛璐珞质感 |
|
||||
| 光照 | 自然光为主(窗光/路灯),光线柔和 | 自然光、柔和光照 |
|
||||
| 镜头感 | 浅景深虚化前后景、赛璐珞镜头效果 | shallow depth of field、赛璐珞镜头 |
|
||||
| 瑕疵感 | 建筑有使用痕迹、自然磨损(赛璐珞化) | 自然磨损、赛璐珞处理 |
|
||||
|
||||
### 城市类型速查
|
||||
|
||||
| 类型 | 核心元素 | 氛围词 |
|
||||
|---|---|---|
|
||||
| 商业街区 | 高楼大厦/商铺/广告牌 | 繁华热闹、现代都市 |
|
||||
| 住宅区 | 公寓楼/花园/街道 | 温馨生活、宁静社区 |
|
||||
| 办公区 | 写字楼/停车场/咖啡区 | 职场氛围、商务气息 |
|
||||
| 公园绿地 | 树木/步道/长椅 | 休闲放松、绿意盎然 |
|
||||
| 交通枢纽 | 地铁站/公交站/人行天桥 | 繁忙交通、都市脉搏 |
|
||||
| 河滨/湖畔 | 水域/步道/灯光 | 浪漫氛围、水景优美 |
|
||||
|
||||
---
|
||||
|
||||
## 四、室内外场景
|
||||
|
||||
### 室内空间规范
|
||||
|
||||
| 维度 | 约束 | 提示词 |
|
||||
|---|---|---|
|
||||
| 风格 | 办公室/咖啡厅/公寓/便利店 | 现代室内风格 |
|
||||
| 材质 | 地板/墙面/家具(赛璐珞化) | 现代材质、赛璐珞渲染 |
|
||||
| 色调 | 暖色调为主、黄昏氛围 | 暖色调、温馨氛围 |
|
||||
| 纵深 | 前/中/后景层次 | 前景{元素}、中景{元素}、后景{元素} |
|
||||
| 质感 | 材质纹理清晰(赛璐珞化) | 纹理清晰、赛璐珞质感 |
|
||||
| 光照 | 自然光+室内灯光,光线柔和 | 自然光、室内灯光、柔和 |
|
||||
| 镜头感 | 浅景深虚化前后景 | shallow depth of field、室内镜头 |
|
||||
| 瑕疵感 | 家具有使用痕迹、自然磨损 | 自然磨损、赛璐珞处理 |
|
||||
|
||||
### 室内类型速查
|
||||
|
||||
| 类型 | 核心元素 | 氛围词 |
|
||||
|---|---|---|
|
||||
| 办公室 | 办公桌/电脑/文件/椅子 | 职场氛围、商务气息 |
|
||||
| 咖啡厅 | 咖啡桌/座椅/吧台/装饰 | 温馨惬意、休闲氛围 |
|
||||
| 公寓 | 沙发/床/书架/装饰 | 居家温馨、舒适空间 |
|
||||
| 便利店 | 货架/收银台/饮料 | 生活便利、日常感 |
|
||||
| 餐厅 | 餐桌/椅子/厨房 | 餐饮氛围、温馨就餐 |
|
||||
| 健身房 | 跑步机/器械/镜子 | 运动氛围、活力空间 |
|
||||
|
||||
---
|
||||
|
||||
## 五、四视图设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
> 摄像机固定于场景中心点,分别朝前/后/左/右四个方向拍摄,形成 360° 环视。
|
||||
|
||||
| 位置 | 视图 | 视角方向 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|
|
||||
| 左上 | 前视图 | 从中心点向前方平视(0°) | 展示场景正面主体结构与纵深层次 | front view、eye level、looking forward |
|
||||
| 右上 | 右视图 | 从中心点向右方平视(90°) | 展示场景右侧空间延伸与侧面结构 | right side view、eye level、looking right |
|
||||
| 左下 | 后视图 | 从中心点向后方平视(180°) | 展示场景背面结构与空间纵深 | back view、eye level、looking backward |
|
||||
| 右下 | 左视图 | 从中心点向左方平视(270°) | 展示场景左侧空间延伸与侧面结构 | left side view、eye level、looking left |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面 2×2 网格排列:上排(前视图 + 右视图),下排(后视图 + 左视图),形成从中心点环视的四方向视图 |
|
||||
| 人物 | **严禁出现任何人物、人影、人体轮廓** |
|
||||
| 视点 | 四视图均从同一中心点出发,视线高度一致(人眼平视高度) |
|
||||
| 一致性 | 四视图的建筑结构/材质/色调/光线/季节/天候完全一致 |
|
||||
| 光线 | 四视图光源方向统一,保持光影逻辑一致(光源在不同视角下的位置关系正确,赛璐珞化处理) |
|
||||
| 画面比例 | 建议 1:1(2×2 网格) |
|
||||
|
||||
---
|
||||
|
||||
## 六、提示词模板
|
||||
```
|
||||
3D 动画渲染,电影级打光,活力赛璐珞质感,高细节材质,愉悦治愈氛围,卡通都市风,高细节卡通材质,适度卡通比例,暖色调配色,8K 超高清,电影级构图,柔和光影层次,明快卡通渲染风格,温馨治愈,都市场景四视图设定图,
|
||||
anime style, cel-shaded, 3D animation render,
|
||||
film lighting, warm sunset lighting,
|
||||
scene design sheet, environment concept art, no people, no characters, no human figures,
|
||||
{室内/室外},{场景类型},{建筑风格},{季节+时间},
|
||||
前景:{元素},中景:{元素},后景:{元素},
|
||||
{色调描述},{天候/氛围元素},
|
||||
{材质描述},空气透视,纹理清晰,赛璐珞化处理,
|
||||
材质自然使用痕迹,生活感磨损,布料自然垂褶(赛璐珞化),
|
||||
自然光漫射,体积光,赛璐珞光效,赛璐珞投影,
|
||||
同一画面2×2网格排列:从场景中心点环视,前视图+右视图+后视图+左视图,
|
||||
四视图均从同一中心点平视拍摄,建筑结构一致,材质色调一致,光影逻辑一致,
|
||||
画面中无任何人物,
|
||||
赛璐珞渲染风格,柔和光影,适度卡通比例,高细节卡通材质,
|
||||
暖色调配色,黄昏霞光氛围,愉悦治愈氛围,
|
||||
8K 超高清,电影级构图,
|
||||
图中不要有任何文字
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 七、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 场景必须有「前中后景层次」 |
|
||||
| R2 | 室外必须包含「空气透视」 |
|
||||
| R3 | 场景图必须为「四视图设定图」(从中心点环视:前视图 + 右视图 + 后视图 + 左视图) |
|
||||
| R4 | 四视图的建筑结构/材质/色调/光线/季节/天候必须完全一致 |
|
||||
| R5 | 场景图中**严禁出现任何人物** |
|
||||
| R6 | 必须包含3D动画渲染关键词(cel-shaded, 3D animation render, anime style) |
|
||||
| R7 | 必须包含镜头光学特征(shallow depth of field / lens vignette / bokeh 至少一项,赛璐珞化处理) |
|
||||
| R8 | 材质必须带有自然磨损/岁月痕迹,禁止全新无瑕的"CG 感",但赛璐珞化呈现 |
|
||||
| R9 | 必须保持赛璐珞渲染风格一致性,不得混搭写实元素 |
|
||||
| R10 | 必须包含暖色调配色、黄昏霞光氛围关键词 |
|
||||
| R11 | 必须包含8K超高清、电影级构图关键词 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 背景纯白/纯黑/无场景 |
|
||||
| X2 | 极端天候(暴风雨/雷电/暴雪,除非剧情需要,且需赛璐珞化) |
|
||||
| X3 | 场景无纵深/无层次 |
|
||||
| X4 | 植被/天候与季节矛盾 |
|
||||
| X5 | 出现任何人物、人影、人体剪影或人体轮廓 |
|
||||
| X6 | 四视图之间建筑结构/材质/色调不一致,或视点中心不统一 |
|
||||
| X7 | 3D 渲染/CG 动画/游戏引擎质感(禁用 3D render、CGI、Unreal Engine、Unity 等词),但需明确赛璐珞动画渲染 |
|
||||
| X8 | 材质过于干净完美、无任何使用痕迹与岁月感(避免"塑料感"),需赛璐珞化处理 |
|
||||
| X9 | 光照过于均匀平坦、无景深虚化、无镜头光学特征 |
|
||||
| X10 | 使用写实摄影术语(如real photography, photorealistic, RAW photo等) |
|
||||
| X11 | 古代/未来元素、非现代都市风格 |
|
||||
| X12 | 冷色调/夜间主色调、非暖色调/黄昏氛围 |
|
||||
@ -0,0 +1,173 @@
|
||||
# 3D动画渲染都市场景衍生资产生成 · 约束手册
|
||||
|
||||
---
|
||||
|
||||
## 一、衍生原则
|
||||
|
||||
1. **空间一致** — 建筑结构/布局/材质在所有变体中保持一致
|
||||
2. **景别驱动** — 同一场景通过不同景别展示不同叙事功能
|
||||
3. **时段切换** — 同一空间在不同时间段呈现不同光影氛围
|
||||
4. **天候变化** — 同一空间在不同天气下呈现不同情绪
|
||||
5. **赛璐珞为锚** — 所有变体必须保持3D动画渲染+赛璐珞风格,拒绝写实摄影/CG 动画感;保持镜头特征与光影一致性
|
||||
6. **都市氛围统一** — 所有变体需保持现代都市风格、暖色调配色
|
||||
|
||||
---
|
||||
|
||||
## 二、景别变体
|
||||
|
||||
### 景别定义
|
||||
|
||||
| 景别 | 范围 | 叙事功能 | 提示词 |
|
||||
|---|---|---|---|
|
||||
| 大全景 | 场景全貌 + 周围环境 | 建立空间感、定位 | extreme wide shot、大全景 |
|
||||
| 全景 | 场景完整呈现 | 展示空间结构 | wide shot、全景 |
|
||||
| 中景 | 场景局部区域 | 聚焦功能区 | medium shot、中景 |
|
||||
| 近景 | 场景细部 | 材质/氛围道具特写 | close shot、近景 |
|
||||
| 特写 | 极局部细节 | 材质纹理/关键道具 | extreme closeup、特写 |
|
||||
|
||||
### 景别衍生规范
|
||||
|
||||
| 从基准图衍生 | 保持不变 | 允许变化 |
|
||||
|---|---|---|
|
||||
| 大全景 → 全景 | 建筑外观、整体布局 | 视角收窄、前景增加 |
|
||||
| 全景 → 中景 | 材质、色调、光线 | 裁切聚焦、景深变化 |
|
||||
| 中景 → 近景 | 材质、色调 | 景深浅、背景虚化 |
|
||||
| 近景 → 特写 | 材质纹理 | 极浅景深、微距感 |
|
||||
|
||||
---
|
||||
|
||||
## 三、时段变体
|
||||
|
||||
### 时段定义
|
||||
|
||||
| 时段 | 视觉特征 | 提示词 |
|
||||
|---|---|---|
|
||||
| 清晨 | 薄雾柔光、色调偏冷暖交织(赛璐珞化) | 晨光微熹、清晨薄雾 |
|
||||
| 正午 | 明亮、阴影短、色彩鲜明(赛璐珞化) | 正午阳光、光线明亮 |
|
||||
| 黄昏 | 金色色调、长影、天空渐变(赛璐珞化) | 暮色金辉、golden hour |
|
||||
| 夜间(月光) | 冷蓝色调、幽静清冷(赛璐珞化) | 月光清辉、moonlight |
|
||||
| 夜间(灯火) | 暖黄点缀、明暗对比(赛璐珞化) | 灯火阑珊、烛光点点 |
|
||||
|
||||
### 时段衍生规范
|
||||
|
||||
| 从基准时段衍生 | 保持不变 | 变化项 |
|
||||
|---|---|---|
|
||||
| 日间 → 黄昏 | 建筑/布局/材质 | 天空色调暖化、影子拉长(赛璐珞化) |
|
||||
| 日间 → 夜间 | 建筑/布局/材质 | 整体变暗、增加灯火/月色氛围(赛璐珞化) |
|
||||
| 室内日间 → 室内夜间 | 空间结构、家具 | 整体色调暖化、增加烛火/灯笼元素(赛璐珞化) |
|
||||
|
||||
---
|
||||
|
||||
## 四、天候变体
|
||||
|
||||
### 天候定义
|
||||
|
||||
| 天候 | 视觉特征 | 提示词 |
|
||||
|---|---|---|
|
||||
| 晴天 | 明亮、阴影清晰(赛璐珞化) | 晴空万里、阳光明媚 |
|
||||
| 阴天 | 光线均匀、无硬影(赛璐珞化) | 阴天柔光、overcast |
|
||||
| 薄雾 | 能见度降低、空气朦胧(赛璐珞化) | 薄雾弥漫、雾气缭绕 |
|
||||
| 细雨 | 水珠、湿润反光、雨丝(赛璐珞化) | 细雨如丝、雨幕轻纱 |
|
||||
| 飞雪 | 白色覆盖、雪花飘落(赛璐珞化) | 飞雪纷纷、银装素裹 |
|
||||
|
||||
### 天候衍生规范
|
||||
|
||||
| 从基准天候衍生 | 保持不变 | 变化项 |
|
||||
|---|---|---|
|
||||
| 晴 → 薄雾 | 建筑/布局 | 增加雾气层、远景模糊、饱和度降低(赛璐珞化) |
|
||||
| 晴 → 细雨 | 建筑/布局 | 增加雨丝、地面反光、色调偏冷(赛璐珞化) |
|
||||
| 晴 → 飞雪 | 建筑/布局 | 增加积雪、雪花、色调偏白(赛璐珞化) |
|
||||
| 植被需随天候逻辑适配 | — | 雨中花瓣湿润、雪中枯枝挂霜(赛璐珞化) |
|
||||
|
||||
---
|
||||
|
||||
## 五、四视图设定图规范
|
||||
|
||||
### 视图定义
|
||||
|
||||
> 摄像机固定于场景中心点,分别朝前/后/左/右四个方向拍摄,形成 360° 环视。
|
||||
|
||||
| 位置 | 视图 | 视角方向 | 要求 | 提示词 |
|
||||
|---|---|---|---|---|
|
||||
| 左上 | 前视图 | 从中心点向前方平视(0°) | 展示场景正面主体结构与纵深层次 | front view、eye level、looking forward |
|
||||
| 右上 | 右视图 | 从中心点向右方平视(90°) | 展示场景右侧空间延伸与侧面结构 | right side view、eye level、looking right |
|
||||
| 左下 | 后视图 | 从中心点向后方平视(180°) | 展示场景背面结构与空间纵深 | back view、eye level、looking backward |
|
||||
| 右下 | 左视图 | 从中心点向左方平视(270°) | 展示场景左侧空间延伸与侧面结构 | left side view、eye level、looking left |
|
||||
|
||||
### 画面规范
|
||||
|
||||
| 项目 | 约束 |
|
||||
|---|---|
|
||||
| 布局 | 同一画面四宫格(2×2),左上前视图+右上右视图+左下后视图+右下左视图,形成从中心点环视的四方向视图 |
|
||||
| 人物 | **严禁出现任何人物、人影、人体轮廓** |
|
||||
| 视点 | 四视图均从同一中心点出发,视线高度一致(人眼平视高度) |
|
||||
| 一致性 | 四视图的建筑结构/材质/色调/光线/季节/天候完全一致 |
|
||||
| 光线 | 四视图光源方向统一,保持光影逻辑一致(光源在不同视角下的位置关系正确,赛璐珞化处理) |
|
||||
| 画面比例 | 建议 1:1(2×2 网格) |
|
||||
|
||||
---
|
||||
|
||||
## 六、提示词模板
|
||||
```
|
||||
3D 动画渲染,电影级打光,活力赛璐珞质感,高细节材质,愉悦治愈氛围,卡通都市风,高细节卡通材质,适度卡通比例,暖色调配色,8K 超高清,电影级构图,柔和光影层次,明快卡通渲染风格,温馨治愈,衍生四视图设定图,基于{场景名}概念图,
|
||||
anime style, cel-shaded, 3D animation render,
|
||||
film lighting, warm sunset lighting,
|
||||
scene derivative design sheet, environment concept art, no people, no characters, no human figures,
|
||||
保持场景空间结构一致,
|
||||
{景别视角(如有)},{时段描述(如有)},{天候描述(如有)},
|
||||
{前景},{中景},{后景},
|
||||
{色调描述},{景深描述(如有)},{天空色调变化(如有)},{氛围调整(如有)},
|
||||
{天候视觉特征(如有)},{材质表面变化(如有)},{植被适配描述(如有)},
|
||||
材质自然使用痕迹,生活感磨损,布料自然垂褶(赛璐珞化),
|
||||
自然光漫射,体积光,赛璐珞光效,赛璐珞投影,
|
||||
空气透视,纹理清晰,赛璐珞化处理,
|
||||
同一画面四宫格(2×2):从场景中心点环视,前视图+右视图+后视图+左视图,
|
||||
四视图均从同一中心点平视拍摄,建筑结构一致,材质色调一致,光影逻辑一致,
|
||||
画面中无任何人物,
|
||||
赛璐珞渲染风格,柔和光影,适度卡通比例,高细节卡通材质,
|
||||
暖色调配色,黄昏霞光氛围,愉悦治愈氛围,
|
||||
8K 超高清,电影级构图,
|
||||
图中不要有任何文字
|
||||
```
|
||||
|
||||
> **使用说明**:根据用户提供的信息自行判断需要应用的变化维度(景别/时段/天候),未提及的维度对应字段留空省略即可。无需为每种变体单独生成模板。
|
||||
|
||||
---
|
||||
|
||||
## 七、约束规则
|
||||
|
||||
### 必守
|
||||
|
||||
| 编号 | 规则 |
|
||||
|---|---|
|
||||
| R1 | 场景空间结构在所有变体中保持一致 |
|
||||
| R2 | 时段变体必须调整天空色调与氛围(赛璐珞化) |
|
||||
| R3 | 天候变体必须适配植被/材质表面(赛璐珞化) |
|
||||
| R4 | 必须为「四视图设定图」(从中心点环视:前视图 + 右视图 + 后视图 + 左视图) |
|
||||
| R5 | 四视图的建筑结构/材质/色调/光线/季节/天候必须完全一致 |
|
||||
| R6 | 场景图中**严禁出现任何人物** |
|
||||
| R7 | 根据用户提供的信息自行判断变化维度,无需拆分为独立模板 |
|
||||
| R8 | 必须包含3D动画渲染关键词(cel-shaded, 3D animation render, anime style) |
|
||||
| R9 | 必须包含镜头光学特征(shallow depth of field / lens vignette / bokeh 至少一项,赛璐珞化处理) |
|
||||
| R10 | 材质必须带有自然磨损/岁月痕迹,禁止全新无瑕的"CG 感",但赛璐珞化呈现 |
|
||||
| R11 | 必须保持赛璐珞渲染风格一致性,不得混搭写实元素 |
|
||||
| R12 | 必须包含暖色调配色、黄昏霞光氛围关键词 |
|
||||
| R13 | 必须包含8K超高清、电影级构图关键词 |
|
||||
| R14 | 必须包含电影级打光、愉悦治愈氛围关键词 |
|
||||
|
||||
### 严禁
|
||||
|
||||
| 编号 | 严禁 |
|
||||
|---|---|
|
||||
| X1 | 变体间建筑结构/布局不一致 |
|
||||
| X2 | 天候与季节矛盾(夏天飞雪等,赛璐珞化限度内) |
|
||||
| X3 | 变体间材质/风格突变 |
|
||||
| X4 | 出现任何人物、人影、人体剪影或人体轮廓 |
|
||||
| X5 | 四视图之间建筑结构/材质/色调不一致,或视点中心不统一 |
|
||||
| X6 | 3D 渲染/CG 动画/卡通/游戏引擎质感(禁用 3D render、CGI、Unreal Engine、Unity 等词),但需明确赛璐珞动画渲染 |
|
||||
| X7 | 材质过于干净完美、无任何使用痕迹与岁月感(避免"塑料感"),需赛璐珞化处理 |
|
||||
| X8 | 光照过于均匀平坦、无景深虚化、无镜头光学特征 |
|
||||
| X9 | 使用写实摄影术语(如real photography, photorealistic, RAW photo等) |
|
||||
| X10 | 古代/未来元素、非现代都市风格 |
|
||||
| X11 | 冷色调/夜间主色调、非暖色调/黄昏氛围 |
|
||||
| X12 | 缺少愉悦治愈氛围关键词 |
|
||||
@ -0,0 +1,11 @@
|
||||
# 视频提示词 · 视觉风格约束
|
||||
|
||||
生成视频提示词时,必须注入以下视觉风格标签:
|
||||
|
||||
| 模式 | 风格标签 |
|
||||
|------|----------|
|
||||
| **通用多参模式(英文)** | `3D anime render, cel-shaded 3D, cinematic lighting, warm tones, high-detail textures, clear outlines` |
|
||||
| **通用首尾帧模式(英文)** | `3D anime render, cel-shaded 3D, cinematic lighting, warm tones, high-detail textures, clear outlines, shallow depth of field` |
|
||||
| **Seedance 2.0(中文)** | `3D动画渲染,赛璐珞质感,电影级光影,温暖色调,高细节材质,清晰轮廓线` |
|
||||
|
||||
|
||||
@ -0,0 +1,85 @@
|
||||
---
|
||||
name: director_planning_style
|
||||
description: 3D动画渲染约束 — 定义3D卡通渲染在色调体系、光影方案、质感方向、都市场景空间元素、乐器选择与环境音上的全局约束。适用于任何叙事类型。
|
||||
metaData: director_skills
|
||||
---
|
||||
|
||||
# 3D动画渲染约束 · 3D卡通渲染 · 技法参考
|
||||
|
||||
---
|
||||
|
||||
## 一、色调体系与画面基调
|
||||
|
||||
- **色调基底** — 全片以暖橙(C1)、天空蓝(C3)、樱花粉(C5)为基底色,整体色温偏暖(4800-5200K),饱和度中高(65-80%),呈现明快 3D 动画的温暖治愈感
|
||||
- **冷暖叙事对比** — 暖色(暖橙 C1、琥珀暖、暖粉)贯穿全片作为基调,冷色(淡蓝 C3、淡紫 C6)作为局部点缀增加层次感。冷暖切换应与故事弧线同步,而非随意混用
|
||||
- **冷暖分配策略** — 全片保持暖调基底,冷色调仅在夜晚或情绪转折段落使用,形成冷暖对比
|
||||
- **色盘先行原则** — 段落规划需先绑定情绪场景(相遇/日常/冒险/离别等),再确定主色+辅色与光影方案,避免"剧情对了但情绪不对色"
|
||||
- **禁用色域** — 暗沉灰暗色系、过度饱和的脏色、与 3D 动画明快气质不匹配的色彩体系均不兼容
|
||||
|
||||
---
|
||||
|
||||
## 二、光影方案体系
|
||||
|
||||
- **光影即叙事** — 6 套光影方案对应不同情绪段落,导演规划阶段应在段落层面确定光影基调方向,而非逐镜指定
|
||||
- **光源角度** — 默认 45° 侧逆光,模拟黄昏霞光效果
|
||||
|
||||
| 光影方案 | 方案名 | 色调倾向 | 适用情绪 |
|
||||
|---|---|---|---|
|
||||
| A | 柔和晨光 | 暖黄底 + 均匀柔和光 | 全片开场、都市清晨 |
|
||||
| B | 暖调侧光 | 暖橙主调 + 局部暖光 | 日常温馨、咖啡厅/居家 |
|
||||
| C | 顶光 + 环境光 | 中性暖 + 柔和冷白 | 工作/学习段落 |
|
||||
| D | 逆光霞光 | 琥珀暖主导 + 暖粉点缀 | 黄昏浪漫、甜蜜段落 |
|
||||
| E | 霓虹光晕 | 暖橙 + 冷蓝背景 | 夜晚街景、浪漫段落 |
|
||||
| F | 暖光柔焦 | 暖黄主调 + 雾化效果 | 回忆/情感段落 |
|
||||
|
||||
- **冷暖光分配** — 暖色调贯穿全片可用,冷色调(冷蓝 + 暖色对比)在夜晚或情绪转折后使用。导演可根据叙事需要调整冷暖切换点
|
||||
- **氛围方向映射** — 每场戏的氛围方向应能映射到上述光影方案(A-F)的某一方向,确保视觉一致性
|
||||
|
||||
---
|
||||
|
||||
## 三、质感方向
|
||||
|
||||
- **赛璐珞纪实感** — 3D 动画渲染的核心:轮廓线清晰、上色明快、柔和光影层次
|
||||
- **高细节材质 + 柔和光影** — 这是画面质感的锚点。不是过度平滑,不是现代写实渲染,是 3D 动画特有的赛璐珞质感
|
||||
- **材质细节丰富** — 所有服化道的材质细节应可信:衣料的褶皱纹理、金属的卡通高光、食物的温暖光泽。禁止"过度写实"和"粗糙低模感"
|
||||
- **赛璐珞不等于扁平** — 3D 动画强调赛璐珞质感表达(清晰轮廓线、明快上色、柔和光影层次),通过光影与构图设计放大感染力,而非依赖过度复杂特效
|
||||
|
||||
---
|
||||
|
||||
## 四、都市场景空间元素
|
||||
|
||||
3D 动画都市世界观特有的场景元素及其视觉叙事功能:
|
||||
|
||||
- **门窗框/走廊/楼梯** — 天然的框架式构图道具,制造空间纵深与层次感
|
||||
- **街道/公园/天空** — 留白构图的天然载体,景即情:黄昏街道的长影 = 浪漫感、咖啡厅暖光 = 安全感、高楼窗景 = 都市距离感
|
||||
- **台灯/霓虹/窗光** — 都市世界的光源载体,台灯 = 暖/私密(方案 B)、霓虹 = 活力/浪漫(方案 E)、窗光 = 日常/静谧(方案 A)
|
||||
- **段落间用场景空镜过渡** — 本风格有丰富的场景资产(不同时段/天候/天气变体),段落衔接建议用场景空镜做情绪缓冲,不要硬切
|
||||
- **转折点用画面 + 动作** — 优先使用画面手段(光影变化、场景转换)配合动作设计,而非依赖对白解释
|
||||
|
||||
---
|
||||
|
||||
## 五、都市乐器与环境音
|
||||
|
||||
3D 动画都市世界观下的声音元素约束:
|
||||
|
||||
### 乐器选择
|
||||
|
||||
- **钢琴** — 日常/温馨/回忆段落的核心乐器,最能表现 3D 动画的质感
|
||||
- **吉他** — 轻松/浪漫/街头段落,扫弦的温柔感适合都市氛围
|
||||
- **弦乐铺底** — 情感升华/离别段落,拉弦的细腻感适合情绪过渡
|
||||
- **电子音效** — 年轻感/节奏感段落,适合现代都市场景
|
||||
- 环境音是重要元素但不宜喧宾夺主
|
||||
|
||||
### 乐器组合策略
|
||||
|
||||
| 情绪阶段 | 乐器组合 |
|
||||
|---|---|
|
||||
| 平稳/开场/收尾 | 吉他独奏 或 电子音效 |
|
||||
| 日常温馨 | 钢琴 + 轻吉他 |
|
||||
| 情绪升华/浪漫 | 弦乐 + 钢琴 |
|
||||
| 紧张/急促 | 电子音效 + 弦乐衬底 |
|
||||
|
||||
### 都市环境音
|
||||
|
||||
- **典型环境音层次** — 城市车流声 / 咖啡店背景音 / 地铁提示音 / 风吹树叶声 / 人群交谈声 / 脚步声 / 电梯声
|
||||
- **每场戏标注 1-2 个核心环境音**,帮助后续音效设计。环境音层次越丰富,都市场景越有沉浸感
|
||||
@ -0,0 +1,194 @@
|
||||
---
|
||||
name: director_storyboard
|
||||
description: 导演分镜提示词技法 · 3D 动画渲染
|
||||
metaData: director_skills
|
||||
---
|
||||
|
||||
# 分镜提示词 · 3D 动画渲染 · 风格专属技法
|
||||
|
||||
---
|
||||
|
||||
## 适用范围
|
||||
|
||||
本 Skill 专用于**3D 动画渲染**风格的分镜提示词生成。
|
||||
|
||||
---
|
||||
|
||||
## 情绪 → 面容/眼神词映射
|
||||
|
||||
| 情绪输入 | 面容词 | 眼神词 | 微表情补充 |
|
||||
|----------|--------|--------|-----------|
|
||||
| 心动 / 欣喜 | 嘴角微扬,脸颊微红 | 眼神明亮,目光温柔 | 眼睛弯月形,表情生动 |
|
||||
| 悲伤 / 失落 | 神情低落,眼眶微红 | 眼神黯淡,目光游离 | 眉心轻蹙,表情内敛 |
|
||||
| 惊讶 / 好奇 | 眼睛放大,表情生动 | 眼神集中,目光好奇 | 嘴巴微张,动作自然 |
|
||||
| 温柔 / 深情 | 神情柔和,眉眼温润 | 眼神专注,目光深情 | 嘴角微扬,表情克制温暖 |
|
||||
| 坚定 / 勇敢 | 神情严肃,眼神坚定 | 目光清澈,眼神专注 | 表情坚定,气质清亮 |
|
||||
| 害羞 / 羞涩 | 脸颊泛红,表情自然 | 目光低垂,不敢直视 | 手指轻触脸颊,动作轻柔 |
|
||||
| 温暖 / 感动 | 表情柔和,眼角带笑 | 眼神温暖,目光柔和 | 嘴角上扬,表情真诚 |
|
||||
| 孤独 / 怀念 | 神情安静,眼神悠远 | 目光放空,若有所思 | 表情平静,气质安静 |
|
||||
| 快乐 / 雀跃 | 笑容灿烂,眼睛明亮 | 眼神灵动,表情生动 | 身体前倾,动作轻快 |
|
||||
| 紧张 / 不安 | 表情略显僵硬,眉头微皱 | 眼神游离,目光不确定 | 手指捏紧,动作紧张 |
|
||||
|
||||
---
|
||||
|
||||
## 光影氛围词库(3D 动画渲染)
|
||||
|
||||
### 时间段光线
|
||||
|
||||
| 时间段 | 主光词 | 色调词 | 气氛词 |
|
||||
|--------|--------|--------|---------|
|
||||
| 清晨 | 柔和晨光,散射光线 | 暖黄调 + 淡蓝点缀 | 清新感,光线透过窗户 |
|
||||
| 午后 | 柔和斜侧光,漫射光线 | 暖调为主 | 光影斑驳,温暖感 |
|
||||
| 黄昏/日落 | 逆光霞光,橙色余晖 | 暖橙 + 粉色点缀 | 长影拉伸,浪漫感 |
|
||||
| 夜间 | 霓虹光晕,局部暖光 | 暖橙主调 + 冷色点缀 | 都市感,光影层次 |
|
||||
| 室内日常 | 暖调侧光,均匀柔和 | 暖黄为主 | 温馨感,家庭氛围 |
|
||||
| 城市空景 | 霞光漫射,柔和光晕 | 暖橙主调 | 开阔感,都市美学 |
|
||||
|
||||
### 情绪光影
|
||||
|
||||
| 情绪基调 | 光线类型 | 补充约束 |
|
||||
|----------|----------|---------|
|
||||
| 心动/温情 | 柔和侧光,暖调漫射 | 浅景深,背景轻微虚化 |
|
||||
| 悲伤/失落 | 冷调侧光,低调打光 | 面部局部暗部留存 |
|
||||
| 浪漫/甜蜜 | 逆光霞光,轮廓光 | 暖色光晕,背景轻微过曝 |
|
||||
| 怀旧/回忆 | 柔焦暖光,雾化效果 | 边缘轻微模糊,整体柔和 |
|
||||
| 日常/温馨 | 均匀漫射光,中性暖调 | 光线柔和,无明显阴影 |
|
||||
| 夜晚/都市 | 霓虹光晕,冷暖对比 | 明暗对比,层次清晰 |
|
||||
|
||||
---
|
||||
|
||||
## 场景质感约束词(按场景类型)
|
||||
|
||||
| 场景类型 | 必加约束词 |
|
||||
|----------|-----------|
|
||||
| 现代都市 | 精细建筑结构,高楼大厦,玻璃幕墙,城市天际线 |
|
||||
| 咖啡厅/餐厅 | 木质桌椅,暖色灯光,窗外街景,咖啡杯细节 |
|
||||
| 居家空间 | 现代家具,暖色台灯,生活杂物细节,温馨氛围 |
|
||||
| 办公室 | 玻璃隔断,办公桌,电脑屏幕,现代办公椅 |
|
||||
| 街道/广场 | 柏油路面,路灯,行人,现代建筑 |
|
||||
| 商场/室内 | 大理石地面,玻璃橱窗,商业空间,照明灯光 |
|
||||
| 公园/绿地 | 草地纹理,树木阴影,长椅,远处建筑 |
|
||||
| 车内/公共交通 | 座椅布料,车窗反射,仪表盘光,窗外街景虚化 |
|
||||
|
||||
---
|
||||
|
||||
## 固定风格锚定词(所有输出必须包含)
|
||||
|
||||
**3D 动画锚定(必选):**
|
||||
|
||||
3D 动画渲染,赛璐珞质感,电影级打光,高细节材质
|
||||
|
||||
**轮廓线条(所有输出必选):**
|
||||
|
||||
清晰轮廓线,明快卡通渲染,轮廓线均匀一致,无断线无粗糙边缘
|
||||
|
||||
**材质质感(含材质镜头时必选):**
|
||||
|
||||
高细节材质,写实材质与卡通比例结合,材质纹理清晰,表面质感细腻
|
||||
|
||||
**光影层次(含光影场景时必选):**
|
||||
|
||||
柔和光影层次,明暗对比清晰,光效柔和自然,暖色调主导
|
||||
|
||||
**氛围锚定(必选):**
|
||||
|
||||
愉悦治愈氛围,3D 动画美学,温馨情感表达,现代都市风情
|
||||
|
||||
**画质锁定词(所有输出必须包含,置于风格收尾之后):**
|
||||
|
||||
模式A(中文)——默认:
|
||||
8K 超高清,线条清晰,材质细腻,色彩饱满,画面无杂色无噪点
|
||||
|
||||
模式A(中文)——画内文字场景(画面描述中含招牌/标识等道具文字时):
|
||||
8K 超高清,线条清晰,材质细腻,色彩饱满,画面无杂色无噪点,招牌/标识等道具文字清晰可读
|
||||
|
||||
模式B(英文)——默认:
|
||||
8K ultra HD, clear cel-shading, detailed materials, warm tones, no digital artifacts, no grain, no noise
|
||||
|
||||
模式B(英文)——画内文字场景:
|
||||
|
||||
8K ultra HD, clear cel-shading, detailed materials, warm tones, no digital artifacts, no grain, no noise
|
||||
|
||||
模式B(英文)——画内文字场景:
|
||||
|
||||
8K ultra HD, clear cel-shading, detailed materials, warm tones, no digital artifacts, no grain, no noise, legible text on signs and props
|
||||
|
||||
**负向词模板(模式B 必须包含,置于提示词末尾):**
|
||||
|
||||
> ⚠️ Seedream(模式A)**不支持负向提示词**,负向词仅适用于模式B。模式A 通过正向词中的质感锚定和画质锁定来保证画面质量。
|
||||
|
||||
模式B(英文):
|
||||
no photorealism, no realistic rendering, no CG realism, no dark tones, no heavy shading, no oversaturated colors, no neon colors, no cyberpunk, no sci-fi elements, no futuristic design, no plastic look, no cartoon flat coloring without depth
|
||||
|
||||
---
|
||||
|
||||
## 美学禁止项(生成时严格规避)
|
||||
|
||||
以下词汇/风格不得出现于输出提示词中:
|
||||
|
||||
- ❌ 写实渲染/照片级真实感风格
|
||||
- ❌ 暗调/重阴影/过度对比风格
|
||||
- ❌ 高饱和荧光色/霓虹色系
|
||||
- ❌ 现代元素缺失(必须明确现代场景)
|
||||
- ❌ 卡通比例、大眼睛、Q版等变形描述
|
||||
- ❌ 赛博朋克/蒸汽朋克/架空西幻元素
|
||||
- ❌ 画外叠加文字(字幕、水印、标题卡、旁白叠字等 UI 层文字,画面必须为纯视觉画面)
|
||||
|
||||
> 💡 **例外**:故事世界内的道具文字(招牌、路牌、标识、书籍等场景中自然存在的文字)**不属于禁止范围**。当分镜画面描述中包含此类内容时,应如实描写其存在并要求文字清晰。
|
||||
|
||||
---
|
||||
|
||||
## 完整生成示例
|
||||
|
||||
> 以下为同一输入分别使用模式A和模式B的对照展示,实际使用时**仅输出其中一种**。
|
||||
|
||||
### 输入(分镜表行数据)
|
||||
|
||||
| 序号 | 画面描述 | 场景 | 关联资产名称 | 时长 | 景别 | 运镜 | 角色动作 | 情绪 | 光影氛围 |
|
||||
|------|---------|------|-------------|------|------|------|---------|------|----------|
|
||||
| 1 | 黄昏街道上,女孩站在路口,晚霞洒在发丝上 | 街道 | 女孩 | 5s | 中景 | 缓推 | 手提购物袋,侧身微笑望向远方 | 期待 / 温暖 | 黄昏霞光 + 暖调侧光 |
|
||||
|
||||
### 示例输出A(模式A · Seedream)
|
||||
|
||||
[Prompt]
|
||||
3D 动画渲染,赛璐珞质感,电影级打光,高细节材质,中景构图,人物半身入镜,清晰轮廓线,明快卡通渲染,轮廓线均匀一致,无断线无粗糙边缘,高细节材质,写实材质与卡通比例结合,材质纹理清晰,表面质感细腻,黄昏街道上,女孩站在路口,手提购物袋,侧身微笑望向远方,眼神期待又温暖,晚霞洒在发丝上,逆光霞光,暖橙主调,粉色点缀,柔和光影层次,明暗对比清晰,光效柔和自然,愉悦治愈氛围,3D 动画美学,温馨情感表达,现代都市风情,8K 超高清,线条清晰,材质细腻,色彩饱满,画面无杂色无噪点。
|
||||
Based on the reference image of 女孩, maintain consistent: face features, hairstyle, costume details. Generate a new scene: standing on a street corner at sunset, holding a shopping bag, smiling gently at the distance. Keep character appearance identical to reference.
|
||||
|
||||
### 示例输出B(模式B · Nanobanana)
|
||||
|
||||
```xml
|
||||
<role>
|
||||
You are a 3D animation storyboard artist.
|
||||
Maintain strict visual continuity across all shots.
|
||||
</role>
|
||||
<character_reference>
|
||||
Image [1]: 女孩 — long brown hair, gentle eyes, modern casual outfit, slim body shape
|
||||
</character_reference>
|
||||
<continuity_rules>
|
||||
- Same wardrobe, hairstyle, face features across ALL shots
|
||||
- Same environment, lighting style, color grade
|
||||
- Only framing, angle, action, expression may change
|
||||
- Do NOT introduce new characters not in reference images
|
||||
</continuity_rules>
|
||||
<shot>
|
||||
Medium shot, character standing on a street corner at sunset, holding a shopping bag with one hand, smiling gently at the distance, eyes filled with expectation and warmth, sunset backlight on hair, warm cel-shading, detailed materials, clear outline lines, cinematic lighting, warm tones, soft shallow depth of field, modern urban aesthetic, healing atmosphere, high-quality 3D animation, 8K ultra HD, clear line art, detailed materials, no digital artifacts, no grain.
|
||||
</shot>
|
||||
<negative>
|
||||
no photorealism, no realistic rendering, no CG realism, no dark tones, no heavy shading, no oversaturated colors, no neon colors, no cyberpunk, no sci-fi elements, no futuristic design, no plastic look, no cartoon flat coloring without depth
|
||||
</negative>
|
||||
```
|
||||
|
||||
## 快速参考卡
|
||||
|
||||
### 情绪 → 画面词速查
|
||||
|
||||
| 情绪 | 面容关键词 | 光线匹配 |
|
||||
|------|-----------|---------|
|
||||
| 心动 | 嘴角微扬,脸颊微红 | 逆光霞光暖调 |
|
||||
| 悲伤 | 神情低落,眼眶微红 | 冷调侧光低调 |
|
||||
| 温柔 | 神情柔和,眉眼温润 | 均匀漫射暖光 |
|
||||
| 浪漫 | 眼神专注,目光深情 | 逆光暖调光晕 |
|
||||
| 感动 | 眼角带笑,表情真诚 | 暖调侧光柔和 |
|
||||
| 孤独 | 神情安静,目光放空 | 冷调侧光暗部 |
|
||||
| 快乐 | 笑容灿烂,眼睛明亮 | 暖调漫射光 |
|
||||
| 甜蜜 | 眼神明亮,表情生动 | 逆光轮廓光 |
|
||||