Nodes/RS MultiCharacter Sampler (Hangeul)/RS 3D Pose Masks (Experimental)
ComfyUI Node

RS 3D Pose Masks (Experimental)

Experimental 3D mannequin composition editor. Rotate joints and move people/camera; each character number creates a 2D region mask. Full silhouettes overlap; visible silhouettes remove occluded areas. Canvas overflow is clipped. Editing and masks need no extra weights. A composition guide, not exact pose enforcement. Connect only building_pipe before Finalize. The sampler automatically loads and applies matching Anima 2B/Krea2/MOSS pose adapters; no MODEL, VAE or patch-loader connection is needed here. Auto on other architectures uses masks only and reports the reason. New scenes use a native MHR skinned body. Anima 2B pose following has been observed with a separately trained adapter; exact joints and contacts are not guaranteed. Legacy ellipsoid scenes are preserved. Masks alone do not enforce joint angles. Scene data is stored in the workflow. Connect anywhere before Finalize.

By raspie10032·Created 25 days ago·Updated 10 days ago· 8
RS 3D Pose Masks (Experimental)
  • building_pipe
  • building_pipe
  • mask_preview
  • full_masks
  • visible_masks
  • scene_info
  • pose_image
  • scene_json
◄scene_json{"version": 2, "width": 768, "height": 1024, "mask_mode": "full", "camera": {"position": [0, 1.15, 4.1], "target": [0, 0.9, 0], "fov": 38}, "people": [{"id": 1, "position": [-0.4, 0, 0], "rotation": [0, 0, 0], "scale": 1.0, "bulk": 1.0, "joints": {"left_shoulder": [5.701623648928897, -30.796652039695918, -20.70351733941452], "left_elbow": [0.9020204954093949, -3.030985637358303, -33.13930901996803], "right_shoulder": [5.701623648928899, -30.796652039695918, -20.70351733941453], "right_elbow": [0.9020203333155552, -3.0309861422158897, -33.13930977533524]}}, {"id": 2, "position": [0.4, 0, 0], "rotation": [0, 0, 0], "scale": 1.0, "bulk": 1.0, "joints": {"left_shoulder": [5.701623648928897, -30.796652039695918, -20.70351733941452], "left_elbow": [0.9020204954093949, -3.030985637358303, -33.13930901996803], "right_shoulder": [5.701623648928899, -30.796652039695918, -20.70351733941453], "right_elbow": [0.9020203333155552, -3.0309861422158897, -33.13930977533524]}}], "outline": true}►
◄pose_controlauto►
◄pose_strength1.00►
◄pose_start0.00►
◄pose_end1.00►
CategoryRS MultiCharacter/Characters

Inputs (6)

NameTypeDefaultDescription
scene_jsonSTRING{"version": 2, "width": 768, "height": 1024, "mask_mode": "full", "camera": {"position": [0, 1.15, 4.1], "target": [0, 0.9, 0], "fov": 38}, "people": [{"id": 1, "position": [-0.4, 0, 0], "rotation": [0, 0, 0], "scale": 1.0, "bulk": 1.0, "joints": {"left_shoulder": [5.701623648928897, -30.796652039695918, -20.70351733941452], "left_elbow": [0.9020204954093949, -3.030985637358303, -33.13930901996803], "right_shoulder": [5.701623648928899, -30.796652039695918, -20.70351733941453], "right_elbow": [0.9020203333155552, -3.0309861422158897, -33.13930977533524]}}, {"id": 2, "position": [0.4, 0, 0], "rotation": [0, 0, 0], "scale": 1.0, "bulk": 1.0, "joints": {"left_shoulder": [5.701623648928897, -30.796652039695918, -20.70351733941452], "left_elbow": [0.9020204954093949, -3.030985637358303, -33.13930901996803], "right_shoulder": [5.701623648928899, -30.796652039695918, -20.70351733941453], "right_elbow": [0.9020203333155552, -3.0309861422158897, -33.13930977533524]}}], "outline": true}Open 3D editor, arrange mannequins, then Apply. Character numbers map to prompt slots. The scene is saved in the workflow.
building_pipeoptRS_MC_BUILD_PIPE,RS_MC_CHARACTER_PIPE,NAI_CONTEXT—
pose_controloptCOMBOautoAuto applies a matching pose adapter inside the sampler. Other model families use masks only. / 자동: 샘플러에서 모델에 맞는 포즈 어댑터 적용. 미지원 모델은 마스크만 사용.
pose_strengthoptFLOAT1.000–2Pose guidance strength. 0 uses masks only and downloads nothing. / 자세 유도 강도. 0은 마스크만 사용.
pose_startoptFLOAT0.000–1Start fraction of denoising. / 자세 유도 시작 구간.
pose_endoptFLOAT1.000–1End fraction; must follow start. / 자세 유도 종료 구간.

Outputs (7)

NameTypeDescription
building_pipeRS_MC_BUILD_PIPE—
mask_previewIMAGE—
full_masksMASK—
visible_masksMASK—
scene_infoSTRING—
pose_imageIMAGE—
scene_jsonSTRING—