= Readme Discord - habeebweeb#6577 :toc: :toclevels: 4 :pluginname: MeidoPhotoStudio :photomode: Studio Mode :config: BepInEx\config{backslash}{pluginname} {pluginname} is an alternative to {photomode}. Source can be found https://git.coder.horse/habeebweeb/COM3D2.MeidoPhotoStudio/src/dev[here] _A full manual, which goes into more depth, will be included when {pluginname} 1.0.0 offcially releases._ == Installation === Requirements {pluginname} is a BepInEx plugin. Get the latest release https://github.com/BepInEx/BepInEx/releases[here]. === Installation Move the contents of the `BepInEx` folder into `COM3D2\BepInEx` == Files {pluginname} reads and writes files to and from `{config}`. [horizontal] Translations:: Contains translation files. Environments:: Contains saved environments. Scenes:: Contains saved scenes. Presets:: Contains poses and hand and face presets + _Sample presets are included._ Database:: Contains databases that {pluginname} uses. + -- `bg_ignore_list.json`:: List of BGs to ignore when building prop list. `extra_dogu.json`:: List of extra props that I can't find through nei files `mm_pose_list.json`:: Collection of in game poses to display. `face_slider_limits.json`:: Upper limit of face slider values _Each database file has comments at the top with further information._ -- `cache.dat`:: Cache file for menu files. (Generated at runtime). `MeidoPhotoStudio.cfg`:: Configuration file. (Generated at runtime). `mpstempscene`:: A save file that's made when pressing `Ctrl + S`. NOTE: Environments, scenes, and each preset folder can have single level deep folders within them to allow for grouping. == Hotkeys === Main [%header, cols="1a, 3"] |=== | Key | Action | `F6` | Activate/deactivate {pluginname} (Only in daily and edit mode) | `Tab` | Toggle main window | `M` | Toggle message box | `H` | Undress all maids | `F8` | Hide/show <> |=== === Camera [%header, cols="2a, 3"] |=== | Key | Action | `Q + R` | Reset camera | `Q + S` | Save camera | `Q + A` | Load saved camera | `Q + 1-5` | Switch to another camera | `Shift + Scroll` | Zoom camera faster | `Control + Scroll` | Zoom camera slower | `Shift + Middle Drag` | Pan camera faster | `Control + Middle Drag` | Pan camera slower |=== === Drag Handles ==== General [%header, cols="2a, 3"] |=== | Key | Action | `A + Left Click` | Select object | `D + Left Click` | Delete object | `C + Drag` | Scale object | `C + Double Click` | Reset object scale |=== ==== Movement [%header, cols="2a, 3"] |=== | Key | Action | `Z + Drag` | Move object along XZ plane | `Z + Control + Drag` | Move object along the y axis | `Z (+ Control) + Double Click` | Reset object position |=== ==== Rotation [%header, cols="2a, 3"] |=== | Key | Action | `X + Drag` | Rotate object along XZ axis | `Z + Shift + Drag` | Rotate object along the *world* Y axis | `X + Shift + Drag` | Rotate object along its *local* Y axis | `X + Double Click` | Reset object rotation |=== ==== Scaling [%header, cols="2a, 3"] |=== | Key | Action | `C + Drag` | Scale object | `C + Double Click` | Reset object scale |=== ==== Maid [%header, cols="2a, 3a"] |=== | Key | Action | `Drag` | * Move arms and legs ** Moving from the hand/foot will move the arm/leg like a chain ** Moving from the elbow/knee will rotate the arm/leg using the shoulder/hip as the pivot point * Move shoulders | `Alt + Drag` | .All along XZ axis * Rotate torso * Rotate pelvis * Rotate head * Rotate hands/feet | `Alt + Shift + Drag` | .All along local y axis * Rotate torso * Rotate pelvis * Rotate head * Rotate hands/feet * Rotate arms/legs (when dragging on elbow/knee respectively) | `Control + Alt + Drag` | * Move both eyes (When dragging on face) * Move each breast | `Control + Alt + Shift + Drag` | * Move eyes in opposite directions * Rotate breasts | `Control + Alt + Double Click` | Reset eyes and breasts position | `Control + Drag` | Rotate forearm/calf using elbow/knee as pivot point | `Space` | Rotate fingers/toes | `Shift + Space` | Rotate base of fingers/toes along local y axis | `A + Left Click` | * Make selected maid the active maid and switch to pose tab (When clicking on torso) * Make selected maid the active maid and switch to face tab (When clicking on face) |=== == Changelog === {pluginname}.1.0.0-beta.3.1 ==== Fixes * Fix memory leak when saving scenes to a file * Handle errors when saving scenes to prevent {pluginname} from locking up * Fix issue where {pluginname} crashes when trying to save a non-existent background ** SceneCaputre hides the background by destroying it so it caused issues for {pluginname} === {pluginname}.1.0.0-beta.3 ==== New Features * Add camera Z rotation and FOV slider * Add camera slots ** There are 5 slots that function similarly to quick save slots ** Cameras can be switched between through the GUI or by holding `Q + (1..5)` * Add textfield and reset button to some sliders ** textfield and reset buttons were added to the camera pane and lights pane * Add clothing mask radio buttons to change dressing for individual maids ** Functions the same way as pushing `H` to change all the maid's dressing * Add user configurable face slider limits ** `Config\MeidoPhotoStudio\Database\face_slider_limits.json` has been added ==== Enhancements * Add spine as attach points for props ==== Changes * Make bone mode drag handles way smaller and more transparent ==== Fixes * Fix face tab sliders/toggles doing nothing when using face shapekeys in ShapeAnimator * Fix face blush toggles doing nothing