diff options
Diffstat (limited to 'public/bluebey-studio')
| -rw-r--r-- | public/bluebey-studio/src/faceArt.js | 2 | ||||
| -rw-r--r-- | public/bluebey-studio/src/panel.js | 5 | ||||
| -rw-r--r-- | public/bluebey-studio/src/presets.js | 3 |
3 files changed, 4 insertions, 6 deletions
diff --git a/public/bluebey-studio/src/faceArt.js b/public/bluebey-studio/src/faceArt.js index 716fcab..8537fd8 100644 --- a/public/bluebey-studio/src/faceArt.js +++ b/public/bluebey-studio/src/faceArt.js @@ -1654,7 +1654,7 @@ export function drawMouth(ctx, p) { // use the whole canvas: a very wide mouth used to smear sideways off the plate. const cornerReach = L.corner.toX * cornerAmount; const halfChord = Math.min( - L.halfChord * clamp(p.width ?? 1, 0.2, 1.6) * clamp(p.length ?? 1, 0.2, 2.5), + L.halfChord * clamp(p.width ?? 1, 0.2, 1.6), Math.min(L.centreX - (edgeLeft + cornerReach), (edgeRight - cornerReach) - L.centreX), ); diff --git a/public/bluebey-studio/src/panel.js b/public/bluebey-studio/src/panel.js index bb409ef..871c896 100644 --- a/public/bluebey-studio/src/panel.js +++ b/public/bluebey-studio/src/panel.js @@ -1349,7 +1349,6 @@ export function buildPanel(app, root) { open: slider({ label: '開き', min: 0, max: 1, step: 0.01, value: 0, format: (v) => v.toFixed(2), onInput: (v) => { state.face.mouth.open = v; app.actions.refresh('face'); } }), round: slider({ label: 'Oの大きさ', min: 0, max: 1, step: 0.01, value: 0, format: (v) => v.toFixed(2), onInput: (v) => { state.face.mouth.round = v; app.actions.refresh('face'); } }), width: slider({ label: '幅', min: 0.2, max: 1.6, step: 0.01, value: 1, format: (v) => v.toFixed(2), onInput: (v) => { state.face.mouth.width = v; app.actions.refresh('face'); } }), - length: slider({ label: '長さ', min: 0.2, max: 2.5, step: 0.01, value: 1, format: (v) => v.toFixed(2), onInput: (v) => { state.face.mouth.length = v; app.actions.refresh('face'); } }), thickness: slider({ label: '太さ', min: 0.2, max: 3, step: 0.01, value: 1, format: (v) => v.toFixed(2), onInput: (v) => { state.face.mouth.thickness = v; app.actions.refresh('face'); } }), tilt: slider({ label: '傾き', min: -30, max: 30, step: 1, value: 0, format: (v) => `${Math.round(v)}°`, onInput: (v) => { state.face.mouth.tilt = v; app.actions.refresh('face'); } }), offsetY: slider({ label: '高さ', min: -140, max: 140, step: 1, value: 0, format: (v) => `${Math.round(v)}`, onInput: (v) => { state.face.mouth.offsetY = v; app.actions.refresh('face'); } }), @@ -1362,11 +1361,11 @@ export function buildPanel(app, root) { // まったく違う。形を切り替えると、その形で使うものだけを出す。 const mouthModeOf = (mouth) => (mouth.round > 0.004 ? 'round' : 'curve'); const mouthRowKeys = { - curve: ['smile', 'length', 'width', 'thickness', 'open', 'tongue', 'tonguePos', 'corners', 'cornerAngle', 'tilt', 'offsetY'], + curve: ['smile', 'width', 'thickness', 'open', 'tongue', 'tonguePos', 'corners', 'cornerAngle', 'tilt', 'offsetY'], round: ['round', 'width', 'thickness', 'tongue', 'tilt', 'offsetY'], }; // DOM order is fixed here; the mode only shows or hides rows. - const mouthRowOrder = ['round', 'smile', 'length', 'width', 'thickness', 'open', 'tilt', 'offsetY', 'tongue', 'tonguePos', 'corners', 'cornerAngle']; + const mouthRowOrder = ['round', 'smile', 'width', 'thickness', 'open', 'tilt', 'offsetY', 'tongue', 'tonguePos', 'corners', 'cornerAngle']; const mouthMode = segmented({ label: '口の形', options: [ diff --git a/public/bluebey-studio/src/presets.js b/public/bluebey-studio/src/presets.js index 64480a9..e4fe49f 100644 --- a/public/bluebey-studio/src/presets.js +++ b/public/bluebey-studio/src/presets.js @@ -354,8 +354,7 @@ export function defaultState() { source: 'parametric', // parametric | original visible: true, smile: 1, // 0 = straight line, 1 = the original smile, <0 = frown - width: 1, - length: 1, // extra multiplier on the smile line's length + width: 1, // the smile line's length (the chord); also the O's width thickness: 1, open: 0, // 0 = closed lips, 1 = wide open tilt: 0, // degrees |
