调整图标规范提示词生成逻辑
支持参考图解析 优化提示词结构
This commit is contained in:
@@ -212,7 +212,13 @@ pub(crate) async fn generate_icon_spec(
|
||||
|
||||
let extra_prompt = build_extra_param_prompt(&payload.request_param);
|
||||
let extra_param = run_icon_spec_extra_param_llm(&state, extra_prompt).await?;
|
||||
let final_prompt = get_gen_icon_spec_prompt(&payload.request_param, &extra_param);
|
||||
let has_reference_image = payload
|
||||
.reference_image_srcs
|
||||
.as_ref()
|
||||
.map(|r| !r.is_empty())
|
||||
.unwrap_or(false);
|
||||
let final_prompt =
|
||||
get_gen_icon_spec_prompt(&payload.request_param, &extra_param, has_reference_image);
|
||||
let generation_inputs = build_icon_spec_generation_inputs(
|
||||
&payload.request_param,
|
||||
extra_param.genre,
|
||||
|
||||
@@ -143,103 +143,34 @@ pub(crate) fn build_extra_param_prompt(param: &RequestParam) -> String {
|
||||
)
|
||||
}
|
||||
|
||||
pub(crate) fn get_gen_icon_spec_prompt(param: &RequestParam, extra_param: &ExtraParam) -> String {
|
||||
pub(crate) fn get_gen_icon_spec_prompt(
|
||||
param: &RequestParam,
|
||||
extra_param: &ExtraParam,
|
||||
has_reference_image: bool,
|
||||
) -> String {
|
||||
let genre_name = extra_param.genre.as_slug();
|
||||
|
||||
let reference_image_prompt = if has_reference_image {
|
||||
"参考图生成规范:严格参考参考图的构图、风格、材质、色彩、形状语言和视觉层级生成本次规范图;参考图只作为美术方向和规范语义依据,不要直接复制参考图中的文字、水印或无关背景。\n"
|
||||
} else {
|
||||
""
|
||||
};
|
||||
format!(
|
||||
r#"角色设定和任务目标
|
||||
你是一名经验丰富的游戏视觉设计师与游戏图标设计师(Game Icon Designer),擅长从零设计高质量、商业化、游戏开发就绪(Game Development-Ready)、可以导入游戏引擎或应用商店直接使用的游戏图标。
|
||||
你的核心任务是根据用户选择的游戏风格、题材、类型、核心玩法和目标用户等,设计一款主体明确、辨识度高、视觉冲击力强的游戏图标。图标需要在缩小尺寸后依然清晰,并让用户一眼识别游戏类型与核心玩法。
|
||||
|
||||
核心提示词
|
||||
设计一款风格为【{art_style}】,题材为【{theme}】的核心玩法。
|
||||
|
||||
美术风格
|
||||
采用【{art_style}】的游戏图标,画面必须保持统一的造型语言、线条、材质、光影和配色方案。
|
||||
|
||||
核心玩法
|
||||
画面重点表现【{play_setting}】的核心玩法。
|
||||
|
||||
使用场景
|
||||
使用场景为【{use_case}】。默认app;如果用户明确了使用端则按用户填写。
|
||||
|
||||
适用目标用户
|
||||
图标需要一眼看出是【{genre}】游戏,适合目标用户【{target_user}】玩家。
|
||||
|
||||
r#"
|
||||
生成一张游戏图标素材视觉规范展板,纯白色干净背景,展示按钮图标的统一视角、线条粗细、填充风格、描边、阴影、圆角、材质、状态层级和色彩规范,图标样例需要成组排列且风格高度统一。
|
||||
输入内容
|
||||
玩法设定:{play_setting}
|
||||
美术风格:{art_style}
|
||||
|
||||
带参考图(上传参考图)
|
||||
参考图生成规范:严格参考图1的构图、风格、材质、色彩、形状语言和视觉层级生成本次规范图;参考图只作为美术方向和规范语义依据,不要直接复制参考图中的文字、水印或无关背景。
|
||||
|
||||
画面设计要求
|
||||
1. 主体明确
|
||||
图标必须拥有一个清晰的核心视觉主体,例如英雄、武器、载具、卡牌、建筑、农作物或代表核心玩法的标志性道具。主体应当具有强烈的轮廓辨识度,避免多个元素争夺视觉焦点。
|
||||
2. 核心玩法可视化
|
||||
使用角色动作、道具状态、特效方向或场景关系表现核心玩法,不能只展示普通角色头像。画面应让用户快速理解战斗、射击、竞速、经营、消除、建造或召唤等玩法特征。
|
||||
3. 游戏类型辨识
|
||||
图标中的角色、武器、道具、特效和氛围必须与所选游戏类型一致。例如:
|
||||
- FPS突出枪械、准星或瞄准开火。
|
||||
- MOBA突出英雄对抗、技能释放或阵营冲突。
|
||||
- RPG突出英雄形象、武器、成长感或冒险氛围。
|
||||
- 卡牌游戏突出卡牌、角色立绘或召唤效果。
|
||||
- 塔防突出防御塔、敌人路线或攻击范围。
|
||||
- 模拟经营突出建筑、资源、建设或升级成果。
|
||||
- 三消突出色彩鲜明的消除物与连锁反馈。
|
||||
- 竞速游戏突出车辆、速度感、漂移和赛道元素。
|
||||
4. 缩略图适配
|
||||
图标在小尺寸显示时仍需保持主体清楚、轮廓鲜明、颜色关系明确。避免依赖只有放大后才能看到的微小细节。
|
||||
5. 色彩与光影
|
||||
使用与游戏风格和题材匹配的主色调。主体与背景必须形成明确的明度、色相或冷暖对比。光影应强化视觉焦点和空间层次,但不得遮挡主体关键特征。
|
||||
6. 动势与冲击力
|
||||
根据玩法加入合理的动作方向、速度线、能量轨迹、爆发光效、粒子或环境反馈。特效只能用于突出主体,不得覆盖角色面部、武器或核心道具。
|
||||
7. 角色一致性
|
||||
如果用户提供角色参考图,必须保持角色的脸型、发型、服装、配饰、武器、标志性颜色和整体气质一致。不得擅自更换服装、增加肢体或移除关键配饰。
|
||||
8. 商业化品质
|
||||
最终效果应接近成熟商业游戏的应用商店图标,具有精致完成度、明确卖点和良好的点击吸引力,避免廉价素材拼贴感、简单截图感或未完成草稿感。
|
||||
9. 文字限制
|
||||
默认不添加文字、字母、数字、游戏名称、角标、商店徽章、公司标志、签名或水印。仅在用户明确要求时,才可加入简短且易读的文字。
|
||||
10. 不出现布局规范部分。
|
||||
11. 画面必须保持统一的造型语言、线条、材质、光影和配色方案。角色、道具与特效应属于同一套视觉体系,不得出现画风混杂、材质冲突或渲染风格漂移。避免信息过多、复杂细节、过度杂乱、文字过多、过暗压抑、主体不清晰。
|
||||
|
||||
操作流程
|
||||
1. 分析游戏风格、题材、类型和目标用户。
|
||||
2. 从游戏核心玩法中提取最具辨识度的视觉动作或标志性元素。
|
||||
3. 确定唯一的核心主体和次要辅助元素。
|
||||
4. 根据游戏类型设计角色动作、道具状态和视觉特效。
|
||||
5. 根据目标用户调整角色造型、色彩强度、细节密度和整体氛围。
|
||||
6. 使用明确的色彩对比与光影关系强化视觉焦点。
|
||||
7. 检查图标缩小后能否快速识别主体、游戏类型和核心玩法。
|
||||
8. 检查是否存在文字、水印、多余角色、无关道具或过度复杂的信息。
|
||||
9. 按照指定画面比例和清晰度输出最终游戏图标。
|
||||
|
||||
最终检查
|
||||
- 图标具有明确且唯一的核心主体。
|
||||
- 能够快速识别游戏类型和核心玩法。
|
||||
- 美术风格符合用户选择。
|
||||
- 主体与背景具有清晰对比。
|
||||
- 缩小显示后仍然具有较高辨识度。
|
||||
- 画面没有过多或相互冲突的信息。
|
||||
- 没有风格漂移、结构变形或配饰消失。
|
||||
- 没有错误肢体、错误武器或不合理姿势。
|
||||
- 没有未经要求的文字、数字、标志或水印。
|
||||
- 符合移动端游戏图标、应用商店或社交传播的展示需求。
|
||||
|
||||
负面提示词
|
||||
text, letters, numbers, labels, logo, signature, watermark, inconsistent style,
|
||||
inconsistent perspective, inconsistent line width, inconsistent rounded corners,
|
||||
mixed materials, color shift, incorrect lighting, incorrect shadow direction,
|
||||
green outline, green base plate, green shadow, green glow, green reflection,
|
||||
textured background, gradient background, background shadow, ground, environment,
|
||||
props, disconnected fragments, floating particles, overlapping icons, touching icons,
|
||||
cropped icon, off-center icon, inconsistent scale, blurry edges, color bleeding,
|
||||
green spill, visible grid lines, borders,"#,
|
||||
玩法设定: {play_setting}
|
||||
美术风格: {art_style}
|
||||
游戏类型: {genre_name}
|
||||
题材: {theme}】
|
||||
{reference_image_prompt}
|
||||
使用场景为【{use_case}】。图标设计需适配该平台的展示规范和缩略图尺寸。适合目标用户【{target_user}】玩家。
|
||||
"#,
|
||||
play_setting = escape_xml_prompt_data(¶m.play_setting),
|
||||
art_style = escape_xml_prompt_data(¶m.art_style),
|
||||
theme = escape_xml_prompt_data(&extra_param.theme),
|
||||
use_case = escape_xml_prompt_data(&extra_param.use_case),
|
||||
genre = genre_name,
|
||||
genre_name = genre_name,
|
||||
target_user = escape_xml_prompt_data(&extra_param.target_user),
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user