fix(character-studio): separate identity from view composition
This commit is contained in:
parent
96d67955cb
commit
0d752d6e38
@ -5813,12 +5813,14 @@ export function LiblibVideoCanvasReplica({
|
||||
const center = toCanvasPoint(window.innerWidth / 2, window.innerHeight / 2);
|
||||
const x = Math.round(center.x - 360);
|
||||
const y = Math.round(center.y - 160);
|
||||
const identity = [character.name, character.description, character.look, character.wardrobe, character.prompt, `风格:${style}`].filter(Boolean).join("。 ");
|
||||
// Appearance is shared; generated prompt framing must not override each view's composition.
|
||||
const identity = [character.name, character.description, character.look, character.wardrobe,
|
||||
...(character.look || character.wardrobe ? [] : [character.prompt]), `风格:${style}`].filter(Boolean).join("。 ");
|
||||
const source = createTextResourceNode({ content: identity, title: `${character.name} · 角色设定`, x, y });
|
||||
source.draftValues = { ...source.draftValues, source: "character-studio", characterIdentity: identity };
|
||||
const viewPrompts: Record<StudioView, string> = {
|
||||
"角色立绘": "全身角色立绘,站姿自然,人物完整入画,纯净背景,清晰展示稳定面部特征、服装和道具。",
|
||||
"脸部近景": "同一角色脸部近景,保持五官、发型与标志性特征完全一致,柔和电影布光。",
|
||||
"脸部近景": "只拍同一角色脸部近景,脸部占据画幅主体,最多露出肩部,不出现全身或半身立绘;保持五官、发型与标志性特征完全一致,柔和电影布光。",
|
||||
"表情参考": "同一角色表情设定图,四宫格分别展示平静、喜悦、惊讶、愤怒,五官与服装细节一致。",
|
||||
"角色三视图": "同一角色正面、侧面、背面三视图并排,站姿和服装统一,清晰标注轮廓,纯净背景。",
|
||||
};
|
||||
@ -5831,7 +5833,9 @@ export function LiblibVideoCanvasReplica({
|
||||
: views;
|
||||
let identityAnchorId: string | undefined;
|
||||
orderedViews.forEach((view, index) => {
|
||||
const prompt = `${identity}\n${viewPrompts[view]} 不改变角色身份,不增加多余人物。`;
|
||||
const singleView = view === "角色立绘" || view === "脸部近景"
|
||||
? "只生成一张单一完整构图,禁止拼贴、画中画、分屏、宫格和附加小窗;参考图只用于人物身份,不复用其构图。" : "";
|
||||
const prompt = `${identity}\n${viewPrompts[view]} 不改变角色身份,不增加多余人物。${singleView}`;
|
||||
const node = createTargetModuleNode("image", x + 500 + index * 440, y, nodes.length + index + 1);
|
||||
node.title = `${character.name} · ${view}`;
|
||||
node.draftValues = {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user