SINGLE POSE PACKAGE
單一姿勢包
替角色新增揮手、跳躍、驚訝或右鍵呼叫動作,連同影格、移動、氣泡、音效與快捷鍵一起分享。
CREATE · COLLECT · SHARE
製作角色動作、照顧玩法或 DIY 特效,打包分享給其他玩家。v1.3.0 可用名稱與封面整理桌寵收藏,預覽後再確認使用。
CREATE · COLLECT · SHARE
制作角色动作、照顾玩法或 DIY 特效,打包分享给其他玩家。v1.3.0 可用名称与封面整理桌宠收藏,预览后再确认使用。
CREATE · COLLECT · SHARE
Make character poses, care gameplay or DIY effects and package them for other players. In v1.3.0, organize pet collections with names and covers, then preview before confirming use.
YOUR NEXT CREATION
單一姿勢、完整桌寵、照顧玩法與獨立特效都能分開分享。下方說明各類型的用途與格式。
SINGLE POSE PACKAGE
替角色新增揮手、跳躍、驚訝或右鍵呼叫動作,連同影格、移動、氣泡、音效與快捷鍵一起分享。
FULL PET PACKAGE
將角色素材、姿勢與可分享的設定存成桌寵收藏,並設定選單名稱與封面,方便切換或分享。
CARE GAMEPLAY PACKAGE
為角色設計工作、商城、道具、日常事件與心情回應。
STANDALONE EFFECT
製作星光、泡泡或其他動畫效果,設定觸發與跟隨位置。特效可獨立匯出,不必打包成完整桌寵。
PET COLLECTIONS
匯入完整套件後,素材會和桌寵一起保存。先預覽外觀與動作,確認使用後再切換目前的桌寵。
DIY EFFECTS
DIY 教學提供 HTML、CSS 與 JavaScript 範例,可搭配 PetFX 套件規則製作動畫,設定觸發事件與跟隨位置。
SUPPORTED SETTINGS
展開下列主題,可查看動畫、移動、氣泡、音效與照顧玩法的設定,以及對應 JSON 範例。
可放入多張透明 PNG 或 GIF 動畫,設定播放速度,讓原創角色、兔子、機器人或其他形象都有自己的動作。
用安全的 JSON 參數設定移動距離、速度、重力與循環,不需要在工作坊內容裡執行程式。
每個姿勢都能有隨機文字氣泡、WAV 音效、啟用狀態與建議快捷鍵,玩家仍能依自己的習慣調整。
完整桌寵包可設定固定專注姿勢。玩家能拖曳桌寵調整位置,也能選擇顯示按鍵反應速度,並自訂數值前後的文字。
為姿勢設定 Bits 金額範圍、一般訂閱或贈送訂閱觸發規則與持續秒數,氣泡可帶入觀眾暱稱、留言和 Bits 數量;觸發後會回到原本動作。
可為作品提供 AI 素材助手 Prompt,玩家能依自己的角色圖延伸新姿勢;提示可提供多種語言版本。
創作者能做出角色專屬的工作、商品和事件,改變飽食度、親合度、心情與遊戲內金幣,並安排刷新規則。
桌寵、姿勢與養成包使用相對路徑與允許的 JSON 欄位。程式不會執行 JSON 程式碼,也不需要把私人帳號資訊分享出去。
FROM IDEA TO WORKSHOP
FOR PLAYERS
FOR CREATORS
JSON GUIDE
提供姿勢、完整桌寵與照顧內容的 JSON 範例,以及收藏、封面、PetFX 與匯出說明。v1.3.0 Markdown 指南有繁中、簡中、英文版本。
YOUR NEXT CREATION
单一姿势、完整桌宠、照顾玩法与独立特效都能分开分享。下方说明各类型的用途与格式。
SINGLE POSE PACKAGE
替角色新增挥手、跳跃、惊讶或右键调用动作,连同帧、移动、气泡、音效与快捷键一起分享。
FULL PET PACKAGE
将角色素材、姿势与可分享的设置存为桌宠收藏,并设置菜单名称与封面,方便切换或分享。
CARE GAMEPLAY PACKAGE
为角色设计工作、商城、道具、日常事件与心情回应。
STANDALONE EFFECT
制作星光、泡泡或其他动画效果,设置触发与跟随位置。特效可独立导出,不必打包成完整桌宠。
PET COLLECTIONS
导入完整套件后,素材会和桌宠一起保存。先预览外观与动作,确认使用后再切换当前桌宠。
DIY EFFECTS
DIY 教程提供 HTML、CSS 与 JavaScript 示例,可搭配 PetFX 套件规则制作动画,设置触发事件与跟随位置。
SUPPORTED SETTINGS
展开下列主题,可查看动画、移动、气泡、音效与照顾玩法的设置,以及对应 JSON 示例。
可放入多张透明 PNG 或 GIF 动画,设置播放速度,让原创角色、兔子、机器人或其他形象都有自己的动作。
用安全的 JSON 参数设置移动距离、速度、重力与循环,不需要在创意工坊内容里执行程序。
每个姿势都能有随机文字气泡、WAV 音效、启用状态与建议快捷键,玩家仍能依自己的习惯调整。
完整桌宠包可设置固定专注姿势。玩家能拖动桌宠调整位置,也能选择显示按键反应速度,并自定义数值前后的文字。
为姿势设置 Bits 金额范围、一般订阅或赠送订阅触发规则与持续秒数,气泡可带入观众昵称、留言和 Bits 数量;触发后会回到原本动作。
可为作品提供 AI 素材助手 Prompt,玩家能依自己的角色图延伸新姿势;提示可提供多种语言版本。
创作者能做出角色专属的工作、商品和事件,改变饱食度、亲合度、心情与游戏内金币,并安排刷新规则。
桌宠、姿势与养成包使用相对路径与允许的 JSON 字段。程序不会执行 JSON 代码,也不需要把私人账号信息分享出去。
FROM IDEA TO WORKSHOP
FOR PLAYERS
FOR CREATORS
JSON GUIDE
提供姿势、完整桌宠与照顾内容的 JSON 示例,以及收藏、封面、PetFX 与导出说明。v1.3.0 Markdown 指南有繁中、简中、英文版本。
YOUR NEXT CREATION
Share a single pose, a full pet, care gameplay or a standalone effect. The sections below explain what each type includes and how to package it.
SINGLE POSE PACKAGE
Add a wave, hop, surprise, or right-click action with its frames, movement, bubbles, sound, and hotkey.
FULL PET PACKAGE
Save character assets, poses and shareable settings as a pet collection. Add a menu name and cover to identify pets when switching or sharing them.
CARE GAMEPLAY PACKAGE
Design jobs, shop items, daily events, and mood responses for your character.
STANDALONE EFFECT
Create stars, bubbles or other animated effects, then choose their triggers and follow positions. Export an effect on its own without bundling a full pet.
PET COLLECTIONS
Import a complete package to keep its assets with the pet. Preview its appearance and actions, then confirm before switching your current pet.
DIY EFFECTS
The DIY tutorial includes HTML, CSS and JavaScript examples. Use them with PetFX package rules to create animations and set their triggers and follow positions.
SUPPORTED SETTINGS
Expand a topic for animation, movement, bubble, audio and care settings, with links to the corresponding JSON examples.
Add multiple transparent PNG frames or a GIF, adjust playback speed, and give an original character, rabbit, robot, or another design its own movement.
Use safe JSON values for distance, speed, gravity, and looping. Workshop content never needs to run executable code.
Each pose can include random bubble text, a WAV sound, an enabled state, and a suggested hotkey. Players can adjust these settings.
A full pet pack can include a fixed focus pose. Players can drag the pet to a new position and optionally show key-response speed with custom text before and after the value.
Set a Bits range, regular or gift subscription triggers, and a duration for a pose. Bubbles can include a viewer name, message, and Bits amount; the pet returns to its earlier action afterward.
Add AI Asset Helper prompts so a player can create more poses from their own reference art. Prompts may include multiple languages.
Creators can make character-specific jobs, items, and events that affect hunger, affinity, mood, and in-game coins, and set rules for when they refresh.
Pet, pose and care packs use relative paths and allow-listed JSON data. The app never runs JSON as code, and private account information stays out of a shared pack.
FROM IDEA TO WORKSHOP
FOR PLAYERS
FOR CREATORS
JSON GUIDE
Find JSON examples for poses, full pets and care content, plus collection, cover, PetFX and export instructions. The v1.3.0 Markdown guide is available in Traditional Chinese, Simplified Chinese and English.
桌寵 JSON 有三種封裝方式;PetFX 特效使用另列的獨立格式:姿勢包使用 "type": "pose",適合分享一個右鍵呼叫姿勢與它的素材;完整桌寵包使用 "type": "pet",以 pet_config.json 帶入基礎姿勢、提醒、快捷鍵與其他設定;養成內容則使用 "type": "care",提供商城物品、工作與日常事件。
你可以在這三種封裝方式中,組合下方八個創作主題:角色動畫、移動、對話、專注、實況反應、AI 素材提示、養成規則與安全打包。
本指南涵蓋的 8 個創作主題
把入口 JSON 和所有圖片、音效放在同一個資料夾,方便整包分享。其他玩家匯入時,程式會從 JSON 所在位置解析相對路徑。
MyWavePose/
desktop_pet_studio_workshop.json
assets/
frame_01.png
frame_02.png
frame_03.png
frame_04.png
frame_05.png
frame_06.png
wave.wav
請使用 assets/frame_01.png 這類相對路徑,不要填入 C:\Users\... 等本機絕對路徑。素材建議使用透明背景 PNG;走動影格請面向右方,桌寵在往左移動時會自動鏡像。
以下範例能建立一個揮手姿勢:使用六張獨立影格、播放音效、隨機氣泡,並以小跳躍方式移動。
{
"schema_version": 1,
"id": "my-wave-pose",
"title": "揮手打招呼",
"type": "pose",
"content_kind": "single_pose",
"assets_mode": "bundled",
"pose": {
"name": "揮手打招呼",
"category": "custom",
"animation_paths": [
"assets/frame_01.png", "assets/frame_02.png", "assets/frame_03.png",
"assets/frame_04.png", "assets/frame_05.png", "assets/frame_06.png"
],
"playback_speed": 1.25,
"sound_path": "assets/wave.wav",
"bubble_texts": ["嗨,我在這裡!", "今天也一起加油"],
"bubble_interval_sec": 20,
"enabled": true,
"movement": {
"enabled": true,
"mode": "hop",
"speed": 1.2,
"distance_px": 160,
"vertical_px": 36,
"duration_sec": 2.4,
"loop": false,
"gravity": false
}
}
}
movement 只接受白名單資料,JSON 不會執行任意程式碼。可用模式為 none、wander、patrol、hop、shake、drift 與 sequence。其中 sequence 可用多段 dx、dy、duration_ms 與 easing 組成演出。
playback_speed動畫倍率,支援 0.25 到 4.0;多數姿勢建議 0.75 到 1.5。
distance_px水平距離或抖動幅度,範圍 0 到 2400。
vertical_px垂直距離或跳躍高度;負數可用於向上漂移。
gravity設為 false 時,姿勢期間不會進入自然下墜流程。
可在任一姿勢內加入 twitch_trigger,依觀眾 Bits 金額、一般訂閱或贈送訂閱播放對應動畫、音效與氣泡。訂閱事件需要玩家授予相應 Twitch 權限。工作坊會分享這組玩法規則,但不會包含 Twitch 帳號、授權碼或權杖;每位玩家都必須連接自己的 Twitch。
"twitch_trigger": {
"enabled": true,
"subscription_enabled": true,
"gift_subscription_enabled": true,
"duration_sec": 8,
"min_bits": 100,
"max_bits": 499,
"bubble_texts": ["謝謝 {viewer_name} 的 {amount} {currency}!"]
}
ai_asset_prompts 至少提供一個語系。姿勢包直接顯示提示,完整桌寵包以標題分組。請 AI 先輸出一張 3×2 六宮格 PNG,再用「宮格圖片裁切」拆成六張影格,最後加入 animation_paths;不要直接把整張宮格當作單一影格。
"ai_asset_prompts": [
{
"id": "wave_ai_prompt",
"name": "揮手姿勢",
"pose_id": "wave",
"zh": "使用我的角色參考圖製作揮手動畫,保留原有特徵與配件。輸出 1 張 3 x 2 六宮格透明 PNG,不拆成獨立檔案;每格 256 x 256 px,角色大小、中心點與底部定位一致,格間正好 5px。只在外側留白放 #0CB8EC 細虛線與 90 度直角裁切標記,不壓到角色;不要文字、格號或浮水印。"
}
]
完整桌寵包的 title 是收藏與工作坊選單名稱,不會改寫 pet_config.json 的 pet_name。可用 cover_path 指定包內封面;沒有有效封面時顯示占位圖,舊包仍可使用。
{
"schema_version": 1,
"id": "my-complete-pet",
"title": "小露娜桌寵",
"type": "pet",
"content_kind": "full_pet",
"config_path": "pet_config.json",
"cover_path": "cover.png",
"assets_mode": "bundled"
}
匯入收藏會複製設定、封面與必要素材,保留原始檔案;先預覽,確認使用後才替換目前桌寵。同內容不重複收藏。跨電腦使用前,請先退出程式並在 Steam 確認同步完成。
PetFX 是獨立的特效套件,使用 petfx.json 的 displayName 與 cover,不可替換成桌寵包的 title/cover_path。套件包含網頁程式與素材;封面用 1:1 單張圖片,不走姿勢六宮格裁切流程。完整範例、事件綁定與標點跟隨請參考程式內的 DIY 網頁特效教學。
匯出保留素材、封面、名稱、觸發規則與標點,不含登入資料、OBS 連線或個人啟停偏好;不覆寫原作品,也不會自動上傳。
config_path 指向 pet_config.json;不要包含 Google token、OAuth 設定、本機訂閱清單或其他私密資料。桌宠 JSON 有三种封装方式;PetFX 特效使用下文说明的独立格式:姿势包使用 "type": "pose",适合分享一个右键调用姿势与它的素材;完整桌宠包使用 "type": "pet",以 pet_config.json 带入基础姿势、提醒、快捷键与其他设置;养成内容使用 "type": "care",提供商城物品、工作与日常事件。
你可以在这三种封装方式中,组合下方八个创作主题:角色动画、移动、对话、专注、直播反应、AI 素材提示、养成规则与安全打包。
本指南涵盖的 8 个创作主题
把入口 JSON 和所有图片、音效放在同一个文件夹,方便整包分享。其他玩家导入时,程序会从 JSON 所在位置解析相对路径。
MyWavePose/
desktop_pet_studio_workshop.json
assets/
frame_01.png ... frame_06.png
wave.wav
请使用 assets/frame_01.png 这类相对路径,不要填入本机绝对路径。素材建议使用透明背景 PNG;走动帧请面向右方,桌宠在往左移动时会自动镜像。
使用 schema_version、id、title、type 与 pose 描述内容。pose.animation_paths 放入六张独立帧,sound_path 可指定 WAV,bubble_texts 可设置随机气泡。
{
"schema_version": 1,
"id": "my-wave-pose",
"title": "挥手打招呼",
"type": "pose",
"content_kind": "single_pose",
"assets_mode": "bundled",
"pose": {
"name": "挥手打招呼",
"category": "custom",
"animation_paths": ["assets/frame_01.png", "assets/frame_02.png", "assets/frame_03.png", "assets/frame_04.png", "assets/frame_05.png", "assets/frame_06.png"],
"playback_speed": 1.25,
"sound_path": "assets/wave.wav",
"bubble_texts": ["嗨,我在这里!", "今天也一起加油"],
"bubble_interval_sec": 20,
"enabled": true
}
}
movement 只接受白名单数据,JSON 不会执行任意代码。可用模式为 none、wander、patrol、hop、shake、drift 与 sequence。可用 speed、distance_px、vertical_px、duration_sec、loop 与 gravity 调整演出。
可在任一姿势内加入 twitch_trigger,依观众 Bits 金额、一般订阅或赠送订阅播放对应动画、音效与气泡。订阅事件需要玩家授予相应 Twitch 权限。创意工坊会分享这组玩法规则,但不会包含 Twitch 账号、授权码或令牌;每位玩家都必须连接自己的 Twitch。
"twitch_trigger": {
"enabled": true,
"subscription_enabled": true,
"gift_subscription_enabled": true,
"duration_sec": 8,
"min_bits": 100,
"max_bits": 499,
"bubble_texts": ["谢谢 {viewer_name} 的 {amount} {currency}!"]
}
ai_asset_prompts 至少提供一种语言。姿势包直接显示提示,完整桌宠包按标题分组。请 AI 先输出一张 3×2 六宫格 PNG,再用“宫格图片裁切”拆成六张帧,最后加入 animation_paths;不要直接把整张宫格作为单帧。
"ai_asset_prompts": [
{
"id": "wave_ai_prompt",
"name": "挥手姿势",
"pose_id": "wave",
"zh_cn": "使用我的角色参考图制作挥手动画,保留原有特征与配件。输出 1 张 3 x 2 六宫格透明 PNG,不拆成独立文件;每格 256 x 256 px,角色大小、中心点与底部定位一致,格间正好 5px。只在外侧留白放 #0CB8EC 细虚线与 90 度直角裁切标记,不压到角色;不要文字、格号或水印。"
}
]
完整桌宠包的 title 是收藏与创意工坊菜单名称,不会改写 pet_config.json 的 pet_name。可用 cover_path 指定包内封面;没有有效封面时显示占位图,旧包仍可使用。
{
"schema_version": 1,
"id": "my-complete-pet",
"title": "小露娜桌宠",
"type": "pet",
"content_kind": "full_pet",
"config_path": "pet_config.json",
"cover_path": "cover.png",
"assets_mode": "bundled"
}
导入收藏会复制设置、封面与必要素材,保留原始文件;先预览,确认使用后才替换当前桌宠。相同内容不重复收藏。跨电脑使用前,请先退出程序并在 Steam 确认同步完成。
PetFX 是独立的特效套件,使用 petfx.json 的 displayName 与 cover,不可替换为桌宠包的 title/cover_path。套件包含网页代码与素材;封面使用 1:1 单张图片,不走姿势六宫格裁切流程。完整示例、事件绑定与标点跟随请参考程序内的 DIY 网页特效教学。
导出保留素材、封面、名称、触发规则与标点,不包含登录资料、OBS 连接或个人启停偏好;不覆盖原作品,也不会自动上传。
config_path 指向 pet_config.json,不要包含 Google token、OAuth 设置或其他私密资料。Pet JSON content has three package formats; PetFX effects use the separate format described below. Use "type": "pose" for one right-click pose and its assets. Use "type": "pet" with pet_config.json for a complete pet configuration. Use "type": "care" for shop items, jobs, and everyday events.
Within these three formats, you can combine the eight topics below: character animation, movement, dialogue, focus, stream reactions, AI asset prompts, care rules, and safe packaging.
This guide covers 8 creation topics
Keep the entry JSON, images, and sound files in one folder. The app resolves relative paths from the JSON file, so a player can import that folder on another computer.
MyWavePose/
desktop_pet_studio_workshop.json
assets/
frame_01.png ... frame_06.png
wave.wav
Use a relative path such as assets/frame_01.png, never an absolute local path. Transparent PNG is recommended. Make walking frames face right; the app mirrors them automatically when moving left.
Describe the content with schema_version, id, title, type, and pose. Place independent frames in pose.animation_paths, optionally assign a WAV through sound_path, and use bubble_texts for random dialogue.
{
"schema_version": 1,
"id": "my-wave-pose",
"title": "Wave hello",
"type": "pose",
"content_kind": "single_pose",
"assets_mode": "bundled",
"pose": {
"name": "Wave hello",
"category": "custom",
"animation_paths": ["assets/frame_01.png", "assets/frame_02.png", "assets/frame_03.png", "assets/frame_04.png", "assets/frame_05.png", "assets/frame_06.png"],
"playback_speed": 1.25,
"sound_path": "assets/wave.wav",
"bubble_texts": ["Hi, I'm here!", "Let's do our best today."],
"bubble_interval_sec": 20,
"enabled": true
}
}
movement accepts only allow-listed data; JSON never executes arbitrary code. The available modes are none, wander, patrol, hop, shake, drift, and sequence. Tune an action with speed, distance_px, vertical_px, duration_sec, loop, and gravity.
Add twitch_trigger to any pose to play its animation, sound, and bubble for Bits, regular subscriptions or gift subscriptions. Subscription events require the player's relevant Twitch permissions. Workshop packages share this gameplay rule, never a Twitch account, authorization code, or token; every player connects their own Twitch account.
"twitch_trigger": {
"enabled": true,
"subscription_enabled": true,
"gift_subscription_enabled": true,
"duration_sec": 8,
"min_bits": 100,
"max_bits": 499,
"bubble_texts": ["Thanks {viewer_name} for {amount} {currency}!"]
}
Provide at least one language in ai_asset_prompts. Pose prompts appear directly; full-pet prompts are grouped by title. Generate one 3×2 six-panel PNG, use “Crop grid image” to split it into six frames, then add those frames to animation_paths. Do not import the whole grid as one frame.
"ai_asset_prompts": [
{
"id": "wave_ai_prompt",
"name": "Wave pose",
"pose_id": "wave",
"en": "Create a waving animation from my character reference; preserve its features and accessories. Output one transparent 3 x 2 six-panel PNG, not separate files. Use 256 x 256 px panels, identical scale, centers and bottom anchors, and exactly 5px gaps. Place thin #0CB8EC dashed guides and sharp 90-degree crop marks only in outer margins, never over the character. No text, panel numbers or watermark."
}
]
A full-pet package uses title for its collection and Workshop menu name without changing pet_name in pet_config.json. Use cover_path for a cover inside the package. A missing or invalid cover shows a placeholder; older packages still work.
{
"schema_version": 1,
"id": "my-complete-pet",
"title": "Luna pet",
"type": "pet",
"content_kind": "full_pet",
"config_path": "pet_config.json",
"cover_path": "cover.png",
"assets_mode": "bundled"
}
Collection import copies settings, the cover and required assets while preserving the source files. Preview first; the current pet changes only after you confirm use. Identical content is not added twice. Before switching computers, exit the app and confirm that Steam has finished syncing.
PetFX is a separate effect package format. It uses displayName and cover in petfx.json, not the pet-package fields title and cover_path. Packages contain web code and assets. Use one 1:1 cover image, not a pose grid. See the in-app DIY web effects tutorial for complete examples, event bindings and anchor following.
Export preserves assets, the cover, name, trigger rules and anchors. It excludes login data, OBS connections and personal enabled preferences. It neither overwrites the original work nor uploads automatically.
config_path to pet_config.json; never include Google tokens, OAuth settings, or other private data.