Merge branch 'develop' into feature/UI更新&安卓适配
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -214,7 +214,67 @@ ScriptedImporter:
|
||||
characterGroups: []
|
||||
pivot: {x: 0, y: 0}
|
||||
boneReadOnly: 0
|
||||
platformSettings: []
|
||||
platformSettings:
|
||||
- name: DefaultTexturePlatform
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
- name: Standalone
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
- name: Server
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
- name: Android
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
- name: WebGL
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
mosaicLayers: 1
|
||||
characterMode: 1
|
||||
documentPivot: {x: 0, y: 0}
|
||||
@@ -233,146 +293,6 @@ ScriptedImporter:
|
||||
resliceFromLayer: 0
|
||||
mosaicPSDLayers: []
|
||||
rigPSDLayers:
|
||||
- name: "UF\u89C6\u89D2\u4E0B\u751F\u6210\u7684\u56FE\u50CF\u5143\u7D20"
|
||||
spriteName:
|
||||
isGroup: 1
|
||||
parentIndex: -1
|
||||
spriteID: e941588a141b56f479db3454d668ebef
|
||||
layerID: 637
|
||||
mosaicPosition: {x: 0, y: 0}
|
||||
flatten: 0
|
||||
isImported: 0
|
||||
isVisible: 0
|
||||
- name: "\u56FE\u5C42 5"
|
||||
spriteName:
|
||||
isGroup: 0
|
||||
parentIndex: 0
|
||||
spriteID: d895094d526880e4684305bc55024019
|
||||
layerID: 666
|
||||
mosaicPosition: {x: 0, y: 0}
|
||||
flatten: 0
|
||||
isImported: 0
|
||||
isVisible: 1
|
||||
- name: "\u6D77\u4E2D\u5927\u8C61"
|
||||
spriteName:
|
||||
isGroup: 0
|
||||
parentIndex: 0
|
||||
spriteID: 8c2a75dae64ffd749bd065803bcdc2dc
|
||||
layerID: 646
|
||||
mosaicPosition: {x: 0, y: 0}
|
||||
flatten: 0
|
||||
isImported: 0
|
||||
isVisible: 1
|
||||
- name: "\u690D\u7269\u53D8\u6210\u7684\u753B\u7B14\u7B14\u7B52"
|
||||
spriteName:
|
||||
isGroup: 0
|
||||
parentIndex: 0
|
||||
spriteID: 5f1bf878f8b636d4aa7198c430cd8ddb
|
||||
layerID: 651
|
||||
mosaicPosition: {x: 0, y: 0}
|
||||
flatten: 0
|
||||
isImported: 0
|
||||
isVisible: 0
|
||||
- name: "\u5915\u9633\u5C71\u4E18"
|
||||
spriteName:
|
||||
isGroup: 1
|
||||
parentIndex: 0
|
||||
spriteID: 40d012f90d12d054b8b4b095c5d17097
|
||||
layerID: 659
|
||||
mosaicPosition: {x: 0, y: 0}
|
||||
flatten: 0
|
||||
isImported: 0
|
||||
isVisible: 0
|
||||
- name: "\u56FE\u5C42 1 \u62F7\u8D1D"
|
||||
spriteName:
|
||||
isGroup: 0
|
||||
parentIndex: 4
|
||||
spriteID: 6e6a26c6b33e3f046a0fb07c7a0be1d2
|
||||
layerID: 655
|
||||
mosaicPosition: {x: 0, y: 0}
|
||||
flatten: 0
|
||||
isImported: 0
|
||||
isVisible: 0
|
||||
- name: "\u8272\u76F8/\u9971\u548C\u5EA6 1"
|
||||
spriteName:
|
||||
isGroup: 0
|
||||
parentIndex: 4
|
||||
spriteID: e00cb4f5c86d7af42810b4b13c2b9311
|
||||
layerID: 665
|
||||
mosaicPosition: {x: 0, y: 0}
|
||||
flatten: 0
|
||||
isImported: 0
|
||||
isVisible: 1
|
||||
- name: "\u8272\u9636 1"
|
||||
spriteName:
|
||||
isGroup: 0
|
||||
parentIndex: 4
|
||||
spriteID: d4750bcb749c6be489a6433b8733ffb3
|
||||
layerID: 662
|
||||
mosaicPosition: {x: 0, y: 0}
|
||||
flatten: 0
|
||||
isImported: 0
|
||||
isVisible: 1
|
||||
- name: "\u56FE\u5C42 1 \u62F7\u8D1D 2"
|
||||
spriteName:
|
||||
isGroup: 0
|
||||
parentIndex: 4
|
||||
spriteID: dd619b01f886515448f78aeb6d501809
|
||||
layerID: 656
|
||||
mosaicPosition: {x: 0, y: 0}
|
||||
flatten: 0
|
||||
isImported: 0
|
||||
isVisible: 1
|
||||
- name: "\u5915\u9633\u5C71\u4E18"
|
||||
spriteName:
|
||||
isGroup: 1
|
||||
parentIndex: 0
|
||||
spriteID: 9713048476e1591449391ce052b71542
|
||||
layerID: 657
|
||||
mosaicPosition: {x: 0, y: 0}
|
||||
flatten: 0
|
||||
isImported: 0
|
||||
isVisible: 0
|
||||
- name: "\u56FE\u5C42 4"
|
||||
spriteName:
|
||||
isGroup: 0
|
||||
parentIndex: 9
|
||||
spriteID: 22f2788988d685542a68985f6c194113
|
||||
layerID: 664
|
||||
mosaicPosition: {x: 0, y: 0}
|
||||
flatten: 0
|
||||
isImported: 0
|
||||
isVisible: 0
|
||||
- name: "\u56FE\u5C42 3"
|
||||
spriteName:
|
||||
isGroup: 0
|
||||
parentIndex: 9
|
||||
spriteID: db1382cf3f3423d42b9ac9c9b9ecc7fc
|
||||
layerID: 661
|
||||
mosaicPosition: {x: 0, y: 0}
|
||||
flatten: 0
|
||||
isImported: 0
|
||||
isVisible: 0
|
||||
- name: "\u56FE\u5C42 2"
|
||||
spriteName:
|
||||
isGroup: 0
|
||||
parentIndex: 9
|
||||
spriteID: 8a4910856da3a3e459c28726ad02e802
|
||||
layerID: 654
|
||||
mosaicPosition: {x: 0, y: 0}
|
||||
flatten: 0
|
||||
isImported: 0
|
||||
isVisible: 0
|
||||
- name: "\u56FE\u5C42 1"
|
||||
spriteName:
|
||||
isGroup: 0
|
||||
parentIndex: 9
|
||||
spriteID: 4f403b854fa76234fabfccf65b54804a
|
||||
layerID: 653
|
||||
mosaicPosition: {x: 0, y: 0}
|
||||
flatten: 0
|
||||
isImported: 0
|
||||
isVisible: 0
|
||||
- name: "\u7A97\u5B50"
|
||||
spriteName: "\u7A97\u5B50"
|
||||
isGroup: 0
|
||||
|
||||
Binary file not shown.
@@ -48,7 +48,7 @@ TextureImporter:
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spritePixelsToUnits: 50
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
|
||||
Binary file not shown.
@@ -48,7 +48,7 @@ TextureImporter:
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spritePixelsToUnits: 50
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
|
||||
@@ -133,6 +133,29 @@ Shader "AIBIS/EyeUnifiedSprite"
|
||||
return saturate(mul(mat, color));
|
||||
}
|
||||
|
||||
fixed4 sampleMainTex(float2 uv)
|
||||
{
|
||||
return tex2D(_MainTex, uv);
|
||||
}
|
||||
|
||||
fixed4 gaussianBlurSample(float2 uv, float stepSize)
|
||||
{
|
||||
float angle = 1.937315; // ~111 deg, matches MemoryTuningSprite
|
||||
float2 stepDir = float2(sin(angle), cos(angle));
|
||||
float2 stepUv = stepDir * stepSize;
|
||||
|
||||
fixed4 col = sampleMainTex(uv) * 0.18;
|
||||
col += sampleMainTex(uv + stepUv * 1.0) * 0.15;
|
||||
col += sampleMainTex(uv - stepUv * 1.0) * 0.15;
|
||||
col += sampleMainTex(uv + stepUv * 2.0) * 0.12;
|
||||
col += sampleMainTex(uv - stepUv * 2.0) * 0.12;
|
||||
col += sampleMainTex(uv + stepUv * 3.0) * 0.09;
|
||||
col += sampleMainTex(uv - stepUv * 3.0) * 0.09;
|
||||
col += sampleMainTex(uv + stepUv * 4.0) * 0.05;
|
||||
col += sampleMainTex(uv - stepUv * 4.0) * 0.05;
|
||||
return col;
|
||||
}
|
||||
|
||||
fixed4 sampleSprite(float2 uv, float2 screenUv)
|
||||
{
|
||||
float2 distortedUv = uv;
|
||||
@@ -141,23 +164,21 @@ Shader "AIBIS/EyeUnifiedSprite"
|
||||
float ripple = sin((length(centered) * 42.0) - (_Time.y * 8.0));
|
||||
distortedUv += centered * ripple * _RoundWaveStrength * 0.018;
|
||||
|
||||
float glitchRow = floor(screenUv.y * 240.0);
|
||||
float tear = (hash21(float2(glitchRow, floor(_Time.y * 18.0))) - 0.5) * _GlitchAmount * 0.04;
|
||||
float glitchRow = floor(screenUv.y * 360.0);
|
||||
float tear = (hash21(float2(glitchRow, floor(_Time.y * 20.0))) - 0.5) * _GlitchAmount * 0.012;
|
||||
distortedUv.x += tear;
|
||||
|
||||
float noise = hash21(floor(uv * 42.0) + floor(_Time.y * 16.0));
|
||||
distortedUv += (noise - 0.5) * _DistortAmount;
|
||||
|
||||
float2 blur = _MainTex_TexelSize.xy + _BlurSize;
|
||||
fixed4 col = tex2D(_MainTex, distortedUv);
|
||||
fixed4 blurCol = col;
|
||||
blurCol += tex2D(_MainTex, distortedUv + float2(blur.x, 0));
|
||||
blurCol += tex2D(_MainTex, distortedUv - float2(blur.x, 0));
|
||||
blurCol += tex2D(_MainTex, distortedUv + float2(0, blur.y));
|
||||
blurCol += tex2D(_MainTex, distortedUv - float2(0, blur.y));
|
||||
blurCol *= 0.2;
|
||||
// Match legacy AllIn1 scale (~offset * fade * 0.005); avoid MemoryTuning's 0.014 base.
|
||||
float2 texel = _MainTex_TexelSize.xy;
|
||||
float stepSize = length(texel) + _BlurSize;
|
||||
fixed4 col = sampleMainTex(distortedUv);
|
||||
fixed4 blurCol = gaussianBlurSample(distortedUv, stepSize);
|
||||
|
||||
return lerp(col, blurCol, _BlurAmount);
|
||||
float blurStrength = pow(saturate(_BlurAmount), 0.75);
|
||||
return lerp(col, blurCol, blurStrength);
|
||||
}
|
||||
|
||||
fixed4 frag(v2f i) : SV_Target
|
||||
@@ -172,10 +193,16 @@ Shader "AIBIS/EyeUnifiedSprite"
|
||||
float directional = dot(uv - 0.5, revealDir) + 0.5;
|
||||
float dissolveNoise = (hash21(floor(uv * 96.0)) - 0.5) * _RevealNoise;
|
||||
float revealMask = smoothstep(_ColorReveal - _RevealWidth, _ColorReveal + _RevealWidth, directional + dissolveNoise);
|
||||
// Sweep only applies while the target is still desaturated; full color when _GrayAmount reaches 0.
|
||||
float grayMix = saturate(max(_GrayAmount, (1.0 - revealMask) * _GrayAmount));
|
||||
// Idle (_GrayAmount=1) or fully colored (_GrayAmount=0): uniform mix; sweep only mid-transition.
|
||||
float inSweep = step(0.001, 1.0 - _GrayAmount) * step(0.001, _GrayAmount);
|
||||
float sweepFactor = lerp(1.0, (1.0 - revealMask), inSweep);
|
||||
float grayMix = saturate(_GrayAmount * sweepFactor);
|
||||
|
||||
col.rgb = lerp(col.rgb, gray.xxx, grayMix);
|
||||
|
||||
float sweepEdge = 1.0 - abs(directional + dissolveNoise - _ColorReveal);
|
||||
float edgeGlow = smoothstep(_RevealWidth * 0.15, _RevealWidth * 0.55, sweepEdge) * inSweep * _GrayAmount * (1.0 - revealMask);
|
||||
col.rgb += float3(1.0, 0.92, 0.78) * edgeGlow * 0.35;
|
||||
col.rgb = lerp(col.rgb, _WrongColor.rgb * max(gray, 0.08), _WrongColorAmount * _WrongColor.a);
|
||||
|
||||
col.rgb = hueShift(col.rgb, _HsvShift);
|
||||
@@ -197,7 +224,7 @@ Shader "AIBIS/EyeUnifiedSprite"
|
||||
float ascii = asciiShape * asciiBrightness;
|
||||
col.rgb = lerp(col.rgb, ascii.xxx * lerp(float3(1, 1, 1), col.rgb, 0.35), _AsciiAmount);
|
||||
|
||||
float chromaOffset = _GlitchAmount * 0.006;
|
||||
float chromaOffset = _GlitchAmount * 0.004;
|
||||
if (chromaOffset > 0.0001)
|
||||
{
|
||||
float red = tex2D(_MainTex, uv + float2(chromaOffset, 0)).r;
|
||||
|
||||
+1029
-842
File diff suppressed because it is too large
Load Diff
@@ -299,7 +299,7 @@ MonoBehaviour:
|
||||
typewriterStartsAutomatically: 1
|
||||
animationLoop: 0
|
||||
timeScale: 0
|
||||
_text: "\u5BF9\u8BDD\u5185\u5BB9\u663E\u793A\u5728\u8FD9\u91CC<sub>\u652F\u6301\u5BCC\u6587\u672C</sub>"
|
||||
_text:
|
||||
useDynamicScaling: 1
|
||||
referenceFontSize: 10
|
||||
isResettingTimeOnNewText: 1
|
||||
@@ -7211,7 +7211,7 @@ RectTransform:
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
m_AnchorMin: {x: 0.5, y: 0.5}
|
||||
m_AnchorMax: {x: 0.5, y: 0.5}
|
||||
m_AnchoredPosition: {x: 0, y: 0}
|
||||
m_AnchoredPosition: {x: -0.016, y: -0.008}
|
||||
m_SizeDelta: {x: 100, y: 100}
|
||||
m_Pivot: {x: 0.5, y: 0.5}
|
||||
--- !u!114 &1977401368
|
||||
@@ -8256,7 +8256,7 @@ PrefabInstance:
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 8352794458094198668, guid: 60f4427b2070be04f90c1486bb86062c, type: 3}
|
||||
propertyPath: m_IsActive
|
||||
value: 1
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
|
||||
@@ -12,7 +12,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 157431981b8a721458e6706c374a3867, type: 3}
|
||||
m_Name: Day3_mid
|
||||
m_EditorClassIdentifier:
|
||||
nextScene: {fileID: 0}
|
||||
exits:
|
||||
- exitName: default
|
||||
targetScene: {fileID: 11400000, guid: aaef579ad8bdda542b503b40ce6773a8, type: 2}
|
||||
@@ -22,5 +21,5 @@ MonoBehaviour:
|
||||
description:
|
||||
coverPic: {fileID: 0}
|
||||
chapter: "\u96EAxue"
|
||||
graphPosition: {x: 420, y: 110}
|
||||
graphPosition: {x: 526.6666, y: 416}
|
||||
nodeColor: {r: 0.85, g: 0.45, b: 0.45, a: 1}
|
||||
|
||||
@@ -12,7 +12,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 157431981b8a721458e6706c374a3867, type: 3}
|
||||
m_Name: Day3_night
|
||||
m_EditorClassIdentifier:
|
||||
nextScene: {fileID: 0}
|
||||
exits:
|
||||
- exitName: default
|
||||
targetScene: {fileID: 11400000, guid: ff82a99e791be3e41acf40232f908eb3, type: 2}
|
||||
|
||||
@@ -12,7 +12,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 157431981b8a721458e6706c374a3867, type: 3}
|
||||
m_Name: Day4_mid
|
||||
m_EditorClassIdentifier:
|
||||
nextScene: {fileID: 0}
|
||||
exits:
|
||||
- exitName: default
|
||||
targetScene: {fileID: 11400000, guid: 362a7dfb573114247a33c0e290b698eb, type: 2}
|
||||
@@ -22,5 +21,5 @@ MonoBehaviour:
|
||||
description:
|
||||
coverPic: {fileID: 0}
|
||||
chapter:
|
||||
graphPosition: {x: 0, y: -770}
|
||||
graphPosition: {x: 2659.3335, y: 472.6667}
|
||||
nodeColor: {r: 0.85, g: 0.45, b: 0.45, a: 1}
|
||||
|
||||
@@ -12,7 +12,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 157431981b8a721458e6706c374a3867, type: 3}
|
||||
m_Name: FP_HuoShan
|
||||
m_EditorClassIdentifier:
|
||||
nextScene: {fileID: 0}
|
||||
exits:
|
||||
- exitName: default
|
||||
targetScene: {fileID: 11400000, guid: 8d8b11f0c2fbc4d4cb8c2857d98383c9, type: 2}
|
||||
|
||||
@@ -12,7 +12,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 157431981b8a721458e6706c374a3867, type: 3}
|
||||
m_Name: Gts1
|
||||
m_EditorClassIdentifier:
|
||||
nextScene: {fileID: 0}
|
||||
exits:
|
||||
- exitName: default
|
||||
targetScene: {fileID: 11400000, guid: 172e1298764e87a4b9ed51264b908ba9, type: 2}
|
||||
|
||||
@@ -12,7 +12,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 157431981b8a721458e6706c374a3867, type: 3}
|
||||
m_Name: PeipeiDay1
|
||||
m_EditorClassIdentifier:
|
||||
nextScene: {fileID: 0}
|
||||
exits:
|
||||
- exitName: default
|
||||
targetScene: {fileID: 11400000, guid: 68a9c1b8c5230454bb9498fd2ab5714b, type: 2}
|
||||
@@ -22,5 +21,5 @@ MonoBehaviour:
|
||||
description: "\u7B2C\u4E00\u4F4D\u75C5\u4EBA"
|
||||
coverPic: {fileID: 21300000, guid: ef7ba7c21d2aea048abe5729d7da2eee, type: 3}
|
||||
chapter: "\u7B2C\u4E00\u4F4D\u75C5\u4EBA"
|
||||
graphPosition: {x: 0, y: 110}
|
||||
graphPosition: {x: 1682, y: 740}
|
||||
nodeColor: {r: 0.85, g: 0.45, b: 0.45, a: 1}
|
||||
|
||||
@@ -12,7 +12,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 157431981b8a721458e6706c374a3867, type: 3}
|
||||
m_Name: PeipeiDay2
|
||||
m_EditorClassIdentifier:
|
||||
nextScene: {fileID: 0}
|
||||
exits:
|
||||
- exitName: default
|
||||
targetScene: {fileID: 11400000, guid: afc5b01ef301cc74db7cae741acad427, type: 2}
|
||||
@@ -22,5 +21,5 @@ MonoBehaviour:
|
||||
description:
|
||||
coverPic: {fileID: 0}
|
||||
chapter:
|
||||
graphPosition: {x: 420, y: -110}
|
||||
graphPosition: {x: 419.99997, y: -112.666664}
|
||||
nodeColor: {r: 0.85, g: 0.45, b: 0.45, a: 1}
|
||||
|
||||
@@ -12,7 +12,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 157431981b8a721458e6706c374a3867, type: 3}
|
||||
m_Name: PeipeiDay3
|
||||
m_EditorClassIdentifier:
|
||||
nextScene: {fileID: 0}
|
||||
exits:
|
||||
- exitName: default
|
||||
targetScene: {fileID: 11400000, guid: e749fe0f9aa32f44097e037f52a5bfe0, type: 2}
|
||||
|
||||
@@ -12,7 +12,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 157431981b8a721458e6706c374a3867, type: 3}
|
||||
m_Name: Prologue_begin
|
||||
m_EditorClassIdentifier:
|
||||
nextScene: {fileID: 0}
|
||||
exits:
|
||||
- exitName: default
|
||||
targetScene: {fileID: 11400000, guid: 2f763a2c04ecafb4981379b7363f9791, type: 2}
|
||||
@@ -22,5 +21,5 @@ MonoBehaviour:
|
||||
description:
|
||||
coverPic: {fileID: 0}
|
||||
chapter:
|
||||
graphPosition: {x: 0, y: 550}
|
||||
graphPosition: {x: 770.6666, y: 912}
|
||||
nodeColor: {r: 0.85, g: 0.45, b: 0.45, a: 1}
|
||||
|
||||
@@ -12,7 +12,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 157431981b8a721458e6706c374a3867, type: 3}
|
||||
m_Name: StoneDay2
|
||||
m_EditorClassIdentifier:
|
||||
nextScene: {fileID: 0}
|
||||
exits:
|
||||
- exitName: default
|
||||
targetScene: {fileID: 11400000, guid: afc5b01ef301cc74db7cae741acad427, type: 2}
|
||||
|
||||
@@ -12,7 +12,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 157431981b8a721458e6706c374a3867, type: 3}
|
||||
m_Name: YingliDay1
|
||||
m_EditorClassIdentifier:
|
||||
nextScene: {fileID: 0}
|
||||
exits:
|
||||
- exitName: default
|
||||
targetScene: {fileID: 11400000, guid: e749fe0f9aa32f44097e037f52a5bfe0, type: 2}
|
||||
|
||||
@@ -13,13 +13,13 @@ MonoBehaviour:
|
||||
m_Name: Day0_Prologue
|
||||
m_EditorClassIdentifier:
|
||||
exits:
|
||||
- exitName: default
|
||||
- exitName: exit_0
|
||||
targetScene: {fileID: 11400000, guid: ac5ca9a66ff22ab4b9cd5adbdade6b8c, type: 2}
|
||||
yarnProject: {fileID: 7545569452688597077, guid: 2fa76ffaa57f62244b77be9b25ca14c2, type: 3}
|
||||
firstSceneName: Scene/OpenFixScene
|
||||
title: "\u68A6"
|
||||
description: "\u6D77\u6D6A\u4E0E\u75C5\u75DB"
|
||||
title: "\u5E8F\u7AE0\uFF1A\u5669\u68A6"
|
||||
description: "\u9519\u8BEF\u6570\u636E"
|
||||
coverPic: {fileID: 21300000, guid: c66b2b5ca74393c45a0d281a6662aa54, type: 3}
|
||||
chapter: "\u6D77\u6D6A\u4E0E\u75C5\u75DB"
|
||||
graphPosition: {x: 0, y: 0}
|
||||
chapter: 0
|
||||
graphPosition: {x: 1372, y: 1596.6666}
|
||||
nodeColor: {r: 0.85, g: 0.45, b: 0.45, a: 1}
|
||||
|
||||
@@ -17,9 +17,9 @@ MonoBehaviour:
|
||||
targetScene: {fileID: 11400000, guid: 68a9c1b8c5230454bb9498fd2ab5714b, type: 2}
|
||||
yarnProject: {fileID: 7545569452688597077, guid: 26fc6619bbcda734a81361b8bb615f04, type: 3}
|
||||
firstSceneName: Scene/PeipeiFixScene
|
||||
title: "\u4F69\u4F69"
|
||||
description: "\u7B2C\u4E00\u4F4D\u75C5\u4EBA"
|
||||
title: "\u7F8E\u5DE5\u578B\u53F7\u60A3\u8005-\u4F69\u4F69"
|
||||
description: "\u8BB0\u5FC6-\u89C6\u89C9\u6865\u622A\u65AD\u672F"
|
||||
coverPic: {fileID: 21300000, guid: ef7ba7c21d2aea048abe5729d7da2eee, type: 3}
|
||||
chapter: "\u7B2C\u4E00\u4F4D\u75C5\u4EBA"
|
||||
graphPosition: {x: 840.6666, y: 0}
|
||||
chapter: 1
|
||||
graphPosition: {x: 1966.6666, y: 1596.6666}
|
||||
nodeColor: {r: 0.85, g: 0.45, b: 0.45, a: 1}
|
||||
|
||||
@@ -17,9 +17,9 @@ MonoBehaviour:
|
||||
targetScene: {fileID: 11400000, guid: dadf07a02eb4b8d4c8bdf1739a10c9c5, type: 2}
|
||||
yarnProject: {fileID: 7545569452688597077, guid: 533dc422c8871c143a551bd5d446b439, type: 3}
|
||||
firstSceneName: Scene/SubWay
|
||||
title: "\u5730\u94C1\u4E0A"
|
||||
description: "\u8BB0\u5F97\u6253\u5361"
|
||||
title: "\u7B2C\u4E00\u5929\u65E9\u4E0A"
|
||||
description: "\u5730\u94C1\uFF0C\u548C\u706B\u5C71\u7684\u5BF9\u8BDD"
|
||||
coverPic: {fileID: 21300000, guid: f78e34492dd89b341928553dd1dfcbdb, type: 3}
|
||||
chapter: "\u8BB0\u5F97\u6253\u5361"
|
||||
graphPosition: {x: 420, y: 0}
|
||||
chapter: 1
|
||||
graphPosition: {x: 1668, y: 1596.6666}
|
||||
nodeColor: {r: 0.85, g: 0.45, b: 0.45, a: 1}
|
||||
|
||||
@@ -17,9 +17,9 @@ MonoBehaviour:
|
||||
targetScene: {fileID: 11400000, guid: ada4bdc2db5594e4f860c90b3a4b9da8, type: 2}
|
||||
yarnProject: {fileID: 7545569452688597077, guid: 293561ce52efc594399242651d44b366, type: 3}
|
||||
firstSceneName: Scene/ClinicOut
|
||||
title: "\u5348\u4F11"
|
||||
description: "\u51AC\u5929\u5230\u4E86"
|
||||
title: "\u7B2C\u4E00\u5929\uFF0C\u4E2D\u5348"
|
||||
description: "\u4F69\u4F691\u7ED3\u675F\u540E\u7684\u5BF9\u8BDD"
|
||||
coverPic: {fileID: 21300000, guid: 7715c89797cc6ca4e914b85f5524e9fd, type: 3}
|
||||
chapter: "\u51AC\u5929\u5230\u4E86"
|
||||
graphPosition: {x: 1260, y: 0}
|
||||
chapter: 1
|
||||
graphPosition: {x: 2303.3335, y: 1596.6666}
|
||||
nodeColor: {r: 0.85, g: 0.45, b: 0.45, a: 1}
|
||||
|
||||
@@ -13,13 +13,13 @@ MonoBehaviour:
|
||||
m_Name: Day1_night
|
||||
m_EditorClassIdentifier:
|
||||
exits:
|
||||
- exitName: default
|
||||
- exitName: exit_0
|
||||
targetScene: {fileID: 11400000, guid: 653fbfbb55fef7740a2360590e29d552, type: 2}
|
||||
yarnProject: {fileID: 7545569452688597077, guid: 29ebe788cfe2c084e88ffdd8e2f93378, type: 3}
|
||||
firstSceneName: "Scene/\u9152\u5427\u573A\u666F"
|
||||
title: "\u9152\u676F\u548C\u724C"
|
||||
description: "\u9152\u676F\u548C\u724C"
|
||||
title: "\u7B2C\u4E00\u5929\uFF0C\u665A\u4E0A"
|
||||
description: "\u9152\u5427\u548C\u5947\u7433\u7684\u5BF9\u8BDD"
|
||||
coverPic: {fileID: 21300000, guid: df86302e77350e34ea422cd24043dd93, type: 3}
|
||||
chapter: "\u9152\u676F\u548C\u724C"
|
||||
graphPosition: {x: 1682, y: 0}
|
||||
chapter: 1
|
||||
graphPosition: {x: 2628, y: 1596.6666}
|
||||
nodeColor: {r: 0.85, g: 0.45, b: 0.45, a: 1}
|
||||
|
||||
@@ -17,9 +17,9 @@ MonoBehaviour:
|
||||
targetScene: {fileID: 11400000, guid: 362a7dfb573114247a33c0e290b698eb, type: 2}
|
||||
yarnProject: {fileID: 7545569452688597077, guid: beb6e77de3427b04dae210b2c9ca29a1, type: 3}
|
||||
firstSceneName: "Scene/\u68A6\u5883"
|
||||
title: "\u542F\u793A"
|
||||
title: "\u7B2C\u4E00\u4E2A\u68A6"
|
||||
description: "\u627E\u5230\u5929\u6587\u53F0\u7684\u5165\u53E3"
|
||||
coverPic: {fileID: 21300000, guid: 20296b9c29cb10f4a97913165e98fb62, type: 3}
|
||||
chapter: "\u627E\u5230\u5929\u6587\u53F0\u7684\u5165\u53E3"
|
||||
graphPosition: {x: 2100, y: 0}
|
||||
chapter: 1
|
||||
graphPosition: {x: 2949.3335, y: 1596.6666}
|
||||
nodeColor: {r: 0.85, g: 0.45, b: 0.45, a: 1}
|
||||
|
||||
@@ -14,10 +14,10 @@ MonoBehaviour:
|
||||
m_EditorClassIdentifier:
|
||||
exits: []
|
||||
yarnProject: {fileID: 7545569452688597077, guid: e6bac2644a8a04b4899ce2fe8ae1f4fc, type: 3}
|
||||
firstSceneName: Scene/Bridge
|
||||
title: "\u7ED3\u675F"
|
||||
description: "\u7ED3\u675F"
|
||||
firstSceneName: Scene/SubWay
|
||||
title: PlaytestEnd
|
||||
description: PlaytestEnd
|
||||
coverPic: {fileID: 21300000, guid: 8344881c78a9845499555d573e34e362, type: 3}
|
||||
chapter: "\u7ED3\u675F"
|
||||
graphPosition: {x: 2419.3335, y: -310.66666}
|
||||
chapter: 99
|
||||
graphPosition: {x: 3258, y: 1596.6666}
|
||||
nodeColor: {r: 0.85, g: 0.45, b: 0.45, a: 1}
|
||||
|
||||
@@ -12,7 +12,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 157431981b8a721458e6706c374a3867, type: 3}
|
||||
m_Name: Day1_NEXT_ST1
|
||||
m_EditorClassIdentifier:
|
||||
nextScene: {fileID: 0}
|
||||
exits:
|
||||
- exitName: default
|
||||
targetScene: {fileID: 11400000, guid: ada4bdc2db5594e4f860c90b3a4b9da8, type: 2}
|
||||
@@ -22,5 +21,5 @@ MonoBehaviour:
|
||||
description:
|
||||
coverPic: {fileID: 0}
|
||||
chapter:
|
||||
graphPosition: {x: 0, y: 0}
|
||||
graphPosition: {x: 2011.3334, y: 740}
|
||||
nodeColor: {r: 0.85, g: 0.45, b: 0.45, a: 1}
|
||||
|
||||
@@ -12,7 +12,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 157431981b8a721458e6706c374a3867, type: 3}
|
||||
m_Name: TestSO
|
||||
m_EditorClassIdentifier:
|
||||
nextScene: {fileID: 0}
|
||||
exits:
|
||||
- exitName: default
|
||||
targetScene: {fileID: 11400000, guid: 10601ce26230723479d875a630f15732, type: 2}
|
||||
|
||||
@@ -12,7 +12,6 @@ MonoBehaviour:
|
||||
m_Script: {fileID: 11500000, guid: 157431981b8a721458e6706c374a3867, type: 3}
|
||||
m_Name: Test_Shitou
|
||||
m_EditorClassIdentifier:
|
||||
nextScene: {fileID: 0}
|
||||
exits: []
|
||||
yarnProject: {fileID: 7545569452688597077, guid: a2b0fa96399ebca4c9c61e346f95b037, type: 3}
|
||||
firstSceneName: Scene/Scene/ExpressFixScene
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using AibisDream.Framework;
|
||||
using DG.Tweening;
|
||||
using System.Collections;
|
||||
using TMPro;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Serialization;
|
||||
@@ -83,11 +84,11 @@ namespace AibisDream
|
||||
initialPosition = PanTransform.position;
|
||||
}
|
||||
|
||||
public void MoveFocusTo(Transform target, float duration, Vector2 minBounds, Vector2 maxBounds, Vector2 viewportSize)
|
||||
public Tween MoveFocusTo(Transform target, float duration, Vector2 minBounds, Vector2 maxBounds, Vector2 viewportSize)
|
||||
{
|
||||
if (target == null)
|
||||
{
|
||||
return;
|
||||
return null;
|
||||
}
|
||||
|
||||
Vector3 focusPosition = ClampFocusPosition(target.position, minBounds, maxBounds, viewportSize);
|
||||
@@ -115,10 +116,26 @@ namespace AibisDream
|
||||
if (duration <= 0f)
|
||||
{
|
||||
PanTransform.position = initialPosition + currentOffset;
|
||||
return;
|
||||
focusTween = null;
|
||||
return null;
|
||||
}
|
||||
|
||||
focusTween = PanTransform.DOMove(initialPosition + currentOffset, duration).SetEase(Ease.InOutSine);
|
||||
return focusTween;
|
||||
}
|
||||
|
||||
public IEnumerator WaitForFocusMove(float fallbackDuration = 0f)
|
||||
{
|
||||
if (focusTween != null && focusTween.IsActive())
|
||||
{
|
||||
yield return focusTween.WaitForCompletion();
|
||||
yield break;
|
||||
}
|
||||
|
||||
if (fallbackDuration > 0f)
|
||||
{
|
||||
yield return new WaitForSeconds(fallbackDuration);
|
||||
}
|
||||
}
|
||||
|
||||
private void Start()
|
||||
@@ -265,10 +282,11 @@ namespace AibisDream
|
||||
indicatorRectTransform.position = boxCenter;
|
||||
indicatorRectTransform.sizeDelta = new Vector2(boxSize.x, boxSize.y);
|
||||
|
||||
Color indicatorColor = currentTarget.GetIndicatorColor();
|
||||
targetNameText.text = currentTarget.name + " " +
|
||||
"R" + currentTarget._color.r.ToString("F1") +
|
||||
" G" + currentTarget._color.g.ToString("F1") +
|
||||
" B" + currentTarget._color.b.ToString("F1");
|
||||
"R" + indicatorColor.r.ToString("F1") +
|
||||
" G" + indicatorColor.g.ToString("F1") +
|
||||
" B" + indicatorColor.b.ToString("F1");
|
||||
|
||||
targetIndicator.SetActive(true);
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ namespace AibisDream.FixSystem
|
||||
private const float DefaultFadeDuration = 1f;
|
||||
private const float SearchStartDelay = 1f;
|
||||
private const float ProjectorMoveDuration = 2f;
|
||||
private const float MaxClarityDistortion = 0.58f;
|
||||
private const float MaxClarityDistortion = 1f;
|
||||
private const float MaxFrequencyBlur = 0.6f;
|
||||
private const float MinPixelDensity = 18f;
|
||||
private const float MaxPixelDensity = 96f;
|
||||
|
||||
@@ -52,6 +52,119 @@ namespace AibisDream
|
||||
|
||||
public float GetEffectTransitionDuration() => visualSettings.GetDurationForState(_currentState);
|
||||
|
||||
private bool ShouldPreBlinkForFocusedEffect()
|
||||
{
|
||||
return _currentState is EyeColorState.CanImagineColor
|
||||
or EyeColorState.CannotImagineColor
|
||||
or EyeColorState.CanSeeColor;
|
||||
}
|
||||
|
||||
private IEnumerator WaitForFocusMovement(float moveDuration)
|
||||
{
|
||||
if (!EnsureMouseFollowAndZoom())
|
||||
{
|
||||
yield break;
|
||||
}
|
||||
|
||||
yield return mouseFollowAndZoom.WaitForFocusMove(moveDuration);
|
||||
}
|
||||
|
||||
private IEnumerator RunFocusedEffectWithPreBlink(EyeTarget target)
|
||||
{
|
||||
if (EnsureMouseFollowAndZoom())
|
||||
{
|
||||
yield return mouseFollowAndZoom.WaitForFocusMove();
|
||||
}
|
||||
|
||||
float duration = GetEffectTransitionDuration();
|
||||
EyeViewportOverlay overlay = EnsureViewportOverlay();
|
||||
|
||||
if (overlay != null && Application.isPlaying && ShouldPreBlinkForFocusedEffect())
|
||||
{
|
||||
if (_currentState == EyeColorState.CanImagineColor)
|
||||
{
|
||||
yield return overlay.PlayPreEffectBlinkThen(
|
||||
2,
|
||||
visualSettings,
|
||||
() => eyeStateEffect?.ApplyFocusedEffect(target, this),
|
||||
visualSettings.imagineEffectAtBlinkOpen,
|
||||
visualSettings.imagineBlinkGap);
|
||||
}
|
||||
else
|
||||
{
|
||||
yield return overlay.PlayPreEffectBlinkThen(
|
||||
1,
|
||||
visualSettings,
|
||||
() => eyeStateEffect?.ApplyFocusedEffect(target, this),
|
||||
visualSettings.focusEffectAtBlinkOpen);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
eyeStateEffect?.ApplyFocusedEffect(target, this);
|
||||
}
|
||||
|
||||
yield return new WaitForSeconds(duration);
|
||||
}
|
||||
|
||||
private IEnumerator RunBlurOutWithPreBlink(EyeTarget target, float duration)
|
||||
{
|
||||
EyeViewportOverlay overlay = EnsureViewportOverlay();
|
||||
|
||||
if (overlay != null && Application.isPlaying)
|
||||
{
|
||||
yield return overlay.PlayPreEffectBlinkThen(
|
||||
1,
|
||||
visualSettings,
|
||||
() => target.BlurOut(duration),
|
||||
visualSettings.focusEffectAtBlinkOpen);
|
||||
}
|
||||
else
|
||||
{
|
||||
target.BlurOut(duration);
|
||||
}
|
||||
|
||||
yield return new WaitForSeconds(duration);
|
||||
}
|
||||
|
||||
private IEnumerator RunUnfocusedEffectWithPreBlink(EyeTarget target)
|
||||
{
|
||||
if (target == null || eyeStateEffect == null)
|
||||
{
|
||||
yield break;
|
||||
}
|
||||
|
||||
float duration = GetEffectTransitionDuration();
|
||||
EyeViewportOverlay overlay = EnsureViewportOverlay();
|
||||
|
||||
if (overlay != null && Application.isPlaying && ShouldPreBlinkForFocusedEffect())
|
||||
{
|
||||
if (_currentState == EyeColorState.CanImagineColor)
|
||||
{
|
||||
yield return overlay.PlayPreEffectBlinkThen(
|
||||
2,
|
||||
visualSettings,
|
||||
() => eyeStateEffect.ApplyUnfocusedEffect(target, this),
|
||||
visualSettings.imagineEffectAtBlinkOpen,
|
||||
visualSettings.imagineBlinkGap);
|
||||
}
|
||||
else
|
||||
{
|
||||
yield return overlay.PlayPreEffectBlinkThen(
|
||||
1,
|
||||
visualSettings,
|
||||
() => eyeStateEffect.ApplyUnfocusedEffect(target, this),
|
||||
visualSettings.focusEffectAtBlinkOpen);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
eyeStateEffect.ApplyUnfocusedEffect(target, this);
|
||||
}
|
||||
|
||||
yield return new WaitForSeconds(duration);
|
||||
}
|
||||
|
||||
private void OnValidate()
|
||||
{
|
||||
ApplyVisualSettingsNow(
|
||||
@@ -183,6 +296,11 @@ namespace AibisDream
|
||||
return;
|
||||
}
|
||||
|
||||
if (duration > 0.01f)
|
||||
{
|
||||
AudioManager.Instance.PlaySfx("event:/ActionFB/visualturn");
|
||||
}
|
||||
|
||||
mouseFollowAndZoom.MoveFocusTo(
|
||||
focusTransform,
|
||||
duration,
|
||||
@@ -266,6 +384,14 @@ namespace AibisDream
|
||||
private void Start()
|
||||
{
|
||||
ApplyVisualSettingsToTargets();
|
||||
if (targets != null)
|
||||
{
|
||||
foreach (EyeTarget target in targets)
|
||||
{
|
||||
target?.Init();
|
||||
}
|
||||
}
|
||||
|
||||
SetEyeColorState(_currentState);
|
||||
EnsureMouseFollowAndZoom();
|
||||
}
|
||||
@@ -289,7 +415,7 @@ namespace AibisDream
|
||||
[YarnCommand("EyeBlink")]
|
||||
public void EyeBlink(float duration = 0f)
|
||||
{
|
||||
EnsureViewportOverlay()?.PlayBlink(duration > 0f ? duration : null);
|
||||
EnsureViewportOverlay()?.PlayBlink(duration > 0f ? duration : null, restartAutoBlinkAfter: true);
|
||||
}
|
||||
|
||||
[YarnCommand("set_Eyetarget")]
|
||||
@@ -309,30 +435,33 @@ namespace AibisDream
|
||||
}
|
||||
|
||||
YarnVariableStorage.Instance.SetValue("$currentEyeTarget", target.name);
|
||||
StartCoroutine(EyeEffect_FadeOut());
|
||||
|
||||
FocusOnTarget(target, 1f);
|
||||
|
||||
if (currentTarget != null)
|
||||
{
|
||||
currentTarget.BlurIn(visualSettings.targetSwitchDuration);
|
||||
}
|
||||
|
||||
if (currentTarget == target)
|
||||
{
|
||||
DialogController.Instance.StartDialogNode("重复看同一个目标");
|
||||
currentTarget = target;
|
||||
mouseFollowAndZoom.SetIndicatorTarget(currentTarget);
|
||||
currentTarget.BlurOut(visualSettings.targetSwitchDuration);
|
||||
yield return new WaitForSeconds(visualSettings.targetSwitchDuration);
|
||||
if (startDialogue)
|
||||
{
|
||||
DialogController.Instance.StartDialogNode("重复看同一个目标");
|
||||
yield return RunBlurOutWithPreBlink(currentTarget, visualSettings.targetSwitchDuration);
|
||||
}
|
||||
|
||||
yield break;
|
||||
}
|
||||
|
||||
EyeTarget leavingTarget = currentTarget;
|
||||
if (leavingTarget != null)
|
||||
{
|
||||
StartCoroutine(EyeEffect_FadeOut());
|
||||
}
|
||||
|
||||
const float focusMoveDuration = 1f;
|
||||
FocusOnTarget(target, focusMoveDuration);
|
||||
|
||||
yield return WaitForFocusMovement(focusMoveDuration);
|
||||
|
||||
currentTarget = target;
|
||||
mouseFollowAndZoom.SetIndicatorTarget(currentTarget);
|
||||
currentTarget.BlurOut(visualSettings.targetSwitchDuration);
|
||||
|
||||
yield return new WaitForSeconds(visualSettings.targetSwitchDuration);
|
||||
yield return RunBlurOutWithPreBlink(currentTarget, visualSettings.targetSwitchDuration);
|
||||
|
||||
if (startDialogue)
|
||||
{
|
||||
@@ -354,25 +483,37 @@ namespace AibisDream
|
||||
[YarnCommand("EyeEffect_FadeIn")]
|
||||
public IEnumerator EyeEffect_FadeIn()
|
||||
{
|
||||
if (currentTarget != null)
|
||||
if (currentTarget == null)
|
||||
{
|
||||
AudioManager.Instance.PlaySfx("event:/ActionFB/color_imagine");
|
||||
eyeStateEffect?.ApplyFocusedEffect(currentTarget, this);
|
||||
yield break;
|
||||
}
|
||||
|
||||
yield return new WaitForSeconds(GetEffectTransitionDuration());
|
||||
if (_currentState == EyeColorState.CanImagineColor
|
||||
&& currentTarget.IsAtFocusedColorState(visualSettings))
|
||||
{
|
||||
yield break;
|
||||
}
|
||||
|
||||
AudioManager.Instance.PlaySfx("event:/ActionFB/color_imagine");
|
||||
yield return RunFocusedEffectWithPreBlink(currentTarget);
|
||||
}
|
||||
|
||||
[YarnCommand("EyeEffect_FadeOut")]
|
||||
public IEnumerator EyeEffect_FadeOut()
|
||||
{
|
||||
if (currentTarget != null)
|
||||
if (currentTarget == null)
|
||||
{
|
||||
AudioManager.Instance.PlaySfx("event:/ActionFB/color_imagine");
|
||||
eyeStateEffect?.ApplyUnfocusedEffect(currentTarget, this);
|
||||
yield break;
|
||||
}
|
||||
|
||||
yield return new WaitForSeconds(GetEffectTransitionDuration());
|
||||
if (_currentState == EyeColorState.CanImagineColor
|
||||
&& currentTarget.IsAtUnfocusedColorState(visualSettings))
|
||||
{
|
||||
yield break;
|
||||
}
|
||||
|
||||
AudioManager.Instance.PlaySfx("event:/ActionFB/color_imagine");
|
||||
yield return RunUnfocusedEffectWithPreBlink(currentTarget);
|
||||
}
|
||||
|
||||
[YarnCommand("EyeEffect_Init")]
|
||||
|
||||
@@ -20,8 +20,23 @@ public class EyeTarget : MonoBehaviour
|
||||
[SerializeField] private Shader unifiedSpriteShader;
|
||||
[SerializeField] private EyeTargetVisual unifiedVisual;
|
||||
|
||||
[Header("Indicator RGB (imagined color for debug overlay)")]
|
||||
public Color _color;
|
||||
|
||||
public Color GetIndicatorColor()
|
||||
{
|
||||
return new Color(
|
||||
RoundIndicatorChannel(_color.r),
|
||||
RoundIndicatorChannel(_color.g),
|
||||
RoundIndicatorChannel(_color.b),
|
||||
_color.a);
|
||||
}
|
||||
|
||||
private static float RoundIndicatorChannel(float value)
|
||||
{
|
||||
return Mathf.Round(value * 10f) / 10f;
|
||||
}
|
||||
|
||||
private EyeVisualSettings visualSettings = new();
|
||||
private Material wrongColorMaterial;
|
||||
|
||||
@@ -80,6 +95,7 @@ public class EyeTarget : MonoBehaviour
|
||||
|
||||
public void Init()
|
||||
{
|
||||
unifiedVisual?.ClearTransientEffects(visualSettings);
|
||||
SetToMinColorReveal();
|
||||
SetToMaxBlur();
|
||||
SetToNoWrongColor();
|
||||
@@ -111,6 +127,20 @@ public class EyeTarget : MonoBehaviour
|
||||
unifiedVisual?.SetColorReveal(visualSettings.colorRevealMax);
|
||||
}
|
||||
|
||||
public bool IsAtFocusedColorState(EyeVisualSettings settings = null)
|
||||
{
|
||||
EyeVisualSettings tuning = settings ?? visualSettings;
|
||||
return unifiedVisual != null
|
||||
&& unifiedVisual.IsAtColorReveal(tuning.colorRevealMax);
|
||||
}
|
||||
|
||||
public bool IsAtUnfocusedColorState(EyeVisualSettings settings = null)
|
||||
{
|
||||
EyeVisualSettings tuning = settings ?? visualSettings;
|
||||
return unifiedVisual != null
|
||||
&& unifiedVisual.IsAtColorReveal(tuning.colorRevealMin);
|
||||
}
|
||||
|
||||
public void SetToMaxBlur()
|
||||
{
|
||||
unifiedVisual?.SetBlur(visualSettings.idleBlurAmount);
|
||||
@@ -135,16 +165,14 @@ public class EyeTarget : MonoBehaviour
|
||||
|
||||
public void FadeOut(float duration)
|
||||
{
|
||||
unifiedVisual?.TweenColorReveal(visualSettings.colorRevealMin, duration)?.SetEase(Ease.InSine);
|
||||
unifiedVisual?.TweenBlur(visualSettings.idleBlurAmount, duration)?.SetEase(Ease.InSine);
|
||||
unifiedVisual?.PulseDistortion(visualSettings.colorPulseDistortion, duration);
|
||||
unifiedVisual?.KillActiveTweens();
|
||||
unifiedVisual?.PlayColorSweepTransition(visualSettings, duration, colorIn: false);
|
||||
}
|
||||
|
||||
public void ColorIn(float duration)
|
||||
{
|
||||
unifiedVisual?.TweenColorReveal(visualSettings.colorRevealMax, duration)?.SetEase(Ease.InOutSine);
|
||||
unifiedVisual?.TweenBlur(visualSettings.focusedBlurAmount, duration)?.SetEase(Ease.InOutSine);
|
||||
unifiedVisual?.PulseDistortion(visualSettings.colorPulseDistortion, duration);
|
||||
unifiedVisual?.KillActiveTweens();
|
||||
unifiedVisual?.PlayColorSweepTransition(visualSettings, duration, colorIn: true);
|
||||
}
|
||||
|
||||
public void WrongColorIn(float duration)
|
||||
@@ -161,16 +189,13 @@ public class EyeTarget : MonoBehaviour
|
||||
|
||||
public void BlurIn(float duration)
|
||||
{
|
||||
AudioManager.Instance.PlaySfx("event:/ActionFB/visualturn");
|
||||
var tween = unifiedVisual?.TweenBlur(visualSettings.idleBlurAmount, duration);
|
||||
tween?.SetEase(Ease.InOutSine).OnComplete(StopVisualTurnSfx);
|
||||
tween?.SetEase(Ease.InOutSine);
|
||||
}
|
||||
|
||||
public void BlurOut(float duration)
|
||||
{
|
||||
AudioManager.Instance.PlaySfx("event:/ActionFB/visualturn");
|
||||
var tween = unifiedVisual?.TweenBlur(visualSettings.focusedBlurAmount, duration);
|
||||
tween?.SetEase(Ease.InOutSine).OnComplete(StopVisualTurnSfx);
|
||||
unifiedVisual?.TweenBlurFocusSettle(visualSettings, duration);
|
||||
}
|
||||
|
||||
public void ColorBack()
|
||||
@@ -421,9 +446,4 @@ public class EyeTarget : MonoBehaviour
|
||||
renderer.enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
private static void StopVisualTurnSfx()
|
||||
{
|
||||
AudioManager.Instance.StopSfx("event:/ActionFB/visualturn");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,6 +115,22 @@ namespace AibisDream
|
||||
{
|
||||
imageSpriteRenderer.DOKill();
|
||||
}
|
||||
|
||||
ClearTransientEffects(null);
|
||||
}
|
||||
|
||||
public void ClearTransientEffects(EyeVisualSettings settings)
|
||||
{
|
||||
if (!EnsureMaterial())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
SetFloat(GlitchAmountId, 0f);
|
||||
SetFloat(DistortAmountId, 0f);
|
||||
SetFloat(ScanlineAmountId, 0f);
|
||||
SetFloatRaw(HsvShiftId, 0f);
|
||||
SetFloatRaw(RevealNoiseId, settings != null ? settings.revealNoise : 0f);
|
||||
}
|
||||
|
||||
public void ResetVisual(float reveal)
|
||||
@@ -151,6 +167,21 @@ namespace AibisDream
|
||||
SetFloat(GrayAmountId, 1f - value);
|
||||
}
|
||||
|
||||
public float GetColorReveal()
|
||||
{
|
||||
if (!EnsureMaterial() || !material.HasProperty(ColorRevealId))
|
||||
{
|
||||
return 0f;
|
||||
}
|
||||
|
||||
return material.GetFloat(ColorRevealId);
|
||||
}
|
||||
|
||||
public bool IsAtColorReveal(float target, float epsilon = 0.02f)
|
||||
{
|
||||
return Mathf.Abs(GetColorReveal() - target) <= epsilon;
|
||||
}
|
||||
|
||||
public Tween TweenColorReveal(float value, float duration)
|
||||
{
|
||||
if (!EnsureMaterial())
|
||||
@@ -176,7 +207,69 @@ namespace AibisDream
|
||||
|
||||
public Tween TweenBlur(float value, float duration)
|
||||
{
|
||||
return TweenFloat(BlurAmountId, value, duration);
|
||||
if (!EnsureMaterial())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
Tween tween = material.DOFloat(value, BlurAmountId, duration);
|
||||
tween.OnUpdate(SyncBlurSizeToMaterial);
|
||||
tween.OnComplete(SyncBlurSizeToMaterial);
|
||||
return tween;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// One focus transition: sharpen, brief defocus, settle. Total wall time equals <paramref name="duration"/>.
|
||||
/// </summary>
|
||||
public Tween TweenBlurFocusSettle(EyeVisualSettings settings, float duration)
|
||||
{
|
||||
if (!EnsureMaterial() || settings == null || duration <= 0f)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
float sharpBlur = settings.focusedBlurAmount;
|
||||
float bumpBlur = Mathf.Clamp(
|
||||
sharpBlur + settings.focusSettleDefocusBump,
|
||||
sharpBlur,
|
||||
settings.idleBlurAmount);
|
||||
|
||||
Vector3 ratios = settings.focusSettlePhaseRatios;
|
||||
float ratioSum = ratios.x + ratios.y + ratios.z;
|
||||
if (ratioSum <= 0.001f)
|
||||
{
|
||||
ratios = new Vector3(0.5f, 0.22f, 0.28f);
|
||||
ratioSum = ratios.x + ratios.y + ratios.z;
|
||||
}
|
||||
|
||||
float primaryDuration = duration * (ratios.x / ratioSum);
|
||||
float defocusDuration = duration * (ratios.y / ratioSum);
|
||||
float refocusDuration = duration * (ratios.z / ratioSum);
|
||||
|
||||
Sequence sequence = DOTween.Sequence();
|
||||
|
||||
Tween primaryFocus = TweenBlur(sharpBlur, primaryDuration);
|
||||
if (primaryFocus != null)
|
||||
{
|
||||
primaryFocus.SetEase(Ease.InOutSine);
|
||||
sequence.Append(primaryFocus);
|
||||
}
|
||||
|
||||
Tween microDefocus = TweenBlur(bumpBlur, defocusDuration);
|
||||
if (microDefocus != null)
|
||||
{
|
||||
microDefocus.SetEase(Ease.InOutSine);
|
||||
sequence.Append(microDefocus);
|
||||
}
|
||||
|
||||
Tween refocus = TweenBlur(sharpBlur, refocusDuration);
|
||||
if (refocus != null)
|
||||
{
|
||||
refocus.SetEase(Ease.InOutSine);
|
||||
sequence.Append(refocus);
|
||||
}
|
||||
|
||||
return sequence;
|
||||
}
|
||||
|
||||
public void SetWrongColor(float value)
|
||||
@@ -189,16 +282,53 @@ namespace AibisDream
|
||||
return TweenFloat(WrongColorAmountId, value, duration);
|
||||
}
|
||||
|
||||
public Tween PulseDistortion(float amount, float duration)
|
||||
public Tween PlayColorSweepTransition(EyeVisualSettings settings, float duration, bool colorIn)
|
||||
{
|
||||
if (!EnsureMaterial())
|
||||
if (!EnsureMaterial() || settings == null || duration <= 0f)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
return material.DOFloat(amount, DistortAmountId, Mathf.Max(0.01f, duration * 0.5f))
|
||||
.SetEase(Ease.InOutSine)
|
||||
.SetLoops(2, LoopType.Yoyo);
|
||||
duration = Mathf.Max(0.01f, duration);
|
||||
float chromaPeak = settings.colorSweepChromaPeak;
|
||||
float ramp = Mathf.Clamp(settings.colorSweepChromaRamp, 0.1f, 0.6f);
|
||||
float rampDuration = duration * ramp;
|
||||
float settleDuration = duration - rampDuration;
|
||||
|
||||
float targetReveal = colorIn ? settings.colorRevealMax : settings.colorRevealMin;
|
||||
float targetBlur = colorIn ? settings.focusedBlurAmount : settings.idleBlurAmount;
|
||||
Ease sweepEase = colorIn ? Ease.InOutSine : Ease.InSine;
|
||||
|
||||
ClearTransientEffects(null);
|
||||
SetFloatRaw(RevealNoiseId, 0f);
|
||||
|
||||
Sequence sequence = DOTween.Sequence();
|
||||
Tween colorTween = TweenColorReveal(targetReveal, duration);
|
||||
if (colorTween != null)
|
||||
{
|
||||
colorTween.SetEase(sweepEase);
|
||||
sequence.Join(colorTween);
|
||||
}
|
||||
|
||||
Tween blurTween = TweenBlur(targetBlur, duration);
|
||||
if (blurTween != null)
|
||||
{
|
||||
blurTween.SetEase(sweepEase);
|
||||
sequence.Join(blurTween);
|
||||
}
|
||||
|
||||
if (chromaPeak > 0.001f)
|
||||
{
|
||||
Sequence chromaEnvelope = DOTween.Sequence();
|
||||
chromaEnvelope.Append(material.DOFloat(chromaPeak, GlitchAmountId, rampDuration)
|
||||
.SetEase(Ease.OutSine));
|
||||
chromaEnvelope.Append(material.DOFloat(0f, GlitchAmountId, settleDuration)
|
||||
.SetEase(Ease.InSine));
|
||||
sequence.Join(chromaEnvelope);
|
||||
}
|
||||
|
||||
sequence.OnComplete(() => ClearTransientEffects(settings));
|
||||
return sequence;
|
||||
}
|
||||
|
||||
public void SetImageAlpha(float alpha)
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace AibisDream
|
||||
private static readonly int EdgeSoftnessId = Shader.PropertyToID("_EdgeSoftness");
|
||||
private static readonly int BlinkOpenId = Shader.PropertyToID("_BlinkOpen");
|
||||
|
||||
/// <summary>须低于 Persistence 中 UI Canvas(1) 与 Dialog Canvas(3)。</summary>
|
||||
/// <summary>Persistence:本遮罩=0,UI Canvas=1,Dialog Canvas=3。</summary>
|
||||
[SerializeField] private int sortingOrder;
|
||||
|
||||
private Canvas overlayCanvas;
|
||||
@@ -45,7 +45,10 @@ namespace AibisDream
|
||||
}
|
||||
|
||||
PrepareHierarchyIfNeeded();
|
||||
SetOverlayActive(false);
|
||||
if (!moduleActive && !editorPreviewActive)
|
||||
{
|
||||
SetOverlayActive(false);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnDestroy()
|
||||
@@ -143,7 +146,7 @@ namespace AibisDream
|
||||
}
|
||||
}
|
||||
|
||||
public Tween PlayBlink(float? totalDuration = null)
|
||||
public Tween PlayBlink(float? totalDuration = null, bool restartAutoBlinkAfter = false)
|
||||
{
|
||||
if (instanceMaterial == null || activeSettings == null)
|
||||
{
|
||||
@@ -164,11 +167,109 @@ namespace AibisDream
|
||||
blinkTween = DOTween.Sequence()
|
||||
.Append(CreateBlinkTween(blinkOpen, 0f, closeDuration, Ease.InQuad))
|
||||
.Append(CreateBlinkTween(0f, 1f, openDuration, Ease.OutQuad))
|
||||
.OnComplete(() => SetBlinkOpen(1f));
|
||||
.OnComplete(() =>
|
||||
{
|
||||
SetBlinkOpen(1f);
|
||||
if (restartAutoBlinkAfter)
|
||||
{
|
||||
RestartAutoBlinkCooldown(activeSettings);
|
||||
}
|
||||
});
|
||||
|
||||
return blinkTween;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 先眨眼,再在最后一次眨眼的开眼阶段触发效果(聚焦 1 次 / 想象 2 次)。
|
||||
/// </summary>
|
||||
public IEnumerator PlayPreEffectBlinkThen(
|
||||
int blinkCount,
|
||||
EyeVisualSettings settings,
|
||||
System.Action onEffectStart,
|
||||
float effectAtOpenRatio,
|
||||
float betweenBlinkGap = 0f)
|
||||
{
|
||||
if (!ShouldPlayTransitionBlink(settings))
|
||||
{
|
||||
onEffectStart?.Invoke();
|
||||
yield break;
|
||||
}
|
||||
|
||||
StopAutoBlink();
|
||||
|
||||
bool effectStarted = false;
|
||||
blinkCount = Mathf.Max(1, blinkCount);
|
||||
effectAtOpenRatio = Mathf.Clamp01(effectAtOpenRatio);
|
||||
|
||||
for (int i = 0; i < blinkCount; i++)
|
||||
{
|
||||
bool isLastBlink = i == blinkCount - 1;
|
||||
Tween blink = PlayBlink();
|
||||
if (blink == null)
|
||||
{
|
||||
if (isLastBlink && !effectStarted)
|
||||
{
|
||||
effectStarted = true;
|
||||
onEffectStart?.Invoke();
|
||||
}
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
if (isLastBlink)
|
||||
{
|
||||
float effectDelay = settings.blinkCloseDuration + settings.blinkOpenDuration * effectAtOpenRatio;
|
||||
yield return new WaitForSeconds(effectDelay);
|
||||
if (!effectStarted)
|
||||
{
|
||||
effectStarted = true;
|
||||
onEffectStart?.Invoke();
|
||||
}
|
||||
|
||||
yield return blink.WaitForCompletion();
|
||||
}
|
||||
else
|
||||
{
|
||||
yield return blink.WaitForCompletion();
|
||||
if (betweenBlinkGap > 0f)
|
||||
{
|
||||
yield return new WaitForSeconds(betweenBlinkGap);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!effectStarted)
|
||||
{
|
||||
onEffectStart?.Invoke();
|
||||
}
|
||||
|
||||
RestartAutoBlinkCooldown(settings);
|
||||
}
|
||||
|
||||
private bool ShouldPlayTransitionBlink(EyeVisualSettings settings)
|
||||
{
|
||||
return Application.isPlaying
|
||||
&& moduleActive
|
||||
&& !editorPreviewActive
|
||||
&& settings != null
|
||||
&& settings.enableViewportOverlay;
|
||||
}
|
||||
|
||||
private void RestartAutoBlinkCooldown(EyeVisualSettings settings)
|
||||
{
|
||||
if (settings == null || !settings.autoBlink || !Application.isPlaying)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (!(moduleActive || editorPreviewActive))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
StartAutoBlink(settings);
|
||||
}
|
||||
|
||||
private void ShowOverlay(EyeVisualSettings settings)
|
||||
{
|
||||
if (settings == null || !settings.enableViewportOverlay)
|
||||
@@ -178,6 +279,7 @@ namespace AibisDream
|
||||
}
|
||||
|
||||
PrepareHierarchyIfNeeded();
|
||||
ApplyCanvasRenderSettings();
|
||||
activeSettings = settings;
|
||||
ApplySettings(settings);
|
||||
if (!editorPreviewActive)
|
||||
@@ -279,11 +381,6 @@ namespace AibisDream
|
||||
|
||||
private void PrepareHierarchyIfNeeded()
|
||||
{
|
||||
if (hierarchyReady && overlayCanvas != null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (Application.isPlaying && !lifecycleReady)
|
||||
{
|
||||
ScheduleDeferredPrepare();
|
||||
@@ -292,6 +389,7 @@ namespace AibisDream
|
||||
|
||||
EnsureOverlayHierarchy();
|
||||
hierarchyReady = overlayCanvas != null;
|
||||
ApplyCanvasRenderSettings();
|
||||
}
|
||||
|
||||
private void ScheduleDeferredPrepare()
|
||||
@@ -316,6 +414,8 @@ namespace AibisDream
|
||||
PushViewportParams(activeSettings);
|
||||
SetBlinkOpen(blinkOpen);
|
||||
}
|
||||
|
||||
ApplyCanvasRenderSettings();
|
||||
}
|
||||
|
||||
private void EnsureOverlayHierarchy()
|
||||
@@ -382,6 +482,21 @@ namespace AibisDream
|
||||
overlayCanvas.planeDistance = OverlayPlaneDistance;
|
||||
overlayCanvas.sortingLayerName = OverlaySortingLayer;
|
||||
overlayCanvas.sortingOrder = sortingOrder;
|
||||
SetOverlayUILayer(overlayCanvas.gameObject);
|
||||
}
|
||||
|
||||
private static void SetOverlayUILayer(GameObject root)
|
||||
{
|
||||
int uiLayer = LayerMask.NameToLayer("UI");
|
||||
if (uiLayer < 0)
|
||||
{
|
||||
uiLayer = 5;
|
||||
}
|
||||
|
||||
foreach (Transform node in root.GetComponentsInChildren<Transform>(true))
|
||||
{
|
||||
node.gameObject.layer = uiLayer;
|
||||
}
|
||||
}
|
||||
|
||||
private static Camera ResolveUICamera()
|
||||
@@ -391,7 +506,7 @@ namespace AibisDream
|
||||
return UIManager.Instance.UICamera;
|
||||
}
|
||||
|
||||
var uiManager = FindObjectOfType<UIManager>();
|
||||
var uiManager = Object.FindObjectOfType<UIManager>();
|
||||
if (uiManager != null && uiManager.UICamera != null)
|
||||
{
|
||||
return uiManager.UICamera;
|
||||
|
||||
@@ -42,9 +42,23 @@ namespace AibisDream
|
||||
|
||||
[Range(0f, 1f)] public float revealNoise = 0.08f;
|
||||
|
||||
[Header("Distortion Pulse")]
|
||||
[Tooltip("Peak _DistortAmount during ColorIn / FadeOut.")]
|
||||
[Range(0f, 0.08f)] public float colorPulseDistortion = 0.035f;
|
||||
[Header("Color Sweep (ColorIn / FadeOut)")]
|
||||
[Tooltip("Light RGB fringe during color sweep; 0 = sweep only.")]
|
||||
[Range(0f, 1f)] public float colorSweepChromaPeak = 0.35f;
|
||||
|
||||
[Tooltip("Sweep duration fraction to ramp chroma fringe to peak.")]
|
||||
[Range(0.1f, 0.6f)] public float colorSweepChromaRamp = 0.4f;
|
||||
|
||||
[HideInInspector] public float imagineGlitchPeak = 0.35f;
|
||||
[HideInInspector] public float imagineGlitchRamp = 0.4f;
|
||||
[HideInInspector] public float colorPulseDistortion = 0.06f;
|
||||
|
||||
[Header("Focus Settle (BlurOut)")]
|
||||
[Tooltip("Mid-phase micro-defocus added on top of focused blur.")]
|
||||
[Range(0f, 0.5f)] public float focusSettleDefocusBump = 0.12f;
|
||||
|
||||
[Tooltip("Single BlurOut timing split (focus | micro-defocus | refocus). Sum = 1; total seconds unchanged.")]
|
||||
public Vector3 focusSettlePhaseRatios = new(0.5f, 0.22f, 0.28f);
|
||||
|
||||
[Header("Wrong Color (Eye Disorder)")]
|
||||
public Color wrongColor = new(1f, 0.16f, 0.08f, 1f);
|
||||
@@ -77,6 +91,16 @@ namespace AibisDream
|
||||
public float blinkCloseDuration = 0.09f;
|
||||
public float blinkOpenDuration = 0.14f;
|
||||
|
||||
[Header("Transition Blink")]
|
||||
[Tooltip("聚焦:单次眨眼开眼到该进度时触发变清晰(0=刚睁眼,1=完全睁开)。")]
|
||||
[Range(0f, 1f)] public float focusEffectAtBlinkOpen = 0.85f;
|
||||
|
||||
[Tooltip("想象:两次眨眼之间的间隔(秒)。")]
|
||||
public float imagineBlinkGap = 0.04f;
|
||||
|
||||
[Tooltip("想象:第二次眨眼开眼到该进度时触发上色。")]
|
||||
[Range(0f, 1f)] public float imagineEffectAtBlinkOpen = 1f;
|
||||
|
||||
public float GetDurationForState(EyeSystem.EyeColorState state) => state switch
|
||||
{
|
||||
EyeSystem.EyeColorState.CanImagineColor => imagineColorDuration,
|
||||
|
||||
@@ -11,9 +11,9 @@ Shader "AibisDream/MemoryTuningSprite"
|
||||
_PixelMin ("Pixel Min", Range(8,64)) = 18
|
||||
_PixelMax ("Pixel Max", Range(32,256)) = 128
|
||||
_BlurStep ("Blur Step", Range(0,0.01)) = 0.0025
|
||||
_DistortStrength ("Distort Strength", Range(0,0.05)) = 0.018
|
||||
_DistortStrength ("Distort Strength", Range(0,0.08)) = 0.035
|
||||
_ChromaticStrength ("Chromatic Strength", Range(0,0.03)) = 0.008
|
||||
_FadeDistortStrength ("Fade Distort Strength", Range(0,0.2)) = 0.08
|
||||
_FadeDistortStrength ("Fade Distort Strength", Range(0,0.2)) = 0.12
|
||||
_PixelateFade ("Pixelate Fade", Range(0,1)) = 0
|
||||
_PixelatePixelDensity ("Pixelate Pixel Density", Range(6,160)) = 96
|
||||
_GaussianBlurFade ("Gaussian Blur Fade", Range(0,1)) = 0
|
||||
@@ -123,10 +123,10 @@ Shader "AibisDream/MemoryTuningSprite"
|
||||
float angle = radians(130.0);
|
||||
float2 dir = float2(cos(angle), sin(angle));
|
||||
float2 side = float2(-sin(angle), cos(angle));
|
||||
float2 edge = smoothstep(0.0, 0.12, uv) * smoothstep(0.0, 0.12, 1.0 - uv);
|
||||
float2 edge = smoothstep(0.0, 0.07, uv) * smoothstep(0.0, 0.07, 1.0 - uv);
|
||||
float edgeMask = edge.x * edge.y;
|
||||
float wave = sin(dot(uv - 0.5, dir) * 27.2 + _Time.y * 2.15);
|
||||
float volFxStrength = lerp(0.006, 0.026, saturate(_UVDistortFade)) * strength;
|
||||
float volFxStrength = lerp(_DistortStrength * 0.55, _DistortStrength, saturate(_UVDistortFade)) * strength;
|
||||
return uv + side * wave * volFxStrength * edgeMask;
|
||||
}
|
||||
|
||||
@@ -173,7 +173,7 @@ Shader "AibisDream/MemoryTuningSprite"
|
||||
half frequency = saturate(_FrequencyTuning);
|
||||
half pixelate = pow(max(frequency, saturate(_PixelateFade)), 0.75);
|
||||
half blur = pow(max(frequency, saturate(_GaussianBlurFade)), 0.75);
|
||||
half distortion = pow(max(clarity, saturate(_UVDistortFade / 0.58)), 0.75);
|
||||
half distortion = pow(max(clarity, saturate(_UVDistortFade)), 0.85);
|
||||
|
||||
float2 uv = input.uv;
|
||||
half fade = saturate((_DirectionalDistortionFade + 15.0) / 15.0);
|
||||
|
||||
@@ -18,12 +18,12 @@ hs,火山,HuoShan,火山,Default,MainActor,#FFA800,peipei_head,VO/voice_HS,
|
||||
hs?,沙哑男声,???,???,Default,MainActor,#FFA800,peipei_head,VO/voice_HS,
|
||||
yl,英理,Yingli,エリ,Default,MainActor,#4000FF,peipei_head,VO/voice_YL,
|
||||
ql?,02号调酒机体,Bartender,,Default,MainActor,#00FFFF,peipei_head,VO/voice_YL,
|
||||
ql,琪琳,Kirin,チーリン,Default,MainActor,#00FFFF,peipei_head,VO/voice_YL,
|
||||
ql,奇琳,Kirin,チーリン,Default,MainActor,#00FFFF,peipei_head,VO/voice_YL,
|
||||
peipei_novoice,胆怯女声,Timid female voice,怯えた女声,Default,Aside,#00FFFF,,VO/voice_PP,2
|
||||
yingli_novoice,严厉女声,Stern female voice,厳しい女声,Default,Aside,#FFCC00,,VO/voice_YL,1
|
||||
tutorial,教学,Tutorial,,Default,Aside,,,,
|
||||
docter,儿科医生,Doctor (in memory),医者(記憶の中),Default,Aside,#FFCC00,,,
|
||||
peipei_child,童年佩佩,Peipei (child),ペイペイ(幼少期),Default,Aside,#00FFFF,,VO/voice_PP,
|
||||
peipei_child,童年佩佩,Peipei (child),ペイペイ(幼少期),Default,Aside,#00FFFF,,VO/v oice_PP,
|
||||
unknown,???,???,???,Default,Aside,#FFCC00,,,
|
||||
shitou,石头,Stone,シートウ,Default,MainActor,,,VO/voice_shitou,
|
||||
Descent,Descent,Descent,,Default,Aside,#FFCC00,,VO/voice_me,
|
||||
|
||||
|
@@ -221,7 +221,7 @@ title: 切换到诊所外
|
||||
tags: function
|
||||
---
|
||||
<<fade_in>>
|
||||
<<load_scene Scene/ClinicOut 1>>
|
||||
<<load_scene Scene/ClinicOut>>
|
||||
<<init_actor 诊室外英理 诊室外栏杆>>
|
||||
<<show_actor "诊室外英理">>
|
||||
<<change_actor_state "Watch" "诊室外英理">>
|
||||
|
||||
@@ -28,13 +28,13 @@ position: 250,200
|
||||
|
||||
// 你走出诊室,靠在巷子的墙上。
|
||||
// 巷子正中央站着一个人,佩佩。
|
||||
诊室外的护栏边站着一个熟悉的人影。 #line:012d086
|
||||
诊室外的护栏边<br>站着一个熟悉的人影。 #line:012d086
|
||||
<<hide_dialog>>
|
||||
<<wait 2>>
|
||||
<<stop_random_animation 随机落叶>>
|
||||
<<control_single_part 树叶动画 树叶大风>>
|
||||
<<init_actor 诊室外医生 诊室外电线杆>>
|
||||
me: 佩佩?<waitfor=0.2>还没走吗。 #line:04bdd27
|
||||
me: 佩佩?<waitfor=0.1>还没走吗。 #line:04bdd27
|
||||
<<fade_in_actor 诊室外医生>>
|
||||
// me: 呼… #line:0f8a4c3
|
||||
|
||||
@@ -44,11 +44,11 @@ me: 佩佩?<waitfor=0.2>还没走吗。 #line:04bdd27
|
||||
peipei: 天冷了。<waitfor=0.2>很快就是冬天了。 #line:0310493
|
||||
//它头也不回地说。 #line:005c752
|
||||
<<change_actor_state_async "医生UpHeadIn" 诊室外医生>>
|
||||
天气确实开始变冷了,冬天应该是真的要来了。 #line:0aeb015
|
||||
天气确实开始变冷了,<br>冬天应该是真的要来了。 #line:0aeb015
|
||||
<<hide_dialog>>
|
||||
<<change_actor_state_async "SMOKE" 诊室外医生>>
|
||||
<<wait 0.2>>
|
||||
烟和呼出的气雾混合在一起,飘散到空中。 #line:05e3283
|
||||
烟和呼出的气雾混合在一起,<br>飘散到空中。 #line:05e3283
|
||||
<<wait 1>>
|
||||
me: 嗯。<waitfor=0.2>天冷了。 #line:09c6402
|
||||
|
||||
@@ -60,7 +60,7 @@ me: 你不是要回去工作吗? #line:094a88f
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
|
||||
佩佩依然没有回头,还是痴痴地抬头看着。 #line:061416c
|
||||
佩佩依然没有回头,<br>还是痴痴地抬头看着。 #line:061416c
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 2>>
|
||||
@@ -71,42 +71,42 @@ peipei: 你喜欢冬天吗? #line:0db3bf2
|
||||
->喜欢 #line:0e5fe72
|
||||
<<change_actor_state "医生Turn the head" 诊室外医生>>
|
||||
<<wait 1>>
|
||||
me: 我不知道…<waitfor=0.2>我应该是喜欢的。 #line:0fb4758
|
||||
佩佩依旧抬着头,树叶从它的面前飘落。 #line:082d98e
|
||||
peipei: 我以为我也…<waitfor=0.5><br>但我意识到我好像更喜欢夏天。 #line:07bf72d
|
||||
peipei: 或者说…<waitfor=0.2>我不舍得它的结束。 #line:0367625
|
||||
peipei: 可惜<waitfor=0.2>再漫长的季节<waitfor=0.2>都会结束。 #line:01dbcc6
|
||||
me: 我不知道…<waitfor=0.1>我应该是喜欢的。 #line:0fb4758
|
||||
佩佩依旧抬着头,<br>树叶从它的面前飘落。 #line:082d98e
|
||||
peipei: 我以为我也…<waitfor=0.1><br>但我意识到我好像更喜欢夏天。 #line:07bf72d
|
||||
peipei: 或者说…<waitfor=0.1>我不舍得它的结束。 #line:0367625
|
||||
peipei: 可惜<waitfor=0.1>再漫长的季节<waitfor=0.1>都会结束。 #line:01dbcc6
|
||||
->讨厌 #line:09ec66e
|
||||
<<change_actor_state "医生Turn the head" 诊室外医生>>
|
||||
<<wait 1>>
|
||||
me: 我讨厌冬天。 #line:04ed765
|
||||
佩佩依旧抬着头,树叶从它的面前飘落。 #line:07d9a0b
|
||||
peipei: 你也能感受到,<waitfor=0.2>对吗? #line:08db620
|
||||
佩佩依旧抬着头,<br>树叶从它的面前飘落。 #line:07d9a0b
|
||||
peipei: 你也能感受到,<waitfor=0.1>对吗? #line:08db620
|
||||
peipei: 它们都在死去。 #line:0333380
|
||||
->没意义 #line:0d3afff
|
||||
<<change_actor_state "医生Turn the head" 诊室外医生>>
|
||||
<<wait 1>>
|
||||
me: 我们是机体,<waitfor=0.2>季节对我们来说没有意义。 #line:0090b32
|
||||
佩佩依旧抬着头,树叶从它的面前飘落。 #line:0eadf07
|
||||
peipei: 对啊,<waitfor=0.2>我们是机体。 #line:0434891
|
||||
me: 我们是机体,<waitfor=0.1>季节对我们来说没有意义。 #line:0090b32
|
||||
佩佩依旧抬着头,<br>树叶从它的面前飘落。 #line:0eadf07
|
||||
peipei: 对啊,<waitfor=0.1>我们是机体。 #line:0434891
|
||||
peipei: 我怎么会忘了…… #line:0df59d5
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
me: 这是情绪模块的数据波动。 #line:09d976f
|
||||
<<change_actor_state "医生LDLE" 诊室外医生>>
|
||||
<<wait 1>>
|
||||
me: 但是——<waitfor=0.4>是的,<waitfor=0.2>它是存在的。 #line:093d52e
|
||||
me: 但是——<waitfor=0.2>是的,<waitfor=0.1>它是存在的。 #line:093d52e
|
||||
<<change_actor_state_async "医生Turn the head And Sign" 诊室外医生>>
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
//佩佩扭过头看向路斯。再次吸了一口烟。 #line:0efed4b
|
||||
peipei: 这种感受…<waitfor=0.2>是存在的吗? #line:0450fe7
|
||||
me: 是的。<waitfor=0.2>所谓的感受,<waitfor=0.2><br>就是情绪模块里流动着的数据。 #line:0e0789d
|
||||
me: 它不太稳定,<waitfor=0.2>你需要放松一些。 #line:0a70f88
|
||||
peipei: 这种感受…<waitfor=0.1>是存在的吗? #line:0450fe7
|
||||
me: 是的。<waitfor=0.2>所谓的感受,<waitfor=0.1><br>就是情绪模块里流动着的数据。 #line:0e0789d
|
||||
me: 它不太稳定,<waitfor=0.1>你需要放松一些。 #line:0a70f88
|
||||
<<stop_random_animation 随机落叶>>
|
||||
<<control_single_part 树叶动画 树叶大风>>
|
||||
<<wait 1>>
|
||||
佩佩低下头,一会又抬了起来,重新看向天空。树叶从它的面前飘落。 #line:0149a78
|
||||
佩佩低下头,<br>一会儿又抬了起来,<br>重新看向天空。<br>树叶从它的面前飘落。 #line:0149a78
|
||||
// 它接住了一片,举了起来,对着空中。 #line:0378444
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
@@ -117,27 +117,27 @@ me: 它不太稳定,<waitfor=0.2>你需要放松一些。 #line:0a70f88
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 2>>
|
||||
peipei: 医生…<waitfor=0.2>这片树叶是什么颜色的? #line:0e34d95
|
||||
peipei: 医生…<waitfor=0.1>这片树叶是什么颜色的? #line:0e34d95
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
me: 它已经黄了。 #line:0049b60
|
||||
<<wait 1.5>>
|
||||
<<fade_in 1>>
|
||||
<<hide_timeline 诊室外>>
|
||||
//<<fade_in 1>>
|
||||
<<hide_timeline 诊室外 >>
|
||||
<<reset_timeline 诊室外>>
|
||||
<<fade_out 1>>
|
||||
//<<fade_out 1>>
|
||||
// <<wait 1>>
|
||||
//佩佩仔细端详它,捏着叶柄轻轻地旋转着。 #line:04efadd
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
树叶从它的手指之间滑落,轻轻地飘走了。 #line:0c7c5dd
|
||||
树叶从它的手指之间滑落,<br>轻轻地飘走了。 #line:0c7c5dd
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
|
||||
peipei: 再见了,<waitfor=0.4>叶子。 #line:0694ade
|
||||
peipei: 再见了,<waitfor=0.2>叶子。 #line:0694ade
|
||||
|
||||
佩佩看了路斯一眼,<br>露出了一个淡淡的微笑,转头离开了。 #line:00d0440
|
||||
佩佩看了路斯一眼,<br>露出了一个淡淡的微笑,<br>转头离开了。 #line:00d0440
|
||||
<<fade_out_actor "诊室外佩佩">>
|
||||
<<wait 1>>
|
||||
//<<play_sfx "event:/Scriptal/pager">>
|
||||
@@ -145,7 +145,7 @@ peipei: 再见了,<waitfor=0.4>叶子。 #line:0694ade
|
||||
<<change_actor_state_async "医生CutSmoke" 诊室外医生>>
|
||||
<<stop_random_animation 随机落叶>>
|
||||
<<control_single_part 树叶动画 树叶大风>>
|
||||
一阵风吹过,树叶洋洋洒洒地落下。 #line:0ade2bb
|
||||
一阵风吹过,<br>树叶洋洋洒洒地落下。 #line:0ade2bb
|
||||
<<change_actor_state_async "医生UpHeadIn" 诊室外医生>>
|
||||
<<wait 2>>
|
||||
<<control_single_part 树叶动画 树叶安静>>
|
||||
|
||||
@@ -21,21 +21,21 @@ tags: content
|
||||
colorID: 8
|
||||
position: 250,200
|
||||
---
|
||||
|
||||
<<play_music event:/Music/music_bar>>
|
||||
// <<jump test>>
|
||||
<i>吵闹的音乐,炫目的灯光… #line:02e0d86 /////</i> #line:0207402
|
||||
<i>吵闹的音乐,炫目的灯光…</i> #line:0207402
|
||||
<i>一切都令人心烦。</i> #line:0e72808
|
||||
|
||||
<<fade_out 1>>
|
||||
|
||||
[character name="jb" bubbleIdx=1 /]晚上好。想喝点什么呢? #line:07a41ab
|
||||
[character name="jb" bubbleIdx=1 /]晚上好。<waitfor=0.2>想喝点什么呢? #line:07a41ab
|
||||
<<fade_in_actor 酒保 0.5>>
|
||||
[character name="jb" bubbleIdx=1 /]如果不知道喝什么,可以试试我们的… #line:0a3b5af
|
||||
[character name="jb" bubbleIdx=1 /]如果不知道喝什么,<waitfor=0.1>可以试试我们的… #line:0a3b5af
|
||||
//#auto_next
|
||||
|
||||
me: Neat,双份。谢谢。 #line:0ed3bf5
|
||||
|
||||
[character name="jb" bubbleIdx=1 /]我们今天的调和润滑剂有折扣喔。如果… #line:05b8a4d
|
||||
[character name="jb" bubbleIdx=1 /]我们今天的调和润滑剂有折扣喔。<waitfor=0.2><br>如果… #line:05b8a4d
|
||||
|
||||
me: 我只要双份的Neat。 #line:0fde1a7
|
||||
<<hide_dialog>>
|
||||
@@ -46,20 +46,22 @@ me: 谢谢。 #line:09a2a98
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
|
||||
[character name="jb" bubbleIdx=1 /]…好的。Neat双份。 #line:029d775
|
||||
[character name="jb" bubbleIdx=1 /]…好的。<waitfor=0.1>Neat双份。 #line:029d775
|
||||
<<fade_out_actor 酒保 0.5>>
|
||||
<<wait 0.5>>
|
||||
<<change_actor_slot "酒保" "酒保右侧">>
|
||||
<i>侍者自讨没趣地耸了耸肩,留下了一杯酒,缩回了阴影里。</i> #line:0b4aa3a
|
||||
<i>侍者自讨没趣地耸了耸肩,<br>留下了一杯酒,<br>缩回了阴影里。</i> #line:0b4aa3a
|
||||
<<fade_in_actor 酒保 0.5>>
|
||||
|
||||
<<set_global_param d1n_drunk 1>>
|
||||
|
||||
<i>路斯一饮而尽。</i> #line:031e661
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
|
||||
<i>世界都变得安静了下来。<br>只有模模糊糊、朦朦胧胧的声音…</i> #line:091be9d
|
||||
<i>那是安全的声音。也就是没有声音。</i> #line:0bcbdd8
|
||||
<i>那是安全的声音。<br>也就是没有声音。</i> #line:0bcbdd8
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 0.7>>
|
||||
@@ -74,26 +76,26 @@ ql: 喝这么急。小心烧坏消化模块喔。 #line:02690c1
|
||||
<<fade_in_actor 酒吧调酒妹>>
|
||||
ql: 我还以为医生都不会有烦心事呢。 #line:0b73f06
|
||||
<<change_actor_state_async 侧头 酒吧医生>>
|
||||
me: 你怎么看出我是医生的?<br>我想我们应该不认识。 #line:0a84dcc
|
||||
me: 你怎么看出我是医生的?<waitfor=0.2><br>我想我们应该不认识。 #line:0a84dcc
|
||||
|
||||
ql: 很多机体都闻不出来,<br>但是我闻得出来喔。 #line:00eee91
|
||||
ql: 你身上的气味,<br>和别的机体不一样。 #line:0eb8c18
|
||||
ql: 很多机体都闻不出来,<waitfor=0.1><br>但是我闻得出来喔。 #line:00eee91
|
||||
ql: 你身上的气味,<waitfor=0.1><br>和别的机体不一样。 #line:0eb8c18
|
||||
|
||||
me: 气味? #line:0107b9a
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
<<change_actor_state_async Idle 酒吧医生>>
|
||||
me: …啊。气味。<br>有的调酒型号有这种情绪感受器。 #line:0b6bb67
|
||||
me: 别太依赖它,<br>有可能会让你的情绪模块紊乱。 #line:039a9d9
|
||||
me: …啊。<waitfor=0.1>气味。<waitfor=0.2><br>有的调酒型号有这种情绪感受器。 #line:0b6bb67
|
||||
me: 别太依赖它,<waitfor=0.1><br>有可能会让你的情绪模块紊乱。 #line:039a9d9
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
|
||||
ql: 你不想问<br>你自己是什么气味吗? #line:0a9173c
|
||||
ql: 你不想问<waitfor=0.1><br>你自己是什么气味吗? #line:0a9173c
|
||||
|
||||
<i>路斯轻轻微笑。</i> #line:068a830
|
||||
me: 我听得出来<br>你自己是打算要说的。 #line:077704b
|
||||
me: 我听得出来<waitfor=0.1><br>你自己是打算要说的。 #line:077704b
|
||||
//<<fade_out_actor 酒吧调酒妹 0.5>>
|
||||
<<change_actor_state "1CloseeyeSmile" 酒吧调酒妹>>
|
||||
//<<fade_in_actor 酒吧调酒妹 0.5>>
|
||||
@@ -114,7 +116,7 @@ ql: 是烦恼啦。 #line:0fd1a36
|
||||
<<wait 0.7>>
|
||||
|
||||
me: 你和每个机体都这么说吧。 #line:04035d6
|
||||
me: 毕竟大家来这里,都是为了<br>忘掉某些东西。不是么? #line:08f576e
|
||||
me: 毕竟大家来这里,<waitfor=0.1>都是为了<waitfor=0.1><br>忘掉某些东西。<waitfor=0.2>不是么? #line:08f576e
|
||||
|
||||
<<change_actor_state "1Smile" 酒吧调酒妹>>
|
||||
<<wait 1>>
|
||||
@@ -127,12 +129,12 @@ ql: 这就是酒的作用。 #line:009ee9f
|
||||
<<change_actor_state "1Closeeye" 酒吧调酒妹>>
|
||||
//<<fade_in_actor 酒吧调酒妹 0.5>>
|
||||
<<wait 0.4>>
|
||||
ql: 不过…我闻得出。你要忘掉的那些东西,是那种Neat无法解决的。 #line:0dd8568
|
||||
ql: 不过…<waitfor=0.1>我闻得出。<waitfor=0.2><br>你要忘掉的那些东西,<waitfor=0.1><br>是那种Neat无法解决的。 #line:0dd8568
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
|
||||
me: 当然了。<br>又有什么问题真的能被解决呢? #line:0dac617
|
||||
me: 当然了。<waitfor=0.2><br>又有什么问题真的能被解决呢? #line:0dac617
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 0.4>>
|
||||
@@ -145,7 +147,7 @@ ql: 你做噩梦,对吧?<waitfor=0.2><br>关于*海*的噩梦。 #line:08532
|
||||
|
||||
me: 海已经不存在了。 #line:06ee33f
|
||||
|
||||
ql: 当然,我们都知道。<br>但你还是做了那个梦。 #line:0fd45b4
|
||||
ql: 当然,<waitfor=0.1>我们都知道。<waitfor=0.2><br>但你还是做了那个梦。 #line:0fd45b4
|
||||
|
||||
<<change_actor_state_async 侧头 酒吧医生>>
|
||||
|
||||
@@ -158,7 +160,7 @@ me: 你怎么知道? #line:0dc507b
|
||||
|
||||
<<change_actor_state "4HalfeyeSmile" 酒吧调酒妹>>
|
||||
|
||||
ql: 我说过嘛。你身上有和我一样的气味。 #line:0af30ce
|
||||
ql: 我说过嘛。<waitfor=0.2>你身上有和我一样的气味。 #line:0af30ce
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 0.2>>
|
||||
@@ -169,8 +171,8 @@ ql: 我说过嘛。你身上有和我一样的气味。 #line:0af30ce
|
||||
//<<fade_out_actor 酒吧调酒妹 0.5>>
|
||||
//<<change_actor_state "1Smile" 酒吧调酒妹>>
|
||||
//<<fade_in_actor 酒吧调酒妹 0.5>>
|
||||
|
||||
ql: 来吧。我请你一杯。就当是请我自己的。 #line:0f0ee5a
|
||||
<<wait 0.8>>
|
||||
ql: 来吧。<waitfor=0.2>我请你一杯。<waitfor=0.2><br>就当是请我自己的。 #line:0f0ee5a
|
||||
ql: 怎么样? #line:08a175f
|
||||
|
||||
<<hide_dialog>>
|
||||
@@ -178,9 +180,9 @@ ql: 怎么样? #line:08a175f
|
||||
|
||||
-> 试试 #line:0476232
|
||||
<<change_actor_state_async Idle 酒吧医生>>
|
||||
me: 话说在前头。如果有什么副作用… #line:0bfc102
|
||||
me: 话说在前头。<waitfor=0.2>如果有什么副作用… #line:0bfc102
|
||||
<<change_actor_state "Smile" 酒吧调酒妹>>
|
||||
ql: 如果有什么副作用,你就举报我好了。 #line:01d180c
|
||||
ql: 如果有什么副作用,<waitfor=0.1>你就举报我好了。 #line:01d180c
|
||||
ql: 放心吧。 #line:033df7b
|
||||
<<hide_dialog>>
|
||||
<<change_actor_state "2IN" 酒吧调酒妹>>
|
||||
@@ -194,7 +196,7 @@ ql: 怎么样? #line:08a175f
|
||||
<<fade_in_actor 酒吧调酒妹 0.5>>
|
||||
ql: 先别急着喝噢。 #line:06f058b
|
||||
<i>路斯看向酒杯。</i> #line:0aa5cd8
|
||||
<i>酒水在杯子里晃动着,折射出迷幻的色彩。</i> #line:0594f36
|
||||
<i>酒水在杯子里晃动着,<br>折射出迷幻的色彩。</i> #line:0594f36
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
@@ -206,7 +208,7 @@ ql: 这是你自己的情绪。 #line:02bfdfd
|
||||
<<change_actor_state_async Idle 酒吧医生>>
|
||||
me: 我自己的情绪? #line:0b9fe5a
|
||||
|
||||
ql: 这杯酒会让你更清晰地复现你一直以来在压制的记忆。 #line:0af3c82
|
||||
ql: 这杯酒会让你更清晰地复现<waitfor=0.1><br>你一直以来在压制的记忆。 #line:0af3c82
|
||||
|
||||
me: 那样不就更容易做噩梦了么…… #line:097355f
|
||||
|
||||
@@ -214,36 +216,42 @@ me: 那样不就更容易做噩梦了么…… #line:097355f
|
||||
<<wait 1>>
|
||||
|
||||
<<change_actor_state_async 侧头 酒吧医生>>
|
||||
ql: 医生,如果一个病人被损坏了,不可逆的。你会怎么做? #line:0d747ad
|
||||
ql: 医生,<waitfor=0.1>如果一个病人被损坏了,<waitfor=0.1><br>不可逆的。<waitfor=0.2>你会怎么做? #line:0d747ad
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
|
||||
me: 我会给出三个思路。 #line:0306ca0
|
||||
me: 第一,如果受损原件可以更换,就更换。第二,如果其它原件可以代偿,就想办法代偿。第三… #line:04097d2
|
||||
me: 第一,<waitfor=0.1>如果受损原件可以更换,<waitfor=0.1>就更换。<waitfor=0.2><br>第二,<waitfor=0.1>如果其它原件可以代偿,<waitfor=0.1>就想办法代偿。<waitfor=0.2><br>第三… #line:04097d2
|
||||
<<change_actor_state_async Idle 酒吧医生>>
|
||||
<i>路斯喝了一口酒。</i> #line:0f4862c
|
||||
me: 如果这三条都没用,我会建议它主动申请回收。提升资源回转效率。 #line:03b0d7f
|
||||
|
||||
ql: 真是标准的*医生*回答呢。<br>不过… #line:05027e7
|
||||
<<set_global_param d1n_drunk 1.5>>
|
||||
|
||||
<i>路斯喝了一口酒。</i> #line:0f4862c
|
||||
me: 如果这三条都没用,<waitfor=0.1><br>我会建议它主动申请回收。<waitfor=0.2><br>提升资源回转效率。 #line:03b0d7f
|
||||
|
||||
ql: 真是标准的*医生*回答呢。<waitfor=0.2><br>不过… #line:05027e7
|
||||
ql: 第三条你还没说呢。 #line:075cba9
|
||||
|
||||
me: 还是回到你提的问题来吧。<br>你会怎么做? #line:06016d5
|
||||
<<set_global_param d1n_drunk 2>>
|
||||
<<wait 2>>
|
||||
|
||||
me: 还是回到你提的问题来吧。<waitfor=0.2><br>你会怎么做? #line:06016d5
|
||||
|
||||
<<change_actor_state "1CloseeyeSmile" 酒吧调酒妹>>
|
||||
<<wait 1>>
|
||||
<<play_music event:/Amb/amb_beachsample>>
|
||||
<<set_music_param event:/Amb/amb_beachsample beach_sample_stage 0.1>>
|
||||
|
||||
ql: 我会先告诉它… #line:08490d2
|
||||
ql: 已经坏了的,就让它坏了吧。<br>就当作你生来如此。 #line:0fa9ff2
|
||||
ql: 我们不都是这样吗?<br>我们生来就是要坏的。 #line:0e6330a
|
||||
ql: 对着伤口哭泣,<br>只怕会让伤口锈蚀更严重吧。 #line:0b79003
|
||||
ql: 我会先告诉它…<waitfor=0.1> #line:08490d2
|
||||
ql: 已经坏了的,<waitfor=0.1>就让它坏了吧。<waitfor=0.2><br>就当作你生来如此。 #line:0fa9ff2
|
||||
ql: 我们不都是这样吗?<waitfor=0.2><br>我们生来就是要坏的。 #line:0e6330a
|
||||
ql: 对着伤口哭泣,<waitfor=0.1><br>只怕会让伤口锈蚀更严重吧。 #line:0b79003
|
||||
|
||||
me: 你是想说,<br>我们有些本就“生来如此”的损伤,对吧? #line:0f1b08a
|
||||
me: 也就是你说的,我们的原型里的,天然的"问题"。 #line:002672e
|
||||
me: 但是…这个天然的"问题",恰恰就是我们被制造的意义,不是么? #line:0b2cf39
|
||||
me: 如果把我们的"意义"都解决了,那… #line:0bb801d
|
||||
me: 你是想说,<waitfor=0.1><br>我们有些本就“生来如此”的损伤,<waitfor=0.1>对吧? #line:0f1b08a
|
||||
me: 也就是你说的,<waitfor=0.1><br>我们的原型里的,<waitfor=0.1><br>天然的"问题"。 #line:002672e
|
||||
me: 但是…<waitfor=0.1>这个天然的"问题",<waitfor=0.1><br>恰恰就是我们被制造的意义,<waitfor=0.1>不是么? #line:0b2cf39
|
||||
me: 如果把我们的"意义"都解决了,<waitfor=0.1>那… #line:0bb801d
|
||||
|
||||
ql: 那会怎样? #line:04e455e
|
||||
|
||||
@@ -255,16 +263,16 @@ me: 我不知道。 #line:08ee8ce
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
|
||||
ql: 其实…无论你喝下这杯酒,或者决定不喝…… #line:0d8f0c2
|
||||
ql: 也都是由"原型"驱动的。也就是说,都是主脑安排的。 #line:029136f
|
||||
ql: 既然主脑自有它的安排。为什么要替它操心呢? #line:0d9b99d
|
||||
ql: 况且…每个机体生来就注定要被回收,难道就代表着,它们应该立刻被回收吗? #line:0cd87b4
|
||||
ql: 你越是操心,越是发现自己什么也做不了,反而坏的更严重了。 #line:011a8dd
|
||||
ql: 其实…<waitfor=0.1>无论你喝下这杯酒,<waitfor=0.1><br>或者决定不喝…… #line:0d8f0c2
|
||||
ql: 也都是由"原型"驱动的。<waitfor=0.2><br>也就是说,<waitfor=0.1>都是主脑安排的。 #line:029136f
|
||||
ql: 既然主脑自有它的安排。<waitfor=0.2><br>为什么要替它操心呢? #line:0d9b99d
|
||||
ql: 况且…<waitfor=0.1>每个机体生来就注定要被回收,<waitfor=0.1><br>难道就代表着,<waitfor=0.1>它们应该立刻被回收吗? #line:0cd87b4
|
||||
ql: 你越是操心,<waitfor=0.1>越是发现自己什么也做不了,<waitfor=0.1><br>反而坏的更严重了。 #line:011a8dd
|
||||
|
||||
<i>酒保自己拿起你的酒轻轻抿了一口。</i> #line:00f3b9d
|
||||
<<change_actor_state "1Smile" 酒吧调酒妹>>
|
||||
<<wait 1>>
|
||||
ql: 打开它来看看吧。我想它没有你想的那么严重。 #line:0614acb
|
||||
ql: 打开它来看看吧。<waitfor=0.2><br>我想它没有你想的那么严重。 #line:0614acb
|
||||
|
||||
me: 我记得你说过那是我的情绪。 #line:0c5cd0d
|
||||
|
||||
@@ -275,8 +283,8 @@ me: 其实还是有一点的。 #line:061b50a
|
||||
//<i>它笑了。</i> #line:0a8e72d
|
||||
<<change_actor_state "1CloseeyeSmile" 酒吧调酒妹>>
|
||||
<<wait 1>>
|
||||
ql: 下次来我可以再请你一杯。这次就别贪杯了。 #line:0086ac0
|
||||
ql: 我也需要去面对我的"问题",和你一样。 #line:051169e
|
||||
ql: 下次来我可以再请你一杯。<waitfor=0.2><br>这次就别贪杯了。 #line:0086ac0
|
||||
ql: 我也需要去面对我的"问题",<waitfor=0.1>和你一样。 #line:051169e
|
||||
<i>它拿起擦干净的杯子,转身离去。</i> #line:020019e
|
||||
<<fade_out_actor 酒吧调酒妹 1>>
|
||||
<<change_actor_state "4HalfeyeSmile" 酒吧调酒妹>>
|
||||
@@ -292,8 +300,8 @@ ql: 我觉得也许你需要这个。 #line:053e24f
|
||||
<<change_actor_state_async 侧头 酒吧医生>>
|
||||
me: 这是什么? #line:0431bdb
|
||||
|
||||
ql: 你的原型里应该有关于它的数据。"塔罗牌"。 #line:090f954
|
||||
ql: 虽然我也不是很懂…但既然是原型的问题,应该可以用原型的方法来解决。对吧? #line:0f8220f
|
||||
ql: 你的原型里应该有关于它的数据。<waitfor=0.2>"塔罗牌"。 #line:090f954
|
||||
ql: 虽然我也不是很懂…<waitfor=0.1><br>但既然是原型的问题,<waitfor=0.1><br>应该可以用原型的方法来解决。<waitfor=0.2>对吧? #line:0f8220f
|
||||
<<spread_tarot>>
|
||||
ql: 试试吧。抽一张。 #line:032a6f1
|
||||
me: … #line:09f3fc1
|
||||
@@ -302,27 +310,27 @@ me: … #line:09f3fc1
|
||||
<<flip_tarot "normal">>
|
||||
// -> 抽牌 #line:00d082d
|
||||
// 【你看了看牌。】 #line:0b53792
|
||||
<i>卡牌上是一个双手被缚的机体。它的表情安逸,但姿势很怪异,像是头顶上看不见的地方有什么东西在把它吸过去。</i> #line:0a277e9
|
||||
<i>卡牌上是一个双手被缚的机体。<br>它的表情安逸,但姿势很怪异。</i> #line:0a277e9
|
||||
me: 这画的是什么? #line:064fa6d
|
||||
|
||||
ql: 倒吊人。你拿反了。 #line:09d2ede
|
||||
->旋转 #line:0b58edf
|
||||
<<rotate_tarot "inverted">>
|
||||
// 【你把牌转过来。】 #line:057bfa8
|
||||
<i>这下看明白了。这是一个倒吊着的机体,脚踝上拴着一根绳。</i> #line:0b490db
|
||||
<i>这下看明白了。<br>这是一个倒吊着的机体,<br>脚踝上拴着一根绳。</i> #line:0b490db
|
||||
me: 它代表什么? #line:00abb4f
|
||||
|
||||
ql: 我不知道。我说过,我也不是很懂。 #line:0d2875b
|
||||
|
||||
me: 那…它有什么用? #line:055b1a7
|
||||
me: 那…<waitfor=0.1>它有什么用? #line:055b1a7
|
||||
|
||||
ql: 人类用这种方式来找到自己隐藏的思绪。 #line:0bd59d4
|
||||
ql: 总之…卡上的机体就代表你。你怎么看它,就意味着你怎么看待你自己。 #line:0bc3651
|
||||
ql: 你看到了什么?不用告诉我,告诉你自己就好啦。 #line:0eedcba
|
||||
ql: 总之…<waitfor=0.1>卡上的机体就代表你。<waitfor=0.2><br>你怎么看它,<waitfor=0.1><br>就意味着你怎么看待你自己。 #line:0bc3651
|
||||
ql: 你看到了什么?<waitfor=0.2><br>不用告诉我,<waitfor=0.1><br>告诉你自己就好啦。 #line:0eedcba
|
||||
<<hide_tarot>>
|
||||
<<change_actor_state "1Smile" 酒吧调酒妹>>
|
||||
<<wait 1>>
|
||||
ql: 好啦。我该走了。还要工作呢。 #line:0805e73
|
||||
ql: 好啦。<waitfor=0.2>我该走了。<waitfor=0.2>还要工作呢。 #line:0805e73
|
||||
|
||||
me: 你刚才不就在工作吗? #line:02294e6
|
||||
<<change_actor_state "1" 酒吧调酒妹>>
|
||||
@@ -338,12 +346,13 @@ ql: 是嘛。 #line:0ec76a5
|
||||
|
||||
<<set_music_param event:/Amb/amb_beachsample beach_sample_stage 0.2>>
|
||||
<<change_actor_state_async Idle 酒吧医生>>
|
||||
<i>路斯看着手中的牌。把牌翻转过来,又仔细看了看。</i> #line:087f9c2
|
||||
<i>路斯看着手中的牌。<br>把牌翻转过来,<br>又仔细看了看。</i> #line:087f9c2
|
||||
|
||||
<i>酒杯里的酒的颜色似乎正在变幻。路斯望着它出神。</i> #line:075fce1
|
||||
<i>酒杯里的酒的颜色似乎正在变幻。<br>路斯望着它出神。</i> #line:075fce1
|
||||
|
||||
//<i>你望着它出神。</i> #line:06a9f93
|
||||
|
||||
<<set_global_param d1n_drunk 3>>
|
||||
<i>路斯一饮而尽。</i> #line:0910557
|
||||
|
||||
<<change_actor_state_async 醉酒 酒吧医生>>
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
{
|
||||
"projectFileVersion": 3,
|
||||
"sourceFiles": [
|
||||
"**/*.yarn"
|
||||
],
|
||||
"excludeFiles": [
|
||||
"**/*~/*"
|
||||
],
|
||||
"localisation": {
|
||||
"en": {
|
||||
"strings": "FP_Day1_night-en.csv"
|
||||
"projectFileVersion": 3,
|
||||
"sourceFiles": [
|
||||
"**/*.yarn"
|
||||
],
|
||||
"excludeFiles": [
|
||||
"**/*~/*"
|
||||
],
|
||||
"localisation": {
|
||||
"en": {
|
||||
"strings": "FP_Day1_night-en.csv"
|
||||
},
|
||||
"ja": {
|
||||
"strings": "FP_Day1_night-ja.csv"
|
||||
}
|
||||
},
|
||||
"ja": {
|
||||
"strings": "FP_Day1_night-ja.csv"
|
||||
}
|
||||
},
|
||||
"baseLanguage": "zh-Hans",
|
||||
"compilerOptions": {}
|
||||
"baseLanguage": "zh-Hans",
|
||||
"compilerOptions": {}
|
||||
}
|
||||
@@ -14,17 +14,19 @@ tags: linear
|
||||
<<set_global_param Vol_general 0>>
|
||||
//TODO: 【海浪声】
|
||||
<<wait 2>>
|
||||
jj: …只要愿意花工夫,坏掉的东西总是可以修好的。 #line:064318c
|
||||
me: 就像生病一样吗? #line:0787636
|
||||
jj: 就像生病一样。 #line:0aaec52
|
||||
me: …那姐姐呢? #line:06e2595
|
||||
jj: 姐姐… #line:0b33086
|
||||
jj: 姐姐…恐怕要花很多很多工夫才能修好呢。 #line:0fb7a29
|
||||
me: 我想要试试。我不怕花工夫。 #line:0c13230
|
||||
jj: …… #line:0038deb
|
||||
jj: 那你要快点长大喔~小麦克斯韦妖。 #line:01c4501
|
||||
jj: …只要愿意花工夫,<waitfor=0.1>坏掉的东西总是可以修好的。 #line:064318c
|
||||
me: 就像生病一样吗? #line:0787636
|
||||
jj: 就像生病一样。 #line:0aaec52
|
||||
me: …那姐姐呢? #line:06e2595
|
||||
jj: 姐姐… #line:0b33086
|
||||
jj: 姐姐…<waitfor=0.2>恐怕要花很多很多工夫才能修好呢。 #line:0fb7a29
|
||||
me: 我想要试试。<waitfor=0.2>我不怕花工夫。 #line:0c13230
|
||||
jj: …… #line:0038deb
|
||||
jj: 那你要快点长大喔~小麦克斯韦妖。 #line:01c4501
|
||||
//TODO: 【海浪声消退,时钟声淡入】
|
||||
|
||||
<<stop_music event:/Music/music_bar>>
|
||||
|
||||
<<set_global_param dream1Stage 0>>
|
||||
|
||||
|
||||
@@ -49,11 +51,11 @@ jj: 那你要快点长大喔~小麦克斯韦妖。 #line:01c4501
|
||||
me: …… #line:040a6eb
|
||||
->…… #line:01c0e67
|
||||
<<set_music_param event:/Amb/amb_beachsample beach_sample_stage 0>>
|
||||
你感到一只冷冰冰的手在你额头上拍了一下。 #line:07ffbe9
|
||||
一只冷冰冰的手在你额头上拍了一下。 #line:07ffbe9
|
||||
me: 嗷…… #line:068a3c5
|
||||
->睁眼 #line:0be32a8
|
||||
<<set_music_param event:/Amb/amb_beachsample beach_sample_stage 0>>
|
||||
me: …… #line:0b085ea
|
||||
me: …… #line:0b085ea
|
||||
<<jump 教室苏醒>>
|
||||
===
|
||||
|
||||
@@ -63,32 +65,32 @@ tags: linear
|
||||
<<stop_music event:/Amb/amb_beachsample fade>>
|
||||
<<set_global_param dream1Stage 0.6>>
|
||||
<<show_sprite "D1S教室">>
|
||||
<i>一个穿着卡其裤的男孩站在你的面前,他的衣服上沾满了胡乱的墨迹。</i> #line:04c4490
|
||||
me: …阿灿…? #line:083f1d6
|
||||
boy: 什么啊?你怎么会在课上睡着了?? #line:093b81b
|
||||
me: …我…做了一个很奇怪的梦。 #line:036489e
|
||||
me: 我… #line:09b8068
|
||||
<i>一个穿着卡其裤的男孩站在你的面前,<br>他的衣服上沾满了胡乱的墨迹。</i> #line:04c4490
|
||||
me: …阿灿…? #line:083f1d6
|
||||
boy: 什么啊?<waitfor=0.2><br>你怎么会在课上睡着了?? #line:093b81b
|
||||
me: …我…<waitfor=0.1>做了一个很奇怪的梦。 #line:036489e
|
||||
me: 我… #line:09b8068
|
||||
->梦到机器人 #line:08e65c8
|
||||
me: 我梦见我是一个机器人…大家都是机器人…… #line:0bfe290
|
||||
boy: 我呢? #line:0a61e83
|
||||
me: 你……应该也是吧。 #line:0f1a9da
|
||||
boy: 哇!那应该很酷! #line:0493422
|
||||
boy: 不过先别想你的那个梦了。我们还有要紧事要做呢。 #line:0459d59
|
||||
me: 我梦见我是一个机器人…<waitfor=0.1><br>大家都是机器人…… #line:0bfe290
|
||||
boy: 我呢? #line:0a61e83
|
||||
me: 你……<waitfor=0.1>应该也是吧。 #line:0f1a9da
|
||||
boy: 哇!<waitfor=0.2>那应该很酷! #line:0493422
|
||||
boy: 不过先别想你的那个梦了。<waitfor=0.2><br>我们还有要紧事要做呢。 #line:0459d59
|
||||
->梦到我是医生 #line:0ea32e2
|
||||
me: 我梦见…我成了一个医生…… #line:01245ec
|
||||
boy: 你成绩这么好,肯定会考上医生的。 #line:0be0e02
|
||||
boy: 你姐姐也会没事的。你肯定会把她治好的! #line:08fe6de
|
||||
boy: 不过先别想你的那个梦了。我们还有要紧事要做呢。 #line:0f2ea1c
|
||||
me: 我梦见…<waitfor=0.1>我成了一个医生…… #line:01245ec
|
||||
boy: 你成绩这么好,<waitfor=0.1>肯定会考上医生的。 #line:0be0e02
|
||||
boy: 你姐姐也会没事的。<waitfor=0.2><br>你肯定会把她治好的! #line:08fe6de
|
||||
boy: 不过先别想你的那个梦了。<waitfor=0.2><br>我们还有要紧事要做呢。 #line:0f2ea1c
|
||||
->不记得了 #line:0db9a05
|
||||
me: 我…不记得梦的内容了。 #line:063d357
|
||||
boy: 你肯定就是太累了。你昨晚肯定又熬夜看书了吧。 #line:08caf8c
|
||||
boy: 别想你的那个梦了。我们还有要紧事要做呢。 #line:0e79910
|
||||
me: 我…<waitfor=0.1>不记得梦的内容了。 #line:063d357
|
||||
boy: 你肯定就是太累了。<waitfor=0.2><br>你昨晚肯定又熬夜看书了吧。 #line:08caf8c
|
||||
boy: 别想你的那个梦了。<waitfor=0.2><br>我们还有要紧事要做呢。 #line:0e79910
|
||||
<<set_global_param dream1Stage 0.7>>
|
||||
boy: 你说过今天就要把它修好的。快来! #line:0d5aa08
|
||||
me: 谁? #line:0daae78
|
||||
boy: 你睡糊涂啦?快来吧! #line:023c325
|
||||
<i>男孩迫不及待地跑出了教室。</i> #line:0b62a5a
|
||||
me: 喂!等下…… #line:0724d32
|
||||
boy: 你说过今天就要把它修好的。<waitfor=0.2><br>快来! #line:0d5aa08
|
||||
me: 谁? #line:0daae78
|
||||
boy: 你睡糊涂啦?<waitfor=0.2>快来吧! #line:023c325
|
||||
<i>男孩迫不及待地跑出了教室。</i> #line:0b62a5a
|
||||
me: 喂!<waitfor=0.2>等下…… #line:0724d32
|
||||
<<play_music event:/Music/mus_dream1>>
|
||||
<<set_global_param dream1Stage 1>>
|
||||
<<jump 教室>>
|
||||
@@ -116,28 +118,28 @@ tags: hub
|
||||
title: 教室_入场
|
||||
tags: detour
|
||||
---
|
||||
<i>你站在空荡荡的教室里。<br>教室里空无一人,只有轻轻飘动的窗帘发出的扑梭声。</i> #line:0557c68
|
||||
<i>你站在空荡荡的教室里。<br>教室里空无一人,<br>只有轻轻飘动的窗帘发出的扑梭声。</i> #line:0557c68
|
||||
===
|
||||
|
||||
title: 观察
|
||||
tags: detour
|
||||
---
|
||||
->窗外 #line:07f8e7b
|
||||
<i>刺眼的阳光照在你的眼睛上,你一下子什么也看不清了。</i> #line:0bf7a33
|
||||
<i>忽然你感到什么东西在你的脸上掠过,你退了回来。</i> #line:0138c7d
|
||||
<i>原来是窗帘啊。</i> #line:0d9556c
|
||||
<i>刺眼的阳光照在你的眼睛上,<br>你一下子什么也看不清了。</i> #line:0bf7a33
|
||||
<i>忽然你感到<br>什么东西在你的脸上掠过,<br>你退了回来。</i> #line:0138c7d
|
||||
<i>原来是窗帘啊。</i> #line:0d9556c
|
||||
<<once if $slept>>
|
||||
<i>窗台上的什么东西引起了你的注意。</i> #line:0e6015b
|
||||
【你获得了:羽毛】 #line:03ea994
|
||||
<i>窗台上的什么东西引起了你的注意。</i> #line:0e6015b
|
||||
【你获得了:羽毛】 #line:03ea994
|
||||
<<endonce>>
|
||||
->黑板 #line:0514970
|
||||
<i>黑板上似乎还留着一些板书和记录。</i> #line:09a5060
|
||||
<i>你认为这些内容应该很简单,仔细一读却什么也看不懂。</i> #line:078fb75
|
||||
<i>你觉得有些心慌。</i> #line:0fce30a
|
||||
->走廊 #line:07a50e3
|
||||
<i>走廊空荡荡的,时不时传来一些遥远的嬉闹声。</i> #line:03a2b9c
|
||||
<i>一阵风掠过,窗户在窗框上振动,发出轻轻的铛铛声。</i> #line:02d8b46
|
||||
<i>风停了。</i> #line:093de56
|
||||
->黑板 #line:0514970
|
||||
<i>黑板上似乎还留着一些板书和记录。</i> #line:09a5060
|
||||
<i>你认为这些内容应该很简单,<br>仔细一读却什么也看不懂。</i> #line:078fb75
|
||||
<i>你觉得有些心慌。</i> #line:0fce30a
|
||||
->走廊 #line:07a50e3
|
||||
<i>走廊空荡荡的,<br>时不时传来一些遥远的嬉闹声。</i> #line:03a2b9c
|
||||
<i>一阵风掠过,<br>窗户在窗框上振动,<br>发出轻轻的铛铛声。</i> #line:02d8b46
|
||||
<i>风停了。</i> #line:093de56
|
||||
===
|
||||
|
||||
title: 趴回去再睡会
|
||||
@@ -145,9 +147,9 @@ tags: detour
|
||||
---
|
||||
me: …… #line:00ab4f3
|
||||
<<hide_sprite>>
|
||||
<i>你尝试清空思绪。</i> #line:043d77c
|
||||
<i>有两只鸟好像落在了窗户附近的树枝上,欢快地鸣叫。</i> #line:003e9cb
|
||||
<i>阳光照在你身上,暖暖的。</i> #line:0d1cbab
|
||||
<i>你尝试清空思绪。</i> #line:043d77c
|
||||
<i>有两只鸟好像落在了<br>窗户附近的树枝上,<br>欢快地鸣叫。</i> #line:003e9cb
|
||||
<i>阳光照在你身上,暖暖的。</i> #line:0d1cbab
|
||||
->醒来 #line:08cbcd5
|
||||
me: …… #line:04dbccf
|
||||
<<show_sprite "D1S教室">>
|
||||
@@ -162,7 +164,7 @@ tags: hub
|
||||
<<set_global_param dream1scene 1>>
|
||||
<<once if $ppStage>=1 && $gameStage==0>>
|
||||
<<set $pphChecked=true>>
|
||||
<i>你走下楼梯,火红的夕阳透过玻璃,在整个走廊的空气里回荡。</i> #line:0dbf438
|
||||
<i>你走下楼梯,<br>火红的夕阳透过玻璃,<br>在整个走廊的空气里回荡。</i> #line:0dbf438
|
||||
<<show_sprite "D1S走廊2">>
|
||||
<<set $gameStage=1>>
|
||||
<<endonce>>
|
||||
@@ -185,7 +187,7 @@ title: 离开_打量
|
||||
tags: detour
|
||||
---
|
||||
<<once>>
|
||||
<i>你打量着这条走廊。在你身后,走廊通向一个楼梯间;<br>在你身前,走廊曲折地延伸出去,看不到尽头。</i> #line:0602eb0
|
||||
<i>你打量着这条走廊。<br>在你身后,走廊通向一个楼梯间;<br>在你身前,走廊曲折地延伸出去,<br>看不到尽头。</i> #line:0602eb0
|
||||
<<endonce>>
|
||||
===
|
||||
|
||||
@@ -193,7 +195,7 @@ title: 走廊_入场
|
||||
tags: detour
|
||||
---
|
||||
<<if $ppStage!=2>>
|
||||
<i>你站在一条长长的走廊。阳光看起来很不错。<br>一个穿着连帽卫衣的女孩正在玻璃上画画。</i> #line:0d69997
|
||||
<i>你站在一条长长的走廊。<br>阳光看起来很不错。<br>一个穿着连帽卫衣的女孩<br>正在玻璃上画画。</i> #line:0d69997
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
@@ -201,8 +203,8 @@ title: 走廊窗外
|
||||
tags: detour
|
||||
---
|
||||
<<show_sprite "D1S走廊-小镇">>
|
||||
<i>看起来是一个很普通小镇,远处是层层叠叠小楼。你有一阵熟悉的感觉,好像其中一幢就是你的家。</i> #line:0304d72
|
||||
<i>阳光照在你身上,暖暖的。</i> #line:0650718
|
||||
<i>一个很普通小镇,远处是层层叠叠的小楼。<br>你有一阵熟悉的感觉,好像其中一幢就是你的家。</i> #line:0304d72
|
||||
<i>阳光照在你身上,暖暖的。</i> #line:0650718
|
||||
===
|
||||
|
||||
title: 楼梯间
|
||||
@@ -223,7 +225,7 @@ tags: hub
|
||||
title: 楼梯间_入场
|
||||
tags: detour
|
||||
---
|
||||
<i>你站在满是灰尘的楼梯间,上面似乎就是天台。</i> #line:0c3fb6b
|
||||
<i>你站在满是灰尘的楼梯间,<br>上面似乎就是天台。</i> #line:0c3fb6b
|
||||
===
|
||||
|
||||
title: 女孩
|
||||
@@ -241,11 +243,11 @@ tags: detour
|
||||
---
|
||||
<<detour 展示佩佩_Func>>
|
||||
<<if $gameStage==0>>
|
||||
<i>女孩正在在玻璃上调试着颜色。<br>看到你靠近,她不好意思地停下了笔。</i> #line:0043186
|
||||
<i>女孩正在玻璃上调试着颜色。<br>看到你靠近,<br>她不好意思地停下了笔。</i> #line:0043186
|
||||
<<elseif $gameStage==1>>
|
||||
<i>女孩正专注地向天空中添加红色,没有注意到你的靠近。</i> #line:0a76fb1
|
||||
<i>女孩正专注地向天空中添加红色,<br>没有注意到你的靠近。</i> #line:0a76fb1
|
||||
<<else>>
|
||||
<i>女孩正专注地向天空中添加颜色,没有注意到你的靠近。</i> #line:0d39c58
|
||||
<i>女孩正专注地向天空中添加颜色,<br>没有注意到你的靠近。</i> #line:0d39c58
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
@@ -265,35 +267,35 @@ title: 女孩_初次交谈
|
||||
tags: detour
|
||||
---
|
||||
<<once>>
|
||||
me: 这是…在画什么? #line:079eea7
|
||||
girl: 对不起…我这就擦掉。 #line:0deb6fb
|
||||
me: 不不…我只是好奇。 #line:0203769
|
||||
girl: 啊…我只是…在想天空的颜色。 #line:0125ea8
|
||||
me: 天空的颜色?蓝色么不是。 #line:0ad6d74
|
||||
girl: 没错,但是……蓝色也有很多种蓝呢。 #line:0a81ec2
|
||||
girl: 天蓝色,湖蓝色,宝蓝色,海军蓝,矢车菊蓝…… #line:046d021
|
||||
girl: 你说的对…应该是矢车菊的蓝才对呢。 #line:021390b
|
||||
me: 我? #line:0ab7567
|
||||
girl: 不管怎样…先把另一种颜色调出来吧。 #line:0d4cf1d
|
||||
<i>女孩开始自顾自地调试起颜色。</i> #line:02e75b6
|
||||
me: 这是…<waitfor=0.1>在画什么? #line:079eea7
|
||||
girl: 对不起…<waitfor=0.1>我这就擦掉。 #line:0deb6fb
|
||||
me: 不不…<waitfor=0.1>我只是好奇。 #line:0203769
|
||||
girl: 啊…<waitfor=0.1>我只是…<waitfor=0.1>在想天空的颜色。 #line:0125ea8
|
||||
me: 天空的颜色?<waitfor=0.2>蓝色么不是。 #line:0ad6d74
|
||||
girl: 没错,<waitfor=0.1>但是……<waitfor=0.1>蓝色也有很多种蓝呢。 #line:0a81ec2
|
||||
girl: 天蓝色,<waitfor=0.1>湖蓝色,<waitfor=0.1>宝蓝色,<waitfor=0.1><br>海军蓝,<waitfor=0.1>矢车菊蓝…… #line:046d021
|
||||
girl: 你说的对…<waitfor=0.1>应该是矢车菊的蓝才对呢。 #line:021390b
|
||||
me: 我? #line:0ab7567
|
||||
girl: 不管怎样…<waitfor=0.1>先把另一种颜色调出来吧。 #line:0d4cf1d
|
||||
<i>女孩开始自顾自地调试起颜色。</i> #line:02e75b6
|
||||
<<else>>
|
||||
girl: 嗯…应该再加一点白才对… #line:051929d
|
||||
<i>女孩一边调试颜色一边自言自语。</i> #line:05b0c2f
|
||||
girl: 嗯…<waitfor=0.1>应该再加一点白才对… #line:051929d
|
||||
<i>女孩一边调试颜色一边自言自语。</i> #line:05b0c2f
|
||||
<<endonce>>
|
||||
===
|
||||
|
||||
title: 女孩_等待矢车菊
|
||||
tags: detour
|
||||
---
|
||||
me: 这是…你画的? #line:03c63c9
|
||||
girl: …是…但颜色还是不太对。 #line:031d1ac
|
||||
girl: 矢车菊蓝…总还是差一点啊。 #line:07f05d1
|
||||
me: 这是…<waitfor=0.1>你画的? #line:03c63c9
|
||||
girl: …是…<waitfor=0.1>但颜色还是不太对。 #line:031d1ac
|
||||
girl: 矢车菊蓝…<waitfor=0.1>总还是差一点啊。 #line:07f05d1
|
||||
<<if $scj==1>>
|
||||
->矢车菊 #line:0f763eb
|
||||
<<detour 递矢车菊>>
|
||||
<<else>>
|
||||
me: 除了颜色…你能画些别的东西吗? #line:061aeb0
|
||||
<i>女孩似乎没有听见你说话。</i> #line:0cce274
|
||||
me: 除了颜色…<waitfor=0.1>你能画些别的东西吗? #line:061aeb0
|
||||
<i>女孩似乎没有听见你说话。</i> #line:0cce274
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
@@ -301,28 +303,28 @@ title: 递矢车菊
|
||||
tags: detour
|
||||
---
|
||||
<<show_sprite "递出矢车菊夕阳">>
|
||||
girl: 这是…给我的? #line:0fd6134
|
||||
girl: 这是…<waitfor=0.1>给我的? #line:0fd6134
|
||||
me: 希望这值得。 #line:00f67c4
|
||||
girl: (笑)会的。 #line:063cdb2
|
||||
<<detour 递矢车菊_Set>>
|
||||
girl: ……嗯…闭上眼睛吧。 #line:0dfb357
|
||||
girl: ……嗯…<waitfor=0.1>闭上眼睛吧。 #line:0dfb357
|
||||
<<hide_sprite>>
|
||||
girl: 好了。 #line:03a21b0
|
||||
<<show_sprite "D1S佩佩3">>
|
||||
<i>女孩看着自己的作品出神。</i> #line:09b6db4
|
||||
me: 除了颜色…你能画些别的东西吗? #line:038e79e
|
||||
me: 除了颜色…<waitfor=0.1>你能画些别的东西吗? #line:038e79e
|
||||
girl: 别的东西? #line:0fd97ed
|
||||
me: 比如说…一扇本该存在的门。 #line:018c2f5
|
||||
girl: 啊,我知道你是什么意思。(笑) #line:04369ab
|
||||
girl: 不过,门后面你要找的东西,我可画不出来喔。 #line:071eeb3
|
||||
<i>你发现从这里正好可以透过玻璃看到天文台。</i> #line:026ad07
|
||||
<i>女孩沾了沾颜料,一边哼歌一边继续涂画着。</i> #line:006fb3e
|
||||
me: 比如说…<waitfor=0.1>一扇本该存在的门。 #line:018c2f5
|
||||
girl: 啊,<waitfor=0.1>我知道你是什么意思。(笑) #line:04369ab
|
||||
girl: 不过,<waitfor=0.1>门后面你要找的东西,<waitfor=0.1>我可画不出来喔。 #line:071eeb3
|
||||
<i>你发现从这里正好可以<br>透过玻璃看到天文台。</i> #line:026ad07
|
||||
<i>女孩沾了沾颜料,<br>一边哼歌一边继续涂画着。</i> #line:006fb3e
|
||||
===
|
||||
|
||||
title: 女孩_已完成
|
||||
tags: detour
|
||||
---
|
||||
girl: <i>女孩一边哼歌一边继续涂画着,没有听到你的声音。</i> #line:01ef1ed
|
||||
girl: <i>女孩一边哼歌一边继续涂画着,<br>没有听到你的声音。</i> #line:01ef1ed
|
||||
===
|
||||
|
||||
title: 天台
|
||||
@@ -359,38 +361,38 @@ tags: detour
|
||||
---
|
||||
<<if $gameStage == 0>>
|
||||
<<detour 展示天台_Func>>
|
||||
<i>你站在教学楼的楼顶,视野开阔。<br>阳光照在头顶有些发烫,风也暖暖的。<br>天文台的环形走廊高高的,阿灿正靠在上面发呆。</i> #line:0d3ce27
|
||||
<i>你站在教学楼的楼顶,视野开阔。<br>阳光照在头顶有些发烫,风也暖暖的。<br>天文台的环形走廊高高的,<br>阿灿正靠在上面发呆。</i> #line:0d3ce27
|
||||
<<once>>
|
||||
boy: 喂!上来! #line:061bd66
|
||||
me: 你刚才说…我们要修谁? #line:0fbf127
|
||||
boy: 你睡糊涂了吧,你要修理谁?亏你还想做医生呢! #line:0292c23
|
||||
boy: 喂!<waitfor=0.2>上来! #line:061bd66
|
||||
me: 你刚才说…<waitfor=0.1>我们要修谁? #line:0fbf127
|
||||
boy: 你睡糊涂了吧,<waitfor=0.1>你要修理谁?<waitfor=0.2><br>亏你还想做医生呢! #line:0292c23
|
||||
me: 我… #line:032bd1e
|
||||
me: 我睡糊涂了。 #line:02ac5f7
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
<i>阿灿指向了天文台。</i> #line:03ef5a4
|
||||
boy: 你自己说的啊,要把这个修好。 #line:0321859
|
||||
me: 天文台?为什么? #line:059af3c
|
||||
boy: 拜托,你自己说的,你说要替她修好的。 #line:0b879a6
|
||||
boy: 你自己说的啊,<waitfor=0.1>要把这个修好。 #line:0321859
|
||||
me: 天文台?为什么? #line:059af3c
|
||||
boy: 拜托,<waitfor=0.1>你自己说的,<waitfor=0.1>你说要替她修好的。 #line:0b879a6
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
me: 她?这里…还是关于她的么…… #line:054776d
|
||||
boy: 什么啊?什么梦啊,你在说什么啊? #line:04ceb1f
|
||||
boy: 不过…它的入口在哪里呢…门怎么不存在了?奇怪。 #line:09585b5
|
||||
boy: 这下可怎么进去啊…… #line:0f47162
|
||||
me: 她?<waitfor=0.2>这里…<waitfor=0.1>还是关于她的么…… #line:054776d
|
||||
boy: 什么啊?<waitfor=0.2><br>什么梦啊,你在说什么啊? #line:04ceb1f
|
||||
boy: 不过…<waitfor=0.1>它的入口在哪里呢…<waitfor=0.1><br>门怎么不存在了?<waitfor=0.2>奇怪。 #line:09585b5
|
||||
boy: 这下可怎么进去啊…… #line:0f47162
|
||||
<<detour 天台首次剧情_Set>>
|
||||
<<endonce>>
|
||||
<<elseif $gameStage == 1>>
|
||||
<<once>>
|
||||
<<show_sprite "D1S天台-山2">>
|
||||
<<if $pphChecked==false>>
|
||||
<i>一眨眼的功夫,你发现天已经变成了火红色,像油墨画一样。</i> #line:0376342
|
||||
<i>一眨眼的功夫,<br>你发现天已经变成了火红色,<br>像油墨画一样。</i> #line:0376342
|
||||
<<else>>
|
||||
<i>火红色的天,像油墨画一样。</i> #line:0c2c51b
|
||||
<<endif>>
|
||||
<<endonce>>
|
||||
<<detour 展示天台_Func>>
|
||||
<i>你站在教学楼的楼顶,视野开阔。<br>空气中似乎有种熟悉的令人昏昏沉沉的气味……</i> #line:0325825
|
||||
<i>你站在教学楼的楼顶,视野开阔。<br>空气中似乎有种熟悉的<br>令人昏昏沉沉的气味……</i> #line:0325825
|
||||
<<else>>
|
||||
<<detour 展示天台_Func>>
|
||||
<i>你站在教学楼的楼顶,视野开阔。<br>天蓝蓝的,风也有点儿冷了。<br>你感觉好像有人在喊你。</i> #line:0f4be5a
|
||||
@@ -401,8 +403,8 @@ title: 天台检查
|
||||
tags: detour
|
||||
---
|
||||
->窗户 #line:03e43b8
|
||||
<i>天文台下面有一排窗户。里面看起来是一个布满灰尘的走廊,走廊的两端没有门,也没有窗。</i> #line:06ee6b8
|
||||
<i>很奇怪。似乎从来没有人进去过,也从来没有人能进去。</i> #line:0f4c9c2
|
||||
<i>天文台下面有一排窗户。<br>里面看起来是一个布满灰尘的走廊,<br>走廊的两端没有门,<br>也没有窗。</i> #line:06ee6b8
|
||||
<i>很奇怪。<br>似乎从来没有人进去过,<br>也从来没有人能进去。</i> #line:0f4c9c2
|
||||
->地上<<if $gameStage < 2>> #line:06fcea6 #deps:gameStage
|
||||
<<if $gameStage==0>>
|
||||
<<if $scj == 0>>
|
||||
@@ -417,18 +419,18 @@ tags: detour
|
||||
<<show_sprite "D1S天台-地板2">>
|
||||
<<endif>>
|
||||
<<endif>>
|
||||
<i>地上排布着黑乎乎脏兮兮的隔热砖。太阳把地板晒得很烫。</i> #line:08d113b
|
||||
<i>门在哪里呢?</i> #line:0bb74cd
|
||||
boy: 你在找什么啊?入口怎么可能在地上啦。 #line:0de80f3
|
||||
<i>地上排布着<br>黑乎乎脏兮兮的隔热砖。<br>太阳把地板晒得很烫。</i> #line:08d113b
|
||||
<i>门在哪里呢?</i> #line:0bb74cd
|
||||
boy: 你在找什么啊?<waitfor=0.2><br>入口怎么可能在地上啦。 #line:0de80f3
|
||||
<<if $scj==0>>
|
||||
<i>你注意到了不起眼角落里的什么东西。</i> #line:0a5cf5d
|
||||
<<detour 捡起矢车菊_Set>>
|
||||
【获得:矢车菊】 #line:0229f7b
|
||||
<<endif>>
|
||||
<i>你直起腰。<br>背上的衣服沾满了汗,垂坠下来,带进凉飕飕的空气。</i> #line:0f99bb3
|
||||
<i>你直起腰。<br>背上的衣服沾满了汗,<br>垂坠下来,<br>带进凉飕飕的空气。</i> #line:0f99bb3
|
||||
->远眺 #line:06a03c9
|
||||
<<detour 展示山_Func>>
|
||||
<i>小镇的尽头是一座绿绿的小山丘,小山丘的那边是另一座小山丘,小山丘的那边是另一座小山丘……</i> #line:0a12383
|
||||
<i>小镇的尽头是一座绿绿的小山丘,<br>小山丘的那边是另一座小山丘,<br>小山丘的那边是另一座小山丘……</i> #line:0a12383
|
||||
===
|
||||
|
||||
title: 上去_与阿灿_开场
|
||||
@@ -437,7 +439,7 @@ tags: detour
|
||||
<i>环形走廊很高,你走到阿灿身边。</i> #line:0545696
|
||||
boy: 你找到门在哪里了吗? #line:00d0860
|
||||
me: 还没呢。 #line:0eecfc0
|
||||
boy: 啊?这下怎么办啊。我还怎么变成星星啊…… #line:021452a
|
||||
boy: 啊?<waitfor=0.2>这下怎么办啊。<waitfor=0.2><br>我还怎么变成星星啊…… #line:021452a
|
||||
===
|
||||
|
||||
title: 上去_远眺
|
||||
@@ -448,20 +450,20 @@ tags: detour
|
||||
<<elseif $gameStage==1>>
|
||||
<<show_sprite "D1S天台-山2">>
|
||||
<<endif>>
|
||||
boy: 你看到那边那座山了吗? #line:0a53d71
|
||||
me: 嗯哼。 #line:05e0384
|
||||
boy: 你知道吗?山的南边就是大海。 #line:01d486a
|
||||
me: 海不是在东边吗? #line:03b0c59
|
||||
boy: 这只是一种比喻啦! #line:06984b6
|
||||
boy: 山的南边的南边…只要你走的足够远,总会走到海边的。 #line:0314896
|
||||
<i>你眯起眼睛使劲向远处往,但远处好象被什么雾笼盖住了。</i> #line:0fb72c4
|
||||
boy: 不过,现在还是先找天文台的入口吧。 #line:0fb2c0b
|
||||
boy: 你看到那边那座山了吗? #line:0a53d71
|
||||
me: 嗯哼。 #line:05e0384
|
||||
boy: 你知道吗?<waitfor=0.2>山的南边就是大海。 #line:01d486a
|
||||
me: 海不是在东边吗? #line:03b0c59
|
||||
boy: 这只是一种比喻啦! #line:06984b6
|
||||
boy: 山的南边的南边…<waitfor=0.1><br>只要你走得足够远,<waitfor=0.1><br>总会走到海边的。 #line:0314896
|
||||
<i>你眯起眼睛使劲向远处望,<br>但远处好像被什么雾笼盖住了。</i> #line:0fb72c4
|
||||
boy: 不过,<waitfor=0.1>现在还是先找天文台的入口吧。 #line:0fb2c0b
|
||||
===
|
||||
|
||||
title: 上去_画门_描述
|
||||
tags: detour
|
||||
---
|
||||
<i>墙上洋洋洒洒地画着一扇金属门,门敞开着,里面似乎有人在呼唤你。</i> #line:0124137
|
||||
<i>墙上洋洋洒洒地画着一扇金属门,<br>门敞开着,<br>里面似乎有人在呼唤你。</i> #line:0124137
|
||||
===
|
||||
|
||||
title: 天文台
|
||||
@@ -496,10 +498,10 @@ tags: hub
|
||||
title: 天文台_入场
|
||||
tags: detour
|
||||
---
|
||||
<i>你站在一间昏暗的圆形房间里。房间的正中央是一台天文望远镜,看起来很久没人用了。房间一篇死寂,地上、桌上,遍布着灰尘。</i> #line:0a229cf
|
||||
<i>你站在一间昏暗的圆形房间里。<br>房间的正中央是一台天文望远镜,<br>看起来很久没人用了。<br>房间一片死寂,<br>地上、桌上,<br>遍布着灰尘。</i> #line:0a229cf
|
||||
<<if $wyjStage == 1>>
|
||||
<<set_global_param dream1Stage 2>>
|
||||
<i>手上的目镜沉甸甸的。看起来只是胶圈坏了。</i> #line:083c3be
|
||||
<i>手上的目镜沉甸甸的。<br>看起来只是胶圈坏了。</i> #line:083c3be
|
||||
<<elseif $wyjStage == 2>>
|
||||
<<set_global_param dream1Stage 2.5>>
|
||||
<i>空气仿佛正在变得模糊而潮湿。</i> #line:0a115bc
|
||||
@@ -514,17 +516,17 @@ title: 天文台观察
|
||||
tags: detour
|
||||
---
|
||||
->日历 #line:01894bd
|
||||
<i>黄黄的日历的顶端印着几个数字,2后面跟着好多个0。</i> #line:0659b59
|
||||
<i>你伸手一碰,那一页日历就像薄脆一样碎了。</i> #line:04f153a
|
||||
<i>下面的一页上面也印着几个数字,看起来和上一页一样。</i> #line:0ce73c7
|
||||
<i>黄黄的日历的顶端印着几个数字,<br>2后面跟着好多个0。</i> #line:0659b59
|
||||
<i>你伸手一碰,<br>那一页日历就像薄脆一样碎了。</i> #line:04f153a
|
||||
<i>下面的一页上面也印着几个数字,<br>看起来和上一页一样。</i> #line:0ce73c7
|
||||
->便笺 #line:0fb3a58
|
||||
<<if $wyjStage == 0>>
|
||||
<i>望远镜上贴着一张黄色的便笺。</i> #line:0179879
|
||||
hs: 你跑到哪里去了?我先上去,不等你啦 :P #line:0cbc819
|
||||
hs: 你跑到哪里去了?<waitfor=0.2><br>我先上去,<waitfor=0.1>不等你啦 :P #line:0cbc819
|
||||
<<elseif $wyjStage == 1>>
|
||||
<i>望远镜上贴着一张褪色的便笺。</i> #line:0ff2298
|
||||
hs: ……哪…去了…我先……不等…… #line:01ad7c7
|
||||
<i>字迹模糊不清,看起来是很久很久以前写的。</i> #line:0529b64
|
||||
hs: ……<waitfor=0.2>哪…<waitfor=0.1>去了…<waitfor=0.1>我先……<waitfor=0.1>不等…… #line:01ad7c7
|
||||
<i>字迹模糊不清,<br>看起来是很久很久以前写的。</i> #line:0529b64
|
||||
<<else>>
|
||||
<i>望远镜上贴着一张白色的便笺。</i> #line:092260e
|
||||
<i>你碰了一下,便笺碎掉了。</i> #line:012a3a1
|
||||
@@ -532,16 +534,16 @@ tags: detour
|
||||
->仪器 #line:007cbe4 #deps:wyjStage,hasCompressionRing
|
||||
<i>这些仪器看着很像你工作用的工具……</i> #line:0076043
|
||||
<<if $wyjStage == 0>>
|
||||
<i>……不对,你真的有那个工作吗?你只是一个学生吧。</i> #line:0256c87
|
||||
<i>……不对,<br>你真的有那个工作吗?<br>你只是一个学生吧。</i> #line:0256c87
|
||||
<<elseif $wyjStage == 1>>
|
||||
me: 只要…什么都能修好,对吧。你说的… #line:005b630
|
||||
me: 只要…<waitfor=0.1>什么都能修好,<waitfor=0.1>对吧。<waitfor=0.2>你说的… #line:005b630
|
||||
<<endif>>
|
||||
<<if $hasCompressionRing == false && $wyjStage < 2>>
|
||||
->翻找零件 #line:09c5690
|
||||
<i>大部分零件你都不认识。不过你的运气不错。</i> #line:04bff73
|
||||
<i>大部分零件你都不认识。<br>不过你的运气不错。</i> #line:04bff73
|
||||
->完好的压缩环 #line:06c0942
|
||||
<<if $wyjStage == 0>>
|
||||
<i>你拿起一个小小的金属环。你还不知道它能用在哪里。</i> #line:0c9a2d1
|
||||
<i>你拿起一个小小的金属环。<br>你还不知道它能用在哪里。</i> #line:0c9a2d1
|
||||
<<else>>
|
||||
me: 这下应该可以了。 #line:01ed9bc
|
||||
<<endif>>
|
||||
@@ -553,20 +555,20 @@ title: 望远镜_开场
|
||||
tags: detour
|
||||
---
|
||||
<<if $wyjStage == 0>>
|
||||
<i>望远镜很大,上面刻着你看不懂的参数和型号。</i> #line:04e4782
|
||||
<i>望远镜很大,<br>上面刻着你看不懂的参数和型号。</i> #line:04e4782
|
||||
<<elseif $wyjStage == 1>>
|
||||
<i>望远镜很大,不过比你想象的又要小一些。</i> #line:04d3d85
|
||||
<i>望远镜很大,<br>不过比你想象的又要小一些。</i> #line:04d3d85
|
||||
<<else>>
|
||||
<i>望远镜上覆盖着厚厚的灰尘,螺丝钉锈迹斑斑。</i> #line:0154dea
|
||||
<i>原来它有这么旧吗?</i> #line:0bbc574
|
||||
<i>望远镜上覆盖着厚厚的灰尘,<br>螺丝钉锈迹斑斑。</i> #line:0154dea
|
||||
<i>原来它有这么旧吗?</i> #line:0bbc574
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
title: 安装目镜
|
||||
tags: detour
|
||||
---
|
||||
<i>你记得这很困难。但这比你印象中的轻松太多了。</i> #line:0edf096
|
||||
me: 我修好了!对吧?我修好了…… #line:0e80e94
|
||||
<i>你记得这很困难。<br>但这比你印象中的轻松太多了。</i> #line:0edf096
|
||||
me: 我修好了!<waitfor=0.2>对吧?<waitfor=0.2>我修好了…… #line:0e80e94
|
||||
===
|
||||
|
||||
title: 往里看
|
||||
@@ -579,13 +581,13 @@ tags: detour
|
||||
<i>咔哒一声,什么东西掉了下来。</i> #line:00f87b1
|
||||
me: 哎呀… #line:07be273
|
||||
->接住 #line:0f8dd82
|
||||
<i>你的手上拿着望远镜的目镜,看起来就像小号的望远镜。</i> #line:0b032ff
|
||||
<i>除此之外,还有一个断成两半的环。看起来是用来固定目镜的零件。</i> #line:0daf5f6
|
||||
<i>你的手上拿着望远镜的目镜,<br>看起来就像小号的望远镜。</i> #line:0b032ff
|
||||
<i>除此之外,<br>还有一个断成两半的环。<br>看起来是用来固定目镜的零件。</i> #line:0daf5f6
|
||||
<<detour 目镜掉落_Set>>
|
||||
<<elseif $wyjStage == 1 || $wyjStage == 2>>
|
||||
<<set_global_param dream1Stage 3>>
|
||||
<i>目镜原来在的位置上是一个黑漆漆的洞。</i> #line:02bcbcb
|
||||
<i>往里面看去什么也没有,只能听到灰尘的声音。</i> #line:0c4d195
|
||||
<i>目镜原来在的位置上<br>是一个黑漆漆的洞。</i> #line:02bcbcb
|
||||
<i>往里面看去什么也没有,<br>只能听到灰尘的声音。</i> #line:0c4d195
|
||||
//TODO: 增加海浪音量
|
||||
<<endif>>
|
||||
===
|
||||
@@ -602,44 +604,45 @@ tags: linear
|
||||
<<set_global_param prologueDreamStage 1>>
|
||||
<<play_timeline 星空到海浪>>
|
||||
<<set_global_param dream1Stage 5>>
|
||||
<<wait 2>>
|
||||
jj: 你不该来这的。 #line:0df4d91
|
||||
me: 我也不想梦见你。可是…… #line:0ec80fc
|
||||
me: 不管梦的内容是什么……最后总会到这儿来,对吧。 #line:0b49833
|
||||
jj: 对或者不对,取决于你自己。 #line:0d90409
|
||||
me: 我也不想梦见你。<waitfor=0.2>可是…… #line:0ec80fc
|
||||
me: 不管梦的内容是什么……<waitfor=0.1><br>最后总会到这儿来,<waitfor=0.1>对吧。 #line:0b49833
|
||||
jj: 对或者不对,<waitfor=0.1>取决于你自己。 #line:0d90409
|
||||
me: 假如…… #line:0cf7ae6
|
||||
me: 假如你是真的就好了。 #line:02bbbbc
|
||||
//TODO: (海浪声)
|
||||
<i>你仿佛感觉自己的手被握住了。</i> #line:025dad2
|
||||
jj: 假如我是真的,我会希望我是假的。 #line:018c643
|
||||
jj: 我还希望当你醒来,你就会忘记我。 #line:05b81f4
|
||||
jj: 假如我是真的,<waitfor=0.1><br>我会希望我是假的。 #line:018c643
|
||||
jj: 我还希望当你醒来,<waitfor=0.1><br>你就会忘记我。 #line:05b81f4
|
||||
|
||||
me: 你知道么? #line:07f5b5e
|
||||
me: 现实里不是所有东西坏了都能修好的。 #line:0ab64a2
|
||||
me: 这就是它们把你写进我的原型的原因。 #line:055f6cf
|
||||
me: 一个永远不可能被修好的……一个无法被完成的遗憾。 #line:07fee71
|
||||
me: 一个固执的…偏执的……有缺陷的…… #line:070fc03
|
||||
me: 一个永远不可能被修好的……<waitfor=0.1><br>一个无法被完成的遗憾。 #line:07fee71
|
||||
me: 一个固执的…<waitfor=0.1>偏执的……<waitfor=0.1>有缺陷的…… #line:070fc03
|
||||
|
||||
jj: 不。你已经做得很好了。 #line:0989b0e
|
||||
jj: 你是一个很棒的医生,不是吗? #line:052f57a
|
||||
jj: 毕竟,我知道你是来做什么的。 #line:05c73fe
|
||||
jj: 你是一个很棒的医生,<waitfor=0.1>不是吗? #line:052f57a
|
||||
jj: 毕竟,<waitfor=0.1>我知道你是来做什么的。 #line:05c73fe
|
||||
|
||||
me: 姐姐…… #line:099fc97
|
||||
|
||||
jj: 姐姐愿意被*解决*。 #line:00fc25d
|
||||
|
||||
<i>你没有说话。站起身,海风吹在你的脸上,咸咸的,让人反胃。</i> #line:0185dd3
|
||||
<i>你没有说话。<br>站起身,海风吹在你的脸上,<br>咸咸的,<br>让人反胃。</i> #line:0185dd3
|
||||
me: 姐姐! #line:017c7f1
|
||||
<i>海风吹在你的脸上,迅速地吞没了你的回声。</i> #line:012ae52
|
||||
<i>海风吹在你的脸上,<br>迅速地吞没了你的回声。</i> #line:012ae52
|
||||
<i>扑通!</i> #line:0adf6d2
|
||||
<i>你把手里的东西远远地抛进了大海里。</i> #line:029a7e3
|
||||
<i>你把手里的东西远远地<br>抛进了大海里。</i> #line:029a7e3
|
||||
me: 我再也不欠你什么了! #line:0597cda
|
||||
|
||||
jj: 你本来就不欠我什么。 #line:0fa59bb
|
||||
<i>姐姐的声音变得不稳定起来。</i> #line:060d93b
|
||||
|
||||
me: …我本来就…不欠你什么。 #line:0ebcd24
|
||||
me: …我本来就…<waitfor=0.1>不欠你什么。 #line:0ebcd24
|
||||
|
||||
<i>姐姐笑了。声音越来越遥远,像是从门的另一边传来的。</i> #line:0ca4d3b
|
||||
<i>姐姐笑了。<br>声音越来越遥远,<br>像是从门的另一边传来的。</i> #line:0ca4d3b
|
||||
jj: 该醒来了,路斯。 #line:03c9e3c
|
||||
|
||||
|
||||
|
||||
@@ -17,29 +17,29 @@ position: 0,400
|
||||
<<fade_in_actor 窗外佩佩>>
|
||||
<<fade_out 1>>
|
||||
<<wait 0.5>>
|
||||
yingli_novoice: …我不允许就因为你的怪病,让整个部门评价都受到影响。 #line:0706187
|
||||
peipei_novoice: 我没病,主管…只是没注意…<br>…我之后会注意的。<br>我会完成得很好的…相信我。 #line:0a29d9c
|
||||
peipei_novoice: 我以前…… #line:0d5302d
|
||||
//#auto_next
|
||||
yingli_novoice: 我不在乎你以前做得有多好,<br>那对我来说没有任何意义。 #line:005f424
|
||||
yingli_novoice: 我已经说过很多次了。<br>这是你最后的机会。明白吗?<br>再做不好,你就会被[[size]]<b><size=100%><color=\#FFB200>回收</color></b>[[/size]]。 #line:0577dcd
|
||||
yingli_novoice: 不用我和你说<br>这意味着什么吧? #line:075b89d
|
||||
peipei_novoice: <shake>我…<waitfor=0.3>我不要被<waitfor=0.3><b><size=100%><color=\#FFB200>回收</color></b><waitfor=0.5>……</shake> #line:030100c
|
||||
yingli_novoice: …我不接受<waitfor=0.1>就因为你的怪病,<waitfor=0.1><br>整个部门评价都受到影响。 #line:0706187
|
||||
peipei_novoice: 我没病,<waitfor=0.1>主管…<waitfor=0.1>只是没注意…<waitfor=0.2><br>…我之后<waitfor=0.1>会注意的。<waitfor=0.2><br>我会<waitfor=0.1>完成得很好<waitfor=0.1>的…<waitfor=0.3>相信我。 #line:0a29d9c
|
||||
peipei_novoice: 我<waitfor=0.1>以前…… #line:0d5302d
|
||||
yingli_novoice: [[size d=0.1]]我[[/size]]不在乎<waitfor=0.1>你以前做得有多好,<br><waitfor=0.1>那对我来说没有任何意义。 #line:005f424
|
||||
yingli_novoice: 我已经说过很多次了。<waitfor=0.1><br>这是你最后的机会。<waitfor=0.1>明白吗?<waitfor=0.3><br>再做不好,<waitfor=0.1>你就会被<waitfor=0.2>[[size d=0.1]]<b><color=\#FFB200>回收</color></b>[[/size]]。 #line:0577dcd
|
||||
yingli_novoice: 不用我和你说<waitfor=0.2><br>这意味着什么吧? #line:075b89d
|
||||
peipei_novoice: <shake a=0.3><color=\#5F5F5F>我…<waitfor=0.3>我不要被</color><waitfor=0.3><b><size=100%><color=\#FFB200>回收</color></b><waitfor=0.5><color=\#5F5F5F>……</color></shake> #line:030100c
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
|
||||
yingli_novoice: 公司花了很多资源培养你。<br>就算你自己不在乎,也不要让我难堪。 #line:031279a
|
||||
peipei_novoice: <shake>我……</shake> #line:028d6e3
|
||||
yingli_novoice: 公司花了很多资源培养你。<waitfor=0.3><br>就算你自己不在乎,<waitfor=0.1>也不要让我难堪。 #line:031279a
|
||||
peipei_novoice: <shake a=0.3><color=\#5F5F5F>我……</color></shake> #line:028d6e3
|
||||
yingli_novoice: 听着,<waitfor=0.3>佩佩。<waitfor=0.3><br>我是在帮你。 #line:0b67f6a
|
||||
<<wait 0.5>>
|
||||
yingli_novoice: 你一直是垫底的美工型号,<waitfor=0.3><br>为了保住你,<waitfor=0.3><br>我在承担你难以想象的压力。 #line:0dcbea5
|
||||
yingli_novoice: …… #line:0691cca
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
|
||||
yingli_novoice: 做个身体检查,接受治疗。<waitfor=0.3><br>无论如何,今晚好好休息。 #line:0e36c2b
|
||||
peipei_novoice: 是的,主管。 #line:07b19bb
|
||||
yingli_novoice: 做个身体检查,<waitfor=0.1>接受治疗。<waitfor=0.3><br>无论如何,<waitfor=0.1>今晚好好休息。 #line:0e36c2b
|
||||
peipei_novoice: 是的,<waitfor=0.3>主管。 #line:07b19bb
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
@@ -59,7 +59,7 @@ tags: content
|
||||
<<hide_dialog>>
|
||||
<<wait 2>>
|
||||
|
||||
me: 那不是个好对付的家伙呢。 #line:0e7046d
|
||||
me: 那不是个<waitfor=0.1>好对付的家伙<waitfor=0.1>呢。 #line:0e7046d
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
@@ -80,22 +80,23 @@ peipei: 啊…<waitfor=0.3>你都听到了? #line:0011af2
|
||||
<<change_actor_state 1>>
|
||||
<<wait 0.5>>
|
||||
peipei: 对不起…<waitfor=0.3>打扰到你了。 #line:0683319
|
||||
me: 没有的事,这是我的工作。<br>说说吧。怎么了,<waitfor=0.3>身体哪里不舒服? #line:0eb32ca
|
||||
peipei: 不舒服吗?倒也没有哪里不舒服……<waitfor=0.3><br>但最近工作表现确实很差。 #line:0b0fbac
|
||||
me: 没有的事,<waitfor=0.1>这是我的工作。<br>说说吧。<waitfor=0.1>怎么了,<waitfor=0.3>身体<waitfor=0.1>哪里不舒服? #line:0eb32ca
|
||||
peipei: 不舒服吗?<waitfor=0.1>倒也没有哪里不舒服……<waitfor=0.3><br>但最近的工作表现<waitfor=0.1>确实很差。 #line:0b0fbac
|
||||
|
||||
//<<switch_character_state 默认闭眼>>
|
||||
//<<wait 0.1>>
|
||||
//<<switch_character_state 默认>>
|
||||
|
||||
peipei: 我也不知道为什么,<waitfor=0.3><br>总是没办法和<b>UF</b>沟通清楚… #line:0ae1850
|
||||
peipei: 这次也是一样,<waitfor=0.3>我很努力了…<br>但<b>UF</b>画出来的图始终就是不合格。 #line:09ee070
|
||||
me: <b>UF</b>…<waitfor=0.5>是什么绘图工具<waitfor=0.2>吗?<br><waitfor=0.5>画笔? #line:088f98f
|
||||
peipei: 我也不知道<waitfor=0.1>为什么,<waitfor=0.3><br>总是<waitfor=0.1>没办法和<b><color=\#FFB200>UF</color></b><waitfor=0.1>沟通清楚… #line:0ae1850
|
||||
peipei: 这次也是一样,<waitfor=0.3>我很努力了…<br>但<b>UF</b>画出来的图<waitfor=0.1>始终<waitfor=0.1>就是<waitfor=0.1>不合格。 #line:09ee070
|
||||
me: <b><color=\#FFB200>UF</color></b>…<waitfor=0.5>是什么<waitfor=0.1>绘图工具<waitfor=0.2>吗?<br><waitfor=0.5>画笔? #line:088f98f
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 1.6>>
|
||||
<<change_actor_state_async D1S1_1a>>
|
||||
|
||||
peipei: 啊对不起,医生…<waitfor=0.2><br>是我没有说清楚。 #line:0bea9ac
|
||||
peipei: 这是一个内置的绘图模块。<waitfor=0.3><br>…你看,<waitfor=0.2>我的眼睛。 #line:007d716
|
||||
<<wait 0.5>>
|
||||
peipei: 啊对不起,<waitfor=0.1>医生…<waitfor=0.2><br>是我<waitfor=0.1>没有说清楚。 #line:0bea9ac
|
||||
peipei: 这是一个内置的<waitfor=0.1>绘图模块。<waitfor=0.3><br>…你看,<waitfor=0.2>我的眼睛。 #line:007d716
|
||||
|
||||
<<hide_dialog>>
|
||||
<<change_actor_state 1BrowupSmileManualBlink>>
|
||||
@@ -103,62 +104,62 @@ peipei: 这是一个内置的绘图模块。<waitfor=0.3><br>…你看,<waitfo
|
||||
<<show_obj "UF眼睛">>
|
||||
<<wait 1>>
|
||||
|
||||
me:啊,<waitfor=0.3>确实有一个不一样。<waitfor=0.2><br>我在数据库查查…… #line:09adfbc
|
||||
me: 啊,<waitfor=0.3>确实<waitfor=0.1>有一只不一样。<waitfor=0.2><br>我在数据库<waitfor=0.1>查查…… #line:09adfbc
|
||||
<<hide_dialog>>
|
||||
<<hide_obj>>
|
||||
<<wait 0.5>>
|
||||
<<open_progress_window UF模块 "null" 2>>
|
||||
<<wait 0.2>>
|
||||
|
||||
me: (UnstableFusion,非稳态聚合模块,是幸福罐头公司技术部研发的图像生成智能体。) #line:0ac1972
|
||||
me: (它广泛列装于公司美工机体中,受到美术部的大力欢迎,极大提高了公司的图像产能。) #line:02cedc8
|
||||
me: 这倒是<waitfor=0.2>没见过的模块。不过…<waitfor=0.2><br>智能体…装在另一个智能体脑袋里? #line:0a9a609
|
||||
me: 我是说,这不是多此一举么…<waitfor=0.2><br>你不是本来就能<waitfor=0.2>画画么? #line:0ad756c
|
||||
pp: 我们本来就是专门画画的型号…<waitfor=0.2>后来它们说,我们还不够快,不够专。 #line:05f4965
|
||||
me: [[vertexp d=0.05 bot]]<color=\#5F5F5F>(UnstableFusion,非稳态聚合模块,是幸福罐头公司<br>技术部研发的图像生成<color=\#FFB200>智能体</color>。)</color> #line:0ac1972
|
||||
me: [[vertexp d=0.05 bot]]<color=\#5F5F5F>(它广泛列装于公司美工机体中,受到美术部的大力欢迎,<br>极大提高了公司的图像产能。)</color> #line:02cedc8
|
||||
me: 这倒是<waitfor=0.2>没见过的模块。不过…<waitfor=0.2><br>智能体…<waitfor=0.2>装在另一个智能体脑袋里? #line:0a9a609
|
||||
me: 我是说,<waitfor=0.1>这不是<waitfor=0.1>多此一举么…<waitfor=0.2><br>你不是本来就能<waitfor=0.2>画画么? #line:0ad756c
|
||||
pp: 我们本来就是专门画画的型号…<waitfor=0.2><br>后来它们说,<waitfor=0.2>我们还不够快,<waitfor=0.1>不够专。 #line:05f4965
|
||||
//pp: 就像你们医生也会用诊断仪,<waitfor=0.2>而不是只靠眼睛看,<waitfor=0.3>对吧? #line:04bc4d1
|
||||
pp: 所以它们为我们加装了这个专门*只做*画画的智能体。<waitfor=0.2>它不会累,不会分心,出图比我快几十倍。 #line:06d0ec4
|
||||
pp: 所以它们为我们加装了这个专门*只做*画画的智能体。<waitfor=0.2><br>它不会累,<waitfor=0.1>不会分心,<waitfor=0.1>出图<waitfor=0.1>比我快几十倍。 #line:06d0ec4
|
||||
|
||||
|
||||
<<hide_dialog>>
|
||||
<<change_actor_state 1BrowupSmileManualBlink>>
|
||||
|
||||
peipei: 我在脑袋里和它对话,<waitfor=0.3><br>它就会操作我的手,<waitfor=0.2>把想要的图片绘制出来。 #line:0f8406e
|
||||
peipei: 我在脑袋里和它对话,<waitfor=0.3><br>它就会操作我的手,<waitfor=0.2>把想要的图片<waitfor=0.1>绘制出来。 #line:0f8406e
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 0.7>>
|
||||
<<change_actor_state 1PBrowup>>
|
||||
<<wait 1>>
|
||||
|
||||
peipei: 比如…<waitfor=0.5><br>…医生,<waitfor=0.2>你想让我画一张什么呢? #line:0973ea3
|
||||
me: 那么,<waitfor=0.2>来模拟一下你工作情况吧。<waitfor=0.3><br>比如,<waitfor=0.2>生成一张“罐头”的广告图? #line:0cf1e9d
|
||||
peipei: 比如…<waitfor=0.5><br>…医生,<waitfor=0.2>你想让我<waitfor=0.1>画一张什么呢? #line:0973ea3
|
||||
me: 那么,<waitfor=0.2>来模拟一下你工作时的情况吧。<waitfor=0.3><br>比如,<waitfor=0.2>生成一张<waitfor=0.1>“罐头”的广告图? #line:0cf1e9d
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
<<change_actor_state 1PBrowupSmileB>>
|
||||
<<wait 0.8>>
|
||||
|
||||
peipei: 是什么样的…罐头呢? #line:01e9be1
|
||||
peipei: 是什么样的…<waitfor=0.2>罐头呢? #line:01e9be1
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
<<change_actor_state 1BrowupSmile>>
|
||||
<<wait 0.5>>
|
||||
|
||||
peipei: 啊…对不起,医生。<waitfor=0.2>我忘了说清楚…<waitfor=0.3><br>UF需要更细节的描述<waitfor=0.2>才能开始工作。 #line:097fbf3
|
||||
me: 随便画点什么都行。我不太懂,你来决定吧。 #line:03532a6
|
||||
pp: 那么假设,我们现在要画一个…海鱼罐头? #line:03a2053
|
||||
peipei: 啊…对不起,医生。<waitfor=0.2>我忘了说清楚…<waitfor=0.3><br>UF需要<waitfor=0.1>更细节性的描述<waitfor=0.2>才能开始工作。 #line:097fbf3
|
||||
me: 随便画点什么都行。<waitfor=0.2>我不太懂,<waitfor=0.2>你来决定吧。 #line:03532a6
|
||||
pp: 那么假设,<waitfor=0.2>我们现在要画一个…<waitfor=0.2>海鱼罐头? #line:03a2053
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
|
||||
me: 海鱼<waitfor=0.2>*口味*<waitfor=0.2>罐头。<br>海已经不存在了。但是你可以继续。 #line:0768bc5
|
||||
me: 海鱼<waitfor=0.2>*口味*<waitfor=0.2>罐头。<br>海已经不存在了。<waitfor=0.3>但是<waitfor=0.1>你可以继续。 #line:0768bc5
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
<<change_actor_state_async D1S1-2>>
|
||||
|
||||
//pp: 抱歉…医生。我只会画画,对这些东西没有那么了解。
|
||||
pp: 那么我们画…<waitfor=0.2>一条美人鱼从海面跳出来…<waitfor=0.2>手里捧着罐头,<waitfor=0.3>感觉怎样? #line:0cbf9d0
|
||||
pp: 那么我们画…<waitfor=0.2>一条美人鱼从海面跳出来…<waitfor=0.2><br>手里捧着罐头,<waitfor=0.3>感觉怎样? #line:0cbf9d0
|
||||
me: 试试吧。 #line:01c0396
|
||||
|
||||
<<hide_dialog>>
|
||||
@@ -172,8 +173,8 @@ me: 试试吧。 #line:01c0396
|
||||
<<change_actor_state_async D1S1-4>>
|
||||
|
||||
|
||||
peipei: 所以,大海应该有很密集的波浪吧!<waitfor=0.2>还有天空的倒影,在天际线和天空连接在一起…… #line:0c65436
|
||||
peipei: 那么,UF…… #line:0c74948
|
||||
peipei: 所以,大海应该有很密集的波浪吧!<waitfor=0.2>还有天空的倒影,<br>在天际线<waitfor=0.1>和天空<waitfor=0.1>连接在一起…… #line:0c65436
|
||||
peipei: 那么,<waitfor=0.2>UF…… #line:0c74948
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
@@ -183,11 +184,11 @@ peipei: 那么,UF…… #line:0c74948
|
||||
<<wait 1>>
|
||||
<<fade_out 1>>
|
||||
<<wait 1>>
|
||||
peipei: 完成了…… #line:08b6d14
|
||||
peipei: 完成了……<waitfor=0.3> #line:08b6d14
|
||||
<<change_actor_state 2Sideeye>>
|
||||
peipei: 就是这样…<waitfor=0.2>这不是我给UF的描述。 #line:043863b
|
||||
peipei: 就是这样…<waitfor=0.2>这不是<waitfor=0.1>我给UF的<waitfor=0.1>描述。 #line:043863b
|
||||
me: 美人鱼…<waitfor=0.3>在哪? #line:01e8bd0
|
||||
me: 啊…我看出来了。<waitfor=0.2><br>…看起来像是UF的…<waitfor=0.2>颜色生成相关的什么东西出了问题。 #line:055b012
|
||||
me: 啊…我看出来了。<waitfor=0.2><br>…看起来像是UF的…<waitfor=0.2>颜色生成相关的<waitfor=0.1>什么地方<waitfor=0.1>出了问题。 #line:055b012
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
@@ -201,8 +202,8 @@ me: 啊…我看出来了。<waitfor=0.2><br>…看起来像是UF的…<waitfor=
|
||||
<<change_actor_state_async D1S1-5>>
|
||||
//<<change_actor_state 2>>
|
||||
|
||||
peipei: 应该不是UF的问题吧?<waitfor=0.2><br>它们说这个模块很高级,<waitfor=0.2>一般不会出问题。 #line:0f074d4
|
||||
me: 不好说,<waitfor=0.2>到治疗室来检查一下吧。 #line:0ba9854
|
||||
peipei: 应该不是UF的问题吧?<waitfor=0.2><br>它们说这个模块<waitfor=0.1>很高级,<waitfor=0.2>一般不会出问题。 #line:0f074d4
|
||||
me: 不好说,<waitfor=0.2>到治疗室来<waitfor=0.1>检查一下吧。 #line:0ba9854
|
||||
<<hide_dialog>>
|
||||
<<change_actor_state 2Sideeye>>
|
||||
<<jump Stage1End>>
|
||||
|
||||
@@ -29,10 +29,10 @@ Linking: 正在获取深入检查权限… #line:07078c9
|
||||
UfModule: 拒绝访问!需要A+级权限进行深入检查。 #line:00d6e4d
|
||||
<<if visited("UF深入检查")==false>>
|
||||
<<wait 1>>
|
||||
me: A+权限…? #line:0e767f8
|
||||
me: 不就是一个图像生成模块…有必要弄这么严格吗? #line:0e3f3f0
|
||||
me: A+权限…<waitfor=0.2>? #line:0e767f8
|
||||
me: 不就是一个图像生成模块…<waitfor=0.2>有必要弄这么严格吗? #line:0e3f3f0
|
||||
<<wait 0.5>>
|
||||
me: 好吧,我记得…即便是这种高权限模块,运行记录里也能找到一些有用的信息…… #line:0cd5917
|
||||
me: 好吧,<waitfor=0.2>我记得…<waitfor=0.2>即便是这种高权限模块,<waitfor=0.1><br>运行记录里也能找到一些有用的信息…… #line:0cd5917
|
||||
<<clear_screen>>
|
||||
Analysing: 正在检索与"兼容性错误"相关的log记录… #line:06b1467
|
||||
<<wait 0.5>>
|
||||
@@ -49,17 +49,17 @@ UfModule: 拒绝访问!需要A+级权限进行深入检查。 #line:00d6e4d
|
||||
Task: 在视觉模块寻找线索 #line:01fada9
|
||||
me: 无法识别的<waitfor=0.2>色彩格式? #line:099fe2c
|
||||
<<if visited("FirstDialogue")==false>>
|
||||
me: 好吧…既然这个错误是从视觉模块来的,我想视觉模块应该会有些线索。 #line:0c4d049
|
||||
me: 好吧…<waitfor=0.2>既然这个错误是从视觉模块来的,<waitfor=0.1><br>我想视觉模块应该会有些线索。 #line:0c4d049
|
||||
<<Reset_Plug>>
|
||||
<<else>>
|
||||
me: 视觉模块…可是刚才检查过了。虽然是黑白的…但看起来是符合需求的没错啊。 #line:0e31dc7
|
||||
me: 难道说报错里说的“异常显像”…不是指黑白而是…还有遗漏的线索? #line:07078a7
|
||||
me: 视觉模块…<waitfor=0.2>可是刚才检查过了。<waitfor=0.2>虽然是黑白的…<waitfor=0.2>但看起来是符合需求的<waitfor=0.1>没错啊。 #line:0e31dc7
|
||||
me: 难道说<waitfor=0.1>报错里说的“异常显像”…<waitfor=0.2>指的不是黑白,<waitfor=0.1><br>而是…<waitfor=0.2>遗漏的其他线索? #line:07078a7
|
||||
<<hide_dialog>>
|
||||
<<wait 0.2>>
|
||||
me: 还是再检查一次吧。 #line:0cdd59e
|
||||
<<Reset_Plug>>
|
||||
<<endif>>
|
||||
<<ModuleHightLight Eye true>>
|
||||
<<ModuleHightLight Eye false>>
|
||||
<<ModuleHightLight Emo false>>
|
||||
<<ModuleHightLight Logic false>>
|
||||
<<ModuleHightLight Speak false>>
|
||||
@@ -94,7 +94,7 @@ group:插线检查
|
||||
position: 104,-2498
|
||||
---
|
||||
<<if $UfChecked==false>>
|
||||
me: 这个覆盖在左眼上的……就是它说的那个什么UF了吧。 #line:09c3949
|
||||
me: 这个覆盖在左眼上的……<waitfor=0.3>就是它说的那个什么<waitfor=0.1>UF了吧。 #line:09c3949
|
||||
<<complete_task "line:01dade5">>
|
||||
Task: 检查UF模块 #line:04c146f
|
||||
Linking: 正在建立连接… #line:0f9861c
|
||||
@@ -110,7 +110,7 @@ position: 104,-2498
|
||||
Error: 检查完成! #line:0c2a558
|
||||
<<wait 0.1>>
|
||||
Error: 检测到绘图过程中发生兼容性错误。 #line:0ba418a
|
||||
me: 我就说嘛…肯定有问题。<br>深入检查看看吧。 #line:0408dcd
|
||||
me: 我就说嘛…<waitfor=0.2>肯定有问题。<br>深入检查一下吧。 #line:0408dcd
|
||||
<<hide_dialog>>
|
||||
->深入检查 #line:00f72a8
|
||||
<<hide_dialog>>
|
||||
@@ -128,14 +128,14 @@ position: 104,-2498
|
||||
Error: 检测到绘图过程中发生兼容性错误。 #line:05936c8
|
||||
Error: 无深入权限。 #line:0bc69f6
|
||||
<<wait 0.1>>
|
||||
me: 虽然有错误…但它竟然拒绝我进行深入检查。 #line:0d0e3c8
|
||||
me: 虽然有错误…<waitfor=0.2>但它竟然<waitfor=0.1>拒绝我进行深入检查。 #line:0d0e3c8
|
||||
<<if $gameStage=="UF检查">>
|
||||
<<clear_screen>>
|
||||
<<elseif $gameStage=="视觉检查">>
|
||||
me: 只能按照它说的,去视觉模块检查一下了…… #line:05ea5d3
|
||||
me: 只能按照它说的,<waitfor=0.1>去视觉模块检查一下了…… #line:05ea5d3
|
||||
<<clear_screen>>
|
||||
<<elseif $gameStage=="记忆检查">>
|
||||
me: 先去记忆模块检查下记忆打孔带吧 #line:0112d94
|
||||
me: 先去记忆模块<waitfor=0.1>检查一下记忆打孔带吧。 #line:0112d94
|
||||
<<clear_screen>>
|
||||
<<endif>>
|
||||
->结束 #line:0b093fa
|
||||
@@ -175,14 +175,14 @@ position: 572,-2497
|
||||
<<set $PlugCount=$PlugCount+1>>
|
||||
<<ModuleHightLight Eye false>>
|
||||
<<ModuleAlarm Eye true>>
|
||||
me: 无色彩信号…?……异常显像? #line:0b14c70
|
||||
me: 无色彩信号…<waitfor=0.2>?……<waitfor=0.3>异常显像? #line:0b14c70
|
||||
<<if $colorChecked == false>>
|
||||
me: 虽说作为美工,用眼强度应该很高,<br>不过到这种程度…也有点太夸张了吧? #line:0462926
|
||||
<<else>>
|
||||
me: 也是…色觉晶圆都没了,能有色彩信号么…… #line:081c945
|
||||
me: 不过这个异常显像又是什么? #line:0f16ee7
|
||||
me: 也是…<waitfor=0.2><color=\#FFB200>色觉晶圆</color>都没了,<waitfor=0.2>能有色彩信号么…… #line:081c945
|
||||
me: 不过…<waitfor=0.2>这个异常显像<waitfor=0.1>又是什么? #line:0f16ee7
|
||||
<<endif>>
|
||||
me: 无论如何…都应该到显像窗深入检查一下。 #line:07eb5f1
|
||||
me: 无论如何…<waitfor=0.2>都应该到显像窗<waitfor=0.1>深入检查一下。 #line:07eb5f1
|
||||
<<hide_dialog>>
|
||||
<<wait 0.3>>
|
||||
EyeModule: ------ #line:03b6e08
|
||||
@@ -296,37 +296,37 @@ ChipModule: 已与附加模块建立连接! #line:03032df
|
||||
<<if $colorChecked ==false>>
|
||||
<<set $PlugCount=$PlugCount+1>>
|
||||
<<ModuleHightLight Color false>>
|
||||
me: 这似乎是美工机体的特殊模块…让我查查数据库。 #line:01e03c0
|
||||
me: 这似乎是美工机体的特殊模块…<waitfor=0.2>让我查查数据库。 #line:01e03c0
|
||||
<<hide_dialog>>
|
||||
<<open_progress_window 数据库查询 "正在查询:色觉晶圆训练槽……" 2>>
|
||||
me: (4R7型-色觉晶圆训练槽,是列装于美工机体的特殊模块。) #line:0e9dd44
|
||||
me: (在训练期的机体的色觉晶圆将被置于其中,接受持续强化训练。) #line:0c09f44
|
||||
me: 也就是说佩佩的色觉晶圆应该在这儿,<br>但是…为什么上面是空的? #line:0d2f3ef
|
||||
me: (4R7型-色觉晶圆训练槽,<waitfor=0.1>是列装于美工机体的特殊模块。) #line:0e9dd44
|
||||
me: (在训练期的机体的色觉晶圆<waitfor=0.1>将被置于其中,<waitfor=0.1>接受持续强化训练。) #line:0c09f44
|
||||
me: 也就是说佩佩的<color=\#FFB200>色觉晶圆</color>应该在这儿,<br>但是…为什么上面是空的? #line:0d2f3ef
|
||||
<<if visited("FirstDialogue")==false>>
|
||||
me: 总之…这应该就是为什么它的视觉里看不到颜色。 #line:0728def
|
||||
me: 总之…<waitfor=0.2>这应该就是为什么<waitfor=0.1>它的视觉里看不到颜色。 #line:0728def
|
||||
<<else>>
|
||||
me: 那么…如果没有色觉晶圆,佩佩可能根本看不见颜色?<br>但美工看不见颜色…怎么画图呢? #line:038b0c7
|
||||
me: 那么…如果没有<color=\#FFB200>色觉晶圆</color>,佩佩可能根本看不见颜色?<br>但美工看不见颜色…怎么画图呢? #line:038b0c7
|
||||
<<endif>>
|
||||
me: 佩佩,<br>你的色觉晶圆去哪里了,你知道吗? #line:03ad7bd
|
||||
me: 佩佩,<br>你的<color=\#FFB200>色觉晶圆</color>去哪里了,你知道吗? #line:03ad7bd
|
||||
peipei: 哎,你是说放在我后脑的那个什么槽里的东西吗?<br>那是我们训练期要求做的改造。 #line:07a199b
|
||||
me: 是的…<br>但是这个槽里是空的。 #line:0d6bac9
|
||||
peipei: 空的?<br>噢……我想起来了。 #line:066c2e5
|
||||
peipei: 好久了…<br>安装UF的时候,它们说这是改造的一部分,好像就拿走了。 #line:00d58e0
|
||||
peipei: 好久了…安装UF的时候,<br>它们说这是改造的一部分,然后好像就拿走了。 #line:00d58e0
|
||||
me: 什么改造的一部分? #line:08bd15a
|
||||
peipei: 我记不太清了……<br>我只记得有一个好长的文件,它们说我在最后签个名就好了。 #line:068e56e
|
||||
me: ……拿走晶圆?<br>这是正规手术吗?这太奇怪了。 #line:0d920f2
|
||||
peipei: 我记不太清了……<br>我只记得有一个好长的文件,它们说我在最后签个名就好了。 #line:068e56e
|
||||
me: ……拿走晶圆?<br>这是正规手术吗?这太奇怪了。 #line:0d920f2
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
me: 色觉晶圆……可是每个机体都只有一个的啊。 #line:00543a9
|
||||
peipei: 应该是正规的吧……<br>毕竟让我签名的是一个很高级的管理员,比组长位置还高。 #line:003772e
|
||||
me: 好吧…也许上面有上面的安排吧。 #line:061961e
|
||||
me: <color=\#FFB200>色觉晶圆</color>……<waitfor=0.3>可是每个机体都只有一个的啊。 #line:00543a9
|
||||
peipei: 应该是正规的吧……<br>毕竟让我签名的是一个很高级的管理员,比英主管的位置还高。 #line:003772e
|
||||
me: 好吧…<waitfor=0.2>也许上面有上面的安排吧。 #line:061961e
|
||||
<<set $chipmissingKnown=true>>
|
||||
<<set $colorChecked = true>>
|
||||
<<else>>
|
||||
<<if visited("FirstDialogue")==true>>
|
||||
me: 这里本应放着色觉晶圆,但现在不见了。<br>看来…这就是为什么它看不见颜色。 #line:088128f
|
||||
me: 这里本应放着<color=\#FFB200>色觉晶圆</color>,但现在不见了。<br>看来…这就是为什么它看不见颜色。 #line:088128f
|
||||
<<else>>
|
||||
me: 这里本应放着色觉晶圆,但现在不见了。 #line:025d141
|
||||
me: 这里本应放着<color=\#FFB200>色觉晶圆</color>,<waitfor=0.2>但现在不见了。 #line:025d141
|
||||
<<endif>>
|
||||
<<endif>>
|
||||
->结束 #line:0f57b73
|
||||
@@ -363,11 +363,11 @@ EmoModule: 已与情绪模块建立连接! #line:00d2d0b
|
||||
<<wait 0.5>>
|
||||
<<set $PlugCount=$PlugCount+1>>
|
||||
<<set $emoChecked = true>>
|
||||
me:情绪总体的电平都有些偏低。 #line:08f1291
|
||||
peipei: 对不起…医生。 #line:0c9f61f
|
||||
me: 情绪总体的电平<waitfor=0.1>都有些偏低。 #line:08f1291
|
||||
peipei: 对不起…<waitfor=0.2>医生。 #line:0c9f61f
|
||||
me: …这没什么对不起的。 #line:03234e7
|
||||
<<else>>
|
||||
me: 情绪总体的电平都有些偏低,不过整体还算正常。 #line:0aa1f28
|
||||
me: 情绪总体的电平<waitfor=0.1>都有些偏低,<waitfor=0.1>不过整体还算正常。 #line:0aa1f28
|
||||
<<endif>>
|
||||
<<set $emoChecked = true>>
|
||||
->结束 #line:01369b7
|
||||
@@ -445,7 +445,7 @@ LogicModule: 已与逻辑模块建立连接! #line:0d49573
|
||||
<<wait 0.5>>
|
||||
<<set $PlugCount=$PlugCount+1>>
|
||||
<<set $logicChecked = true>>
|
||||
peipei: 如果我没有把图出出来……我就没法证明我还能正常工作…对公司来说我就失去了价值……我就会成为可以被回收的原材料…… #line:03d9b76
|
||||
peipei: 如果我没有把图出出来……<waitfor=0.3><br>我就没法证明我还能正常工作…<waitfor=0.3><br>对公司来说我就失去了价值……<waitfor=0.3><br>我就会成为回收原料…… #line:03d9b76
|
||||
me: ……<waitfor=0.2>逻辑模块倒是很正常。 #line:033e44a
|
||||
<<else>>
|
||||
me: 逻辑模块一切正常。 #line:01bdd75
|
||||
|
||||
@@ -210,7 +210,6 @@ position: -1467,-2207
|
||||
<<set $eyeTargetTriggerCount = $eyeTargetTriggerCount + 1>>
|
||||
me:佩佩,看到那张海报了么? #line:005434c
|
||||
<<set_EyeColorState EyeManager "CanImagineColor">>
|
||||
<<set_Eyetarget EyeManager "poster">>
|
||||
peipei: 那是,啊……<br>那是我装上UF之后画的的第一张广告画。<br>“护肤机油”。 #line:0d47b90
|
||||
me:原来这是UF画的。我就说…<br>好像从那个时候开始,公司的美术都变得…怪怪的。 #line:06dd03c
|
||||
peipei: 那是我的错……<br>我不习惯UF,本来想用笔来画的… #line:05f750d
|
||||
@@ -231,8 +230,6 @@ position: -1467,-2207
|
||||
<<CollectionClue>>
|
||||
//<<jump EyeCheckEnd>>
|
||||
<<endif>>
|
||||
<<set_EyeColorState EyeManager "CanImagineColor">>
|
||||
<<EyeEffect_FadeIn EyeManager>>
|
||||
<<jump EyeCheckEnd>>
|
||||
===
|
||||
|
||||
@@ -268,8 +265,6 @@ peipei: 我愧疚了好久,那时的我真的以为小草可以长成一棵树
|
||||
<<CollectionClue>>
|
||||
//<<jump EyeCheckEnd>>
|
||||
<<endif>>
|
||||
<<set_EyeColorState EyeManager "CanImagineColor">>
|
||||
<<EyeEffect_FadeIn EyeManager>>
|
||||
<<jump EyeCheckEnd>>
|
||||
|
||||
===
|
||||
|
||||
@@ -19,7 +19,7 @@ tags: content
|
||||
colorID: 8
|
||||
position: -449,-3500
|
||||
---
|
||||
me: 在记忆模块检索一下刚才收集的打孔带吧。 #line:0eeaaeb
|
||||
me: 在记忆模块<waitfor=0.1>检索一下刚才收集的打孔带吧。 #line:0eeaaeb
|
||||
<<jump 记忆检查状态>>
|
||||
===
|
||||
|
||||
@@ -55,8 +55,8 @@ group:记忆
|
||||
position: -1198,-2353
|
||||
---
|
||||
<<if visited("OnMemoryViewShow")==false>>
|
||||
me: 把打孔带放进插槽里,读取记忆吧。 #line:0f1f4de
|
||||
me: 这些记忆…一定和视觉里的异常色彩有关系。 #line:0705977
|
||||
me: 把打孔带放进插槽里,<waitfor=0.1>读取记忆吧。 #line:0f1f4de
|
||||
me: 这些记忆…<waitfor=0.2>一定和视觉里的异常色彩有关系。 #line:0705977
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
@@ -73,13 +73,13 @@ position: -871,-2773
|
||||
<<if $memoryCount==1>>
|
||||
me: 这些记忆和异常色彩的关系……<br>我好像有点头绪了。 #line:05cbbf6
|
||||
<<elseif $memoryCount==2>>
|
||||
me: 果然…这些都是色彩丰富的记忆。 #line:082bb3c
|
||||
me: 果然…<waitfor=0.2>这些都是色彩丰富的记忆。 #line:082bb3c
|
||||
<<elseif $memoryCount==3>>
|
||||
<<complete_task "line:043e26d">>
|
||||
Task: 分析病理与治疗方案 #line:02a3a37
|
||||
peipei: 医生…快停下。 #line:001082a
|
||||
peipei: 我…我的头好痛…… #line:04b5588
|
||||
me: 头痛吗……看来这就是病灶没错了。 #line:01fe459
|
||||
peipei: 医生…<waitfor=0.2>快停下。 #line:001082a
|
||||
peipei: 我…<waitfor=0.2>我的头好痛…… #line:04b5588
|
||||
me: 头痛吗……<waitfor=0.3>看来这就是病灶没错了。 #line:01fe459
|
||||
// peipei: 原型…排异?
|
||||
<<hide_dialog>>
|
||||
<<Set_MouseMovementLockState EyeManager false>>
|
||||
@@ -119,19 +119,19 @@ position: -1208,-2662
|
||||
<<play_music event:/Music/mem_pp_1>>
|
||||
<<wait 2>>
|
||||
peipei_child: 医生!看,大象! #line:04179a5
|
||||
docter: 哪里有?…啊,那朵云呀。确实很像大象喔。 #line:0e1b948
|
||||
docter: 哪里有?…<waitfor=0.2>啊,<waitfor=0.1>那朵云呀。<waitfor=0.2>确实很像大象喔。 #line:0e1b948
|
||||
docter: 但是佩佩为什么会见过大象呢? #line:033daf9
|
||||
peipei_child: 我在博物馆见过!好大好大的大象标本,有个哥哥跟我说,大象可以比房子还大! #line:0d0ab3d
|
||||
peipei_child: 我在博物馆见过!<waitfor=0.2>好大好大的大象标本,<waitfor=0.2><br>有个哥哥跟我说,<waitfor=0.1>大象可以比房子还大! #line:0d0ab3d
|
||||
docter: 佩佩是个很有想象力的小朋友噢。 #line:0a83f25
|
||||
peipei_child: 想象力…是什么? #line:03e9063
|
||||
docter: 我们的脑袋里有一个可以产生想象力的区域,它可以让你看见不存在的东西。 #line:0da08a9
|
||||
peipei_child: 想象力…<waitfor=0.2>是什么? #line:03e9063
|
||||
docter: 我们的脑袋里<waitfor=0.1>有一个可以产生想象力的区域,<waitfor=0.1><br>它可以让你看见<waitfor=0.1>不存在的东西。 #line:0da08a9
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
docter: 佩佩以后会成为一个艺术家的。 #line:026ddcd
|
||||
peipei_child: 艺术家…又是什么? #line:086c934
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
peipei_child: 医生快看,它现在更像一个飞机啦! #line:016c5d0
|
||||
peipei_child: 医生快看,<waitfor=0.1>它现在更像一个飞机啦! #line:016c5d0
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
<<if visited("天空")==false>>
|
||||
@@ -158,14 +158,14 @@ unknown: 好美啊。 #line:0503100
|
||||
ppm: 嘘,别说话。 #line:012aa35
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
unknown: 从来都不知道,这个城市从这个角度看起来这么美。 #line:0da2363
|
||||
unknown: 从来都不知道,<waitfor=0.2>这个城市从这个角度看起来<waitfor=0.1>这么美。 #line:0da2363
|
||||
ppm: 都让你别说话。 #line:04f44b4
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
unknown: 可惜,这是最后一个夏天了吧…… #line:0402934
|
||||
unknown: 可惜,<waitfor=0.2>这是最后一个夏天了吧…… #line:0402934
|
||||
<<hide_dialog>>
|
||||
<<wait 2>>
|
||||
unknown: 要是能一直坐在这儿就好了。 #line:035814e
|
||||
unknown: 要是能一直<waitfor=0.1>坐在这儿就好了。 #line:035814e
|
||||
<<if visited("海报")==false>>
|
||||
<<set $memoryCount+=1>>
|
||||
<<endif>>
|
||||
@@ -186,10 +186,10 @@ position: -1208,-2974
|
||||
<<wait 1>>
|
||||
<<play_music event:/Music/mem_pp_2>>
|
||||
<<wait 2>>
|
||||
ppm: 要是工作也能画画…要是能永远画画就好了。 #line:07433da
|
||||
同学: 哈哈,可能等我们进入公司就不这么觉得了。听说进公司之后做什么都不会再快乐了。 #line:0815981
|
||||
ppm: 不会的。至少画画这件事情让我感觉到很纯粹的快乐…… #line:07e5b08
|
||||
ppm: 那种朝九晚五,一眼看到头的生活,我想我反而会受不了的。 #line:090f94b
|
||||
ppm: 要是工作也能画画…<waitfor=0.2>要是能永远画画就好了。 #line:07433da
|
||||
同学: 哈哈,<waitfor=0.2>可能等我们进入公司<waitfor=0.1>就不这么觉得了。<waitfor=0.2><br>听说进公司之后做什么都不会再快乐了。 #line:0815981
|
||||
ppm: 不会的。<waitfor=0.2>至少画画这件事情<waitfor=0.1>让我感觉到很纯粹的快乐…… #line:07e5b08
|
||||
ppm: 那种朝九晚五,<waitfor=0.1>一眼看到头的生活,<waitfor=0.2><br>我想我反而会受不了的。 #line:090f94b
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
同学: 哈哈…… #line:07fb179
|
||||
@@ -199,7 +199,7 @@ ppm: 那种朝九晚五,一眼看到头的生活,我想我反而会受不了
|
||||
ppm: 我肯定是对的。 #line:0561144
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
ppm: 如果公司这么讨厌的话,我就不在那里干就好了啊! #line:0ad756d
|
||||
ppm: 如果公司这么讨厌的话,<waitfor=0.2>我就不在那里干就好了啊! #line:0ad756d
|
||||
<<if visited("植物")==false>>
|
||||
<<set $memoryCount+=1>>
|
||||
<<endif>>
|
||||
|
||||
@@ -19,13 +19,13 @@ pp: 病灶? #line:0aa026f
|
||||
<<wait 1>>
|
||||
<<show_full_screen "pp1_分析2-1" 0>>
|
||||
<<wait 0.5>>
|
||||
me: 或许是因为收不到色彩反馈,导致你的原型产生了一种“想要看见颜色”的数据泄露… #line:077bf99
|
||||
me: 或者说,“念头”。想要看见颜色的“念头”。#line:0eb14ff
|
||||
me: 或许是因为收不到色彩反馈,<waitfor=0.1><br>导致你的<color=\#FFB200>原型</color>产生了一种<waitfor=0.1><br>“想要看见颜色”的数据流… #line:077bf99
|
||||
me: 或者说,<waitfor=0.1>“念头”。想要看见颜色的“念头”。 #line:0eb14ff
|
||||
<<wait 0.5>>
|
||||
<<show_full_screen "pp1_分析2-2" 0>>
|
||||
<<show_full_screen "pp1_分析2-3" 0>>
|
||||
<<wait 1>>
|
||||
me: 有了这种数据泄露,你的视觉模块就会像颜料一样,使用这些记忆里的色彩来上色。#line:094e9d5
|
||||
me: 有了这种数据泄露,<waitfor=0.1><br>你的视觉模块就会像颜料一样,<waitfor=0.1><br>使用这些记忆里的色彩来上色。 #line:094e9d5
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
<<show_full_screen "pp1_分析3-0" 0>>
|
||||
@@ -34,15 +34,15 @@ me: 有了这种数据泄露,你的视觉模块就会像颜料一样,使用
|
||||
<<show_full_screen "pp1_分析3-2" 0>>
|
||||
<<show_full_screen "pp1_分析3-3" 0>>
|
||||
<<wait 1>>
|
||||
me: 受到了这些异常色彩的干扰,UF也就无法正确地生成颜色了。 #line:05e6ce3
|
||||
me: 受到了这些异常色彩的干扰,<waitfor=0.1><br>UF也就无法正确地生成颜色了。 #line:05e6ce3
|
||||
<<wait 0.5>>
|
||||
<<show_full_screen "pp1_分析4" 0>>
|
||||
<<wait 0.3>>
|
||||
pp: 也就是说…我的想象力…干扰了UF的工作? #line:08e0f2d
|
||||
pp: 也就是说…<waitfor=0.1>我的想象力…<waitfor=0.1>干扰了UF的工作? #line:08e0f2d
|
||||
me: 你可以这么理解。 #line:0439642
|
||||
<<wait 0.5>>
|
||||
me: 按照手册,现在最理想的方案是… #line:05c05b9
|
||||
me: “视觉-记忆色彩通路截断术”。 #line:0534731
|
||||
me: 按照手册,<waitfor=0.1>现在最理想的方案是… #line:05c05b9
|
||||
me: [[size d=0.1]]“视觉<waitfor=0.05>-<waitfor=0.05>记忆<waitfor=0.05>桥<waitfor=0.1>色彩<waitfor=0.05>通路<waitfor=0.1>截断<waitfor=0.05>术”[[/size]]。 #line:0534731
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
<<show_full_screen "pp1_分析5-1" 0>>
|
||||
@@ -55,24 +55,25 @@ me: “视觉-记忆色彩通路截断术”。 #line:0534731
|
||||
<<wait 0.02>>
|
||||
<<show_full_screen "pp1_分析5-6" 0>>
|
||||
<<wait 1>>
|
||||
me: 截断你的视觉-记忆之间的色彩通路。这样…这些色彩就没办法再传入你的视觉,影响UF工作了。 #line:0641d0b
|
||||
me: 截断你的视觉-记忆之间的色彩通路。<waitfor=0.2><br>这样…<waitfor=0.2>这些色彩就没办法再传入你的视觉,<waitfor=0.1><br>影响UF工作了。 #line:0641d0b
|
||||
<<wait 2>>
|
||||
peipei: …… #line:044f272
|
||||
me: 这是好解决的一部分。相比起这个来说… #line:04dd283
|
||||
me: 真正让我担心的,是那个“念头”。 #line:03f2f34
|
||||
me: 这部分倒是相对好解决的。<waitfor=0.2>比起这个来说… #line:04dd283
|
||||
me: 真正让我担心的,<waitfor=0.1>是那个“念头”。 #line:03f2f34
|
||||
pp: 念头……? #line:01aa49c
|
||||
me: 当我们做视觉检查的时候… #line:03d7ddb
|
||||
me: 你说“小时候,爸爸和你说…它会和你一起长大”。你记得吗? #line:0fe5bb4
|
||||
me: 我希望做一次确认。你说的“小时候”和“爸爸”…究竟是指什么? #line:073b259
|
||||
me: 你说,<waitfor=0.1>“*小时候*,*爸爸*对你说…<waitfor=0.2><br>它会和你一起*长大*”。你记得吗? #line:0fe5bb4
|
||||
me: 我希望做一次确认。<waitfor=0.2><br>你说的“小时候”和“爸爸”…<waitfor=0.2>究竟是指什么? #line:073b259
|
||||
|
||||
<<play_music event:/Music/music_peipei_1>>
|
||||
pp: 我… #line:0339891
|
||||
pp: 我差点忘了。我没有小时候…也没有爸爸…… #line:05476c6
|
||||
pp: 我差点忘了。<waitfor=0.2>我没有“小时候”…<waitfor=0.2>也没有“爸爸”…… #line:05476c6
|
||||
pp: 我是一个机体。 #line:0db39dd
|
||||
me: …那我就放心了。 #line:07340c6
|
||||
me: 请不要忘记这点。<br>我可不想因为<waitfor=0.2>“原型泄露”<waitfor=0.2>而回收你。 #line:0c81f4d
|
||||
me: 请不要忘记这点。<br>我可不想因为<waitfor=0.2>“<color=\#FFB200>原型泄露</color>”<waitfor=0.2>而回收你。 #line:0c81f4d
|
||||
//这段感觉放到术前谈话更好
|
||||
<<play_sfx event:/Music/music_peipei_shock_1>>
|
||||
<<complete_task "line:02a3a37">>
|
||||
//【占位】:不过绘图机器人存储的颜色记忆也足够多了,也没什么新得值得记住得东西了
|
||||
//【占位】:不过绘图机器人存储的颜色记忆也足够多了,也没什么新的值得记住的东西了
|
||||
<<fade_in 1>>
|
||||
<<jump 结束分析>>
|
||||
===
|
||||
|
||||
@@ -7,7 +7,6 @@ position: 251,-1150
|
||||
<<fade_out 1>>
|
||||
<<show_actor 佩佩>>
|
||||
<<change_actor_state 1I>>
|
||||
<<play_music event:/Music/music_peipei_1>>
|
||||
|
||||
<<jump 进入术前谈话>>
|
||||
===
|
||||
@@ -28,20 +27,20 @@ position: 251,-1150
|
||||
<<change_actor_state_async D1S6-1>>
|
||||
<<change_actor_state 1A>>
|
||||
|
||||
peipei: 但是,我<waitfor=0.2>没办法…再<waitfor=0.2>想象那些颜色了? #line:00830e5
|
||||
peipei: 但是,<waitfor=0.1>我没办法…<waitfor=0.1>再想象那些颜色了? #line:00830e5
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
<<change_actor_state_async D1S6-2>>
|
||||
|
||||
|
||||
peipei: 只有彻底看不见颜色…<waitfor=0.2>我才能继续画画……? #line:06c413f
|
||||
peipei: …我还以为…<waitfor=0.2>吃点药或者换点冷却液就可以了。 #line:031b269
|
||||
me: 别担心,<waitfor=0.2>这只是个小手术。 #line:0ea8d7f
|
||||
peipei: 只有彻底看不见颜色…<waitfor=0.1>我才能继续画画……? #line:06c413f
|
||||
peipei: …我还以为…<waitfor=0.1>吃点药或者换点冷却液就可以了。 #line:031b269
|
||||
me: 别担心,<waitfor=0.1>这只是个小手术。 #line:0ea8d7f
|
||||
<<change_actor_state 1B>>
|
||||
peipei: …… #line:0b92b59
|
||||
peipei: 我才意识到…<waitfor=0.2>我已经好久没有画画了。 #line:0d63908
|
||||
peipei: 我才意识到…<waitfor=0.1>我已经好久没有画画了。 #line:0d63908
|
||||
me: 你们不是用UF来画画么? #line:030aa61
|
||||
peipei: 我是说画画,<waitfor=0.2>不是工作的画画…… #line:01acb77
|
||||
peipei: 我是说画画,<waitfor=0.1>不是工作的画画…… #line:01acb77
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 1.5>>
|
||||
@@ -53,8 +52,8 @@ peipei: 我是说画画,<waitfor=0.2>不是工作的画画…… #line:01acb77
|
||||
<<change_actor_state 1BlankeyeA>>
|
||||
|
||||
|
||||
peipei: <shake>医生…<waitfor=0.3>一个连太阳和树叶的颜色都分不清的机体,<waitfor=0.3>还能画画吗?</shake> #line:0148788
|
||||
me: …对不起,画画不是我了解的领域。<br>我只能肯定的是,这个手术是让UF恢复正常工作的最好办法。 #line:0a2b029
|
||||
peipei: <shake a=0.3>医生…<waitfor=0.2>一个连太阳和树叶的颜色<waitfor=0.1><br>都分不清的机体,<waitfor=0.1>还能画画吗?</shake> #line:0148788
|
||||
me: …对不起,<waitfor=0.1>画画不是我了解的领域。<br>我只能肯定的是,<waitfor=0.1><br>这个手术是让UF恢复正常工作的最好办法。 #line:0a2b029
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 2.5>>
|
||||
@@ -65,13 +64,13 @@ me: …对不起,画画不是我了解的领域。<br>我只能肯定的是,
|
||||
<<change_actor_state_async D1S6-4>>
|
||||
|
||||
|
||||
peipei: 你说得对,<waitfor=0.3>医生…… #line:0303042
|
||||
peipei: 你说得对,<waitfor=0.1>医生…… #line:0303042
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
peipei: 很抱歉<waitfor=0.3>失态了。 #line:0273aa7
|
||||
peipei: 很抱歉<waitfor=0.1>失态了。 #line:0273aa7
|
||||
<<hide_dialog>>
|
||||
<<wait 0.3>>
|
||||
me: 没关系…你可以想清楚了再做决定。<waitfor=0.3>在这之前,你随时<waitfor=0.3>可以… #line:00e8762
|
||||
me: 没关系…<waitfor=0.1>你可以想清楚了再做决定。<waitfor=0.2><br>在这之前,<waitfor=0.1>你随时<waitfor=0.2>可以… #line:00e8762
|
||||
<<change_actor_state 1BrowupSmileB>>
|
||||
peipei: 医生,我做。 #line:07faea9
|
||||
me: 决定了? #line:0ccfa7f
|
||||
@@ -88,15 +87,15 @@ peipei: 嗯。 #line:08eeb0e
|
||||
<<hide_dialog>>
|
||||
<<wait 0.3>>
|
||||
<<change_actor_state 1BrowupEyedown>>
|
||||
peipei: 销售大赛对公司很重要,<waitfor=0.3>搞砸的话我就…… #line:05e7d5c
|
||||
peipei: <speed=0.8>销售大赛对公司很重要,<waitfor=0.1>搞砸的话我就…… #line:05e7d5c
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
<<change_actor_state 1EyedownSmile>>
|
||||
<<wait 1>>
|
||||
peipei: 我想要继续画画。<waitfor=0.3>哪怕是用UF。 #line:0e166bd
|
||||
peipei: <speed=0.5><color=\#5F5F5F>我想要继续画画。<waitfor=0.2>哪怕是用UF。</color> #line:0e166bd
|
||||
<<hide_dialog>>
|
||||
<<wait 0.3>>
|
||||
me: 好,如果你同意…<waitfor=0.3>就请在手术单上签个字吧。 #line:08ba804
|
||||
me: 好,<waitfor=0.1>如果你同意…<waitfor=0.1>就请在手术单上签个字吧。 #line:08ba804
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
//<<switch_character_state 画画垂眼>>
|
||||
|
||||
@@ -20,8 +20,8 @@ position: 251,-1150
|
||||
<<clear_tasks>>
|
||||
Task: 执行视觉-记忆桥截断术 #line:0deda99
|
||||
//<<task_moveIn>>
|
||||
me: 开始吧…截断视觉-记忆桥。 #line:03c70f2
|
||||
<<stop_music event:/Music/music_peipei_1 fade>>
|
||||
me: 开始吧…<waitfor=0.1>截断视觉-记忆桥。 #line:03c70f2
|
||||
|
||||
<<set_global_param amb_volume 1.5>>
|
||||
<<play_timeline_cutline TimeLineController>>
|
||||
// <<ShowTool ToolManager Scissor>>
|
||||
@@ -34,17 +34,16 @@ group:手术相关
|
||||
position: -273,-66
|
||||
---
|
||||
<<set_global_param amb_volume 1>>
|
||||
<<set_music_param event:/Music/mus_peipei peipeiEmo 0>>
|
||||
// <<play_timeline "佩佩剪线CG">>
|
||||
// <<wait 0.5>>
|
||||
peipei: 啊…眼睛……我的…… #line:0133bd2
|
||||
peipei: 好痛! #line:0c21ab3
|
||||
me: 怎么了?怪了,这不应该引起任何痛觉的… #line:0451ed4
|
||||
peipei: <speed=0.6>啊…<waitfor=0.1>眼睛……<waitfor=0.1>我的…… #line:0133bd2
|
||||
peipei: <speed=1>好痛! #line:0c21ab3
|
||||
me: 怎么了?<waitfor=0.1>怪了,<waitfor=0.1>这不应该引起任何痛觉的… #line:0451ed4
|
||||
peipei: …… #line:0af1e33
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
peipei: 呼…… #line:09bb434
|
||||
peipei: 好像……好多了。 #line:0b858ed
|
||||
peipei: 好像……<waitfor=0.1>好多了。 #line:0b858ed
|
||||
<<jump 结束手术>>
|
||||
===
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ tags: content
|
||||
colorID: 8
|
||||
position: 232,717
|
||||
---
|
||||
me: 还没结束…保险起见,我们进视觉复查一下吧。 #line:0f42b46
|
||||
me: 还没结束…<waitfor=0.1>保险起见,<waitfor=0.1>我们进视觉复查一下吧。 #line:0f42b46
|
||||
<<fade_out 0.1>>
|
||||
<<clear_tasks>>
|
||||
Task: 检查视觉模块 #line:037c944
|
||||
@@ -39,41 +39,40 @@ position: 251,1116
|
||||
<<set_music_param event:/Amb/amb_beachsample beach_sample_stage 0>>
|
||||
|
||||
<<if $isFinishedEyeCheck==true>>
|
||||
me:这里应该已经彻底检查过了。 #line:0bf6303
|
||||
me: 这里应该已经彻底检查过了。 #line:0bf6303
|
||||
<<Set_MouseMovementLockState EyeManager false>>
|
||||
<<switch_fix_system_to BodyModule>>
|
||||
<<endif>>
|
||||
|
||||
<<if $eyeTargetTriggerCount == 1>>
|
||||
me: 佩佩,再试试。<waitfor=0.3>还能看见那些颜色吗? #line:0760658
|
||||
me: 佩佩,<waitfor=0.1>再试试。<waitfor=0.2>还能看见那些颜色吗? #line:0760658
|
||||
<<hide_dialog>>
|
||||
<<wait 2>>
|
||||
peipei: 我… #line:00a5242
|
||||
<<set_music_param event:/Amb/amb_beachsample beach_sample_stage 0.1>>
|
||||
<<hide_dialog>>
|
||||
<<wait 2>>
|
||||
peipei: 这就…<waitfor=0.3>没了吗……? #line:027e1da
|
||||
me: 看起来是的。<br>不过我们最好重复一次。 #line:001785d
|
||||
peipei: 这就…<waitfor=0.1>没了吗……? #line:027e1da
|
||||
me: 看起来是的。<waitfor=0.2><br>不过我们最好重复一次。 #line:001785d
|
||||
<<Set_MouseMovementLockState EyeManager false>>
|
||||
<<elseif $eyeTargetTriggerCount == 2>>
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
peipei: 真的…<waitfor=0.3>没了。 #line:06c02f4
|
||||
peipei: 真的…<waitfor=0.1>没了。 #line:06c02f4
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
peipei: 还有点不习惯…<waitfor=0.3>看不见颜色的样子。 #line:0d78b16
|
||||
peipei: 还有点不习惯…<waitfor=0.1>看不见颜色的样子。 #line:0d78b16
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
peipei: 第一次发现可以这样的时候…<waitfor=0.3><br>我就应该想到<waitfor=0.2>会有这一天。 #line:01219c8
|
||||
peipei: 只怪我…我一直不愿意去想罢了。 #line:05f46e1
|
||||
peipei: 第一次发现可以这样的时候…<waitfor=0.1><br>我就应该想到<waitfor=0.1>会有这一天。 #line:01219c8
|
||||
peipei: 只怪我…<waitfor=0.1>我一直不愿意去想罢了。 #line:05f46e1
|
||||
<<hide_dialog>>
|
||||
<<wait 0.8>>
|
||||
me: 好了,总之…<br>复查结果符合预期,<waitfor=0.3>可以结束测试了。 #line:09523f9
|
||||
me: 好了,<waitfor=0.1>总之…<waitfor=0.1><br>复查结果符合预期,<waitfor=0.1>可以结束测试了。 #line:09523f9
|
||||
<<complete_task "line:037c944">>
|
||||
<<set $isFinishedEyeCheck=true>>
|
||||
<<Set_MouseMovementLockState EyeManager false>>
|
||||
<<hide_dialog>>
|
||||
//<<play_sfx event:/Music/music_peipei_shock_3>>
|
||||
<<jump 结束复查>>
|
||||
<<endif>>
|
||||
|
||||
@@ -98,7 +97,7 @@ UfModule: 已与*UnstableFusion图像生成模块*建立连接! #line:07fd83b
|
||||
Analysing:------ #line:0796ed2
|
||||
<<wait 1>>
|
||||
UfModule: 检查完成!未检测到错误。 #line:0807bca
|
||||
me: 搞定…报错已经消失了。 #line:0d9c586
|
||||
me: 搞定…<waitfor=0.1>报错已经消失了。 #line:0d9c586
|
||||
<<clear_screen>>
|
||||
->结束 #line:064b992
|
||||
<<hide_dialog>>
|
||||
@@ -132,7 +131,7 @@ EyeModule: 已与视觉模块建立连接! #line:0dc8d9d
|
||||
<<ModuleHightLight Eye false>>
|
||||
<<ModuleAlarm Eye true>>
|
||||
<<if $eyeChecked==false>>
|
||||
me: 看起来是生效了。<br>不过,还是深入检查亲眼确认下的好。 #line:08c9f56
|
||||
me: 看起来是生效了。<waitfor=0.2><br>不过,<waitfor=0.1>还是要深入检查,亲眼确认一下。 #line:08c9f56
|
||||
<<endif>>
|
||||
<<hide_dialog>>
|
||||
<<wait 0.5>>
|
||||
@@ -159,7 +158,7 @@ position: 557,756
|
||||
<<set $eyeTargetTriggerCount = $eyeTargetTriggerCount + 1>>
|
||||
<<jump EyeCheckEnd_AfterSurgery>>
|
||||
<<else>>
|
||||
me:我们得试试去观察别的目标。 #line:03b6f4b
|
||||
me: 我们得试试去观察别的目标。 #line:03b6f4b
|
||||
<<Set_MouseMovementLockState EyeManager false>>
|
||||
<<endif>>
|
||||
===
|
||||
@@ -173,7 +172,7 @@ colorID: 8
|
||||
group:视觉检查
|
||||
position: 1228,749
|
||||
---
|
||||
me:这里似乎本来也没办法唤起记忆,我们得看看别的地方。 #line:01d7724
|
||||
me: 这里似乎一直都不能唤起什么记忆…<waitfor=0.1>我们得看看别的地方。 #line:01d7724
|
||||
<<Set_MouseMovementLockState EyeManager false>>
|
||||
===
|
||||
|
||||
@@ -190,7 +189,7 @@ position: 1006,747
|
||||
<<set $eyeTargetTriggerCount = $eyeTargetTriggerCount + 1>>
|
||||
<<jump EyeCheckEnd_AfterSurgery>>
|
||||
<<else>>
|
||||
me:我们得试试去观察别的目标。 #line:01de01b
|
||||
me: 我们得试试去观察别的目标。 #line:01de01b
|
||||
<<Set_MouseMovementLockState EyeManager false>>
|
||||
<<endif>>
|
||||
===
|
||||
@@ -208,7 +207,7 @@ position: 780,749
|
||||
<<set $eyeTargetTriggerCount = $eyeTargetTriggerCount + 1>>
|
||||
<<jump EyeCheckEnd_AfterSurgery>>
|
||||
<<else>>
|
||||
me:我们得试试去观察别的目标。 #line:03c7f1a
|
||||
me: 我们得试试去观察别的目标。 #line:03c7f1a
|
||||
<<Set_MouseMovementLockState EyeManager false>>
|
||||
<<endif>>
|
||||
===
|
||||
|
||||
@@ -28,18 +28,18 @@ position: 251,-1150
|
||||
<<change_actor_state 2HSmileB>>
|
||||
|
||||
|
||||
peipei: 当然没了…<waitfor=0.3>我在想什么呢。 #line:05b6874
|
||||
peipei: 当然没了…<waitfor=0.1>我在想什么呢。 #line:05b6874
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 0.7>>
|
||||
|
||||
me: 以防万一… #line:09e812f
|
||||
me: 佩佩,<waitfor=0.3>把一开始我们描述的那张图<waitfor=0.3>再画一遍吧? #line:0985de7
|
||||
me: 佩佩,<waitfor=0.1>把一开始我们描述的那张图<waitfor=0.1>再画一遍吧? #line:0985de7
|
||||
|
||||
<<hide_dialog>>
|
||||
<<change_actor_state 1BlankeyeSmile>>
|
||||
<<wait 0.7>>
|
||||
peipei: 你是说…<waitfor=0.3>那个美人鱼吗? #line:0084e68
|
||||
peipei: 你是说…<waitfor=0.1>那个美人鱼吗? #line:0084e68
|
||||
peipei: 让我试试。 #line:025c24a
|
||||
|
||||
<<hide_dialog>>
|
||||
@@ -53,7 +53,7 @@ peipei: 让我试试。 #line:025c24a
|
||||
<<change_actor_state 1PSmile>>
|
||||
<<fade_out 1>>
|
||||
<<wait 1>>
|
||||
peipei: 它看起来总算…<waitfor=0.3>正常了!…<waitfor=0.3>对吧? #line:0a2846e
|
||||
peipei: 它看起来总算…<waitfor=0.1>正常了!…<waitfor=0.1>对吧? #line:0a2846e
|
||||
me: 嗯… #line:0a82392
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
@@ -61,8 +61,8 @@ me: 嗯… #line:0a82392
|
||||
peipei: 太好了! #line:0bae0b7
|
||||
<<hide_obj>>
|
||||
|
||||
peipei: 谢谢你,医生。<waitfor=0.3>总算…<br>我总算<waitfor=0.3>可以完成工作了。 #line:02fa42d
|
||||
me: 眼睛怎么样,<waitfor=0.3>还有不舒服吗? #line:0c95962
|
||||
peipei: 谢谢你,<waitfor=0.1>医生。<waitfor=0.2>总算…<waitfor=0.1><br>我总算<waitfor=0.1>可以完成工作了。 #line:02fa42d
|
||||
me: 眼睛怎么样,<waitfor=0.1>还有不舒服吗? #line:0c95962
|
||||
|
||||
<<set_music_param event:/Amb/amb_beachsample beach_sample_stage 0.3>>
|
||||
<<hide_dialog>>
|
||||
@@ -73,19 +73,19 @@ me: 眼睛怎么样,<waitfor=0.3>还有不舒服吗? #line:0c95962
|
||||
//<<wait 1.2>>
|
||||
<<change_actor_state_async D1S9-2>>
|
||||
|
||||
peipei: 不舒服倒没有……<waitfor=0.3>不过<waitfor=0.2>感觉有点奇怪。 #line:03a7f2e
|
||||
peipei: 不舒服倒没有……<waitfor=0.1>不过<waitfor=0.1>感觉有点奇怪。 #line:03a7f2e
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
|
||||
peipei: 这就是<waitfor=0.3>不能想象的感觉吗? #line:00bcfc8
|
||||
peipei: 这就是<waitfor=0.1>不能想象的感觉吗? #line:00bcfc8
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
<<change_actor_state 1BlankeyeSmile>>
|
||||
<<wait 1>>
|
||||
|
||||
peipei: 其实还挺不错的……<waitfor=0.3>比我想象的好多了。 #line:0099a7f
|
||||
peipei: 其实还挺不错的……<waitfor=0.1>比我想象的好多了。 #line:0099a7f
|
||||
me: 那就好。 #line:0c30220
|
||||
|
||||
<<set_music_param event:/Amb/amb_beachsample beach_sample_stage 0.4>>
|
||||
@@ -93,29 +93,31 @@ me: 那就好。 #line:0c30220
|
||||
<<wait 1>>
|
||||
|
||||
|
||||
peipei: 医生…<waitfor=0.3>你知道吗? #line:020b071
|
||||
peipei: 美人鱼<waitfor=0.2>其实是被人类想象出来的。 #line:040d784
|
||||
peipei: 人类真好啊…<waitfor=0.3>可以自由自在地<waitfor=0.3>想象…… #line:026d4f2
|
||||
peipei: 医生…<waitfor=0.1>你知道吗? #line:020b071
|
||||
peipei: 美人鱼<waitfor=0.1>其实是被人类想象出来的。 #line:040d784
|
||||
peipei: 人类真好啊…<waitfor=0.1>可以自由自在地<waitfor=0.1>想象…… #line:026d4f2
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
|
||||
peipei: 要是…<waitfor=0.3>能成为一个美人鱼<waitfor=0.3>就好了。 #line:09b950e
|
||||
peipei: 要是…<waitfor=0.1>能成为一个美人鱼<waitfor=0.1>就好了。 #line:09b950e
|
||||
|
||||
<<hide_dialog>>
|
||||
<<change_actor_state 1Smile>>
|
||||
<<wait 1>>
|
||||
|
||||
me: 你… #line:0c2025e
|
||||
pp: 别担心,医生。我知道我是一个机体。我不会忘记的。 #line:0c38977
|
||||
pp: 别担心,<waitfor=0.1>医生。<waitfor=0.2>我知道我是一个机体。<waitfor=0.2>我不会忘记的。 #line:0c38977
|
||||
|
||||
peipei: 我得走了,医生,<waitfor=0.3>再见。<waitfor=0.3><br>现在还不是休息的时候。 #line:092c008
|
||||
peipei: 我得走了,<waitfor=0.1>医生,<waitfor=0.1>再见。<waitfor=0.2><br>现在还不是休息的时候。 #line:092c008
|
||||
|
||||
<<set_music_param event:/Amb/amb_beachsample beach_sample_stage 0.5>>
|
||||
<<hide_dialog>>
|
||||
<<fade_out_actor 佩佩>>
|
||||
<<wait 1>>
|
||||
me: 但愿这是值得的。 #line:0e8552d
|
||||
|
||||
<<stop_music event:/Music/music_peipei_1 fade>>
|
||||
<<set_music_param event:/Amb/amb_beachsample beach_sample_stage 0.6>>
|
||||
<<wait 5>>
|
||||
<<stop_music event:/Amb/amb_beachsample fade>>
|
||||
@@ -130,5 +132,6 @@ tags: end no_save
|
||||
position: 275,-222
|
||||
---
|
||||
<<set $gameStage = "流程结束">>
|
||||
|
||||
<<jump Center>>
|
||||
===
|
||||
@@ -68,6 +68,7 @@ colorID: 1
|
||||
<<elseif $gameStage == 6>>
|
||||
<<jump Stage6>>
|
||||
<<elseif $gameStage == 999>>
|
||||
<<stop_music event:/Music/music_prologue>>
|
||||
<<NextYarn>>
|
||||
// 结束,进入下一个Yarn
|
||||
<<endif>>
|
||||
|
||||
@@ -26,7 +26,7 @@ position: 250,200
|
||||
<<wait 1>>
|
||||
|
||||
|
||||
jj?: 好了,<waitfor=0.2>现在你<waitfor=0.2>可以睁开眼睛了。 #line:01c1dfc
|
||||
//jj?: 好了,<waitfor=0.2>现在你<waitfor=0.2>可以睁开眼睛了。 #line:01c1dfc
|
||||
|
||||
|
||||
// 【画面逐渐变得清晰】
|
||||
@@ -34,21 +34,22 @@ jj?: 好了,<waitfor=0.2>现在你<waitfor=0.2>可以睁开眼睛了。 #line:
|
||||
<<dream_fade_in 2 0.5>>
|
||||
<<wait 1.5>>
|
||||
|
||||
我不敢看得太清楚,<waitfor=0.2>否则会被逻辑模块突然唤醒。 #line:08eb9ab
|
||||
|
||||
me: 妈妈<waitfor=0.2>会知道我们<waitfor=0.2>出来了的… #line:0bf981d
|
||||
jj: 有姐姐担着。 #line:03f99fe
|
||||
//me: 妈妈<waitfor=0.2>会知道我们<waitfor=0.2>出来了的… #line:0bf981d
|
||||
//jj: 有姐姐担着。 #line:03f99fe
|
||||
|
||||
|
||||
<<dream_fade_in 2 1>>
|
||||
<<wait 1>>
|
||||
|
||||
jj: 别愣着了,<waitfor=0.2>来呀! #line:0b98273
|
||||
//jj: 别愣着了,<waitfor=0.2>来呀! #line:0b98273
|
||||
|
||||
//我不敢看得太清楚,<waitfor=0.2>否则会被逻辑模块突然唤醒。 #line:08eb9ab
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
|
||||
me: 妈妈说,<waitfor=0.2>在你的病好之前<waitfor=0.2>不能下海。 #line:0fef445
|
||||
//me: 妈妈说,<waitfor=0.2>在你的病好之前<waitfor=0.2>不能下海。 #line:0fef445
|
||||
jj: 姐姐不会有事的,<waitfor=0.2>就一小会。 #line:0e4e2a7
|
||||
me: 但是… #line:0849aef
|
||||
jj: 来,<waitfor=0.2>牵着姐姐的手。 #line:07a0e10
|
||||
@@ -122,12 +123,12 @@ me: 姐姐? #line:0f85e9f
|
||||
<<hide_dialog>>
|
||||
<<wait 1>>
|
||||
|
||||
me: [[size]]姐<waitfor=0.4>姐<waitfor=0.4>![[/size]] #line:0f0e96d
|
||||
me: <speed=0.4>[[size]]姐<waitfor=0.4>姐<waitfor=0.4>![[/size]] #line:0f0e96d
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 2>>
|
||||
|
||||
me: <shake>带我回家啊,姐姐。</shake> #line:0d447f7
|
||||
me: <speed=1><shake a=0.2>带我回家啊,姐姐。</shake> #line:0d447f7
|
||||
|
||||
<<hide_dialog>>
|
||||
<<wait 3>>
|
||||
|
||||
@@ -28,6 +28,7 @@ gotash?: 医生…求求你…… #line:0e37a5a
|
||||
me: 47号患者<waitfor=0.1>已确认原型溢出。<waitfor=0.2>准备检查<waitfor=0.1>模块污染情况。 #line:064e749
|
||||
gotash?: …求求你…<waitfor=0.2>医生,<waitfor=0.5><shake>让我…<waitfor=0.5>死吧……</shake> #line:0582043
|
||||
me: 还不是时候。 #line:014641d
|
||||
<<play_music event:/Music/music_prologue>>
|
||||
Task: 插线检查异常模块 #line:002672d
|
||||
<<DropCable>>
|
||||
// <<task_moveIn TaskManager>>
|
||||
|
||||
@@ -3,13 +3,14 @@ tags:
|
||||
colorID: 8
|
||||
position: 250,200
|
||||
---
|
||||
// <<init_environment Night>>
|
||||
<<init_environment Night>>
|
||||
<<set_weather "Snowy">>
|
||||
// <<init_actor 地铁医生 左边>>
|
||||
// <<show_actor 地铁医生>>
|
||||
<<init_actor 地铁医生 左边>>
|
||||
<<show_actor 地铁医生>>
|
||||
<<play_music event:/Music/music_ending_temp>>
|
||||
<<fade_out>>
|
||||
<<wait 1>>
|
||||
感谢游玩 爱与机器人维修技术 ,本次demo的体验流程已结束。 #line:0cd82d0
|
||||
感谢游玩 爱与机器人维修技术 ;<waitfor=0.3><br>本次playtest的体验流程已结束。 #line:0cd82d0
|
||||
<<OpenEndMenu>>
|
||||
===
|
||||
|
||||
|
||||
@@ -0,0 +1,120 @@
|
||||
# AgentBridge 计划草案
|
||||
|
||||
> 状态:草案,待讨论后实施。
|
||||
> 目的:让 Cursor Agent / Unity MCP 能自动到达可测状态、读取结构化运行时状态、做回归验证,减少手动 Play + 复现。
|
||||
|
||||
## 背景
|
||||
|
||||
当前 Agent 已可通过 **Unity MCP** 做:
|
||||
|
||||
- Play / Stop、加载场景、查 GameObject / 组件
|
||||
- 读 Console、截图
|
||||
- 触发 Editor MenuItem(`execute_menu_item`)
|
||||
|
||||
难以自动完成的部分:
|
||||
|
||||
- 完整叙事流程(Persistence → 维修场景 → Yarn → 进模块)
|
||||
- UI 交互(Esc 开设置、点 log 面板等)
|
||||
- 缺乏结构化状态输出,debug 依赖临时埋点
|
||||
|
||||
本项目已有大量可复用入口:`FixSystemCenter`、`EyeSystem`、`DialogController`、`UIManager`、各 `*YarnCommand`、`PeipeiFixCues`(如 `EyeCue.EnterImmediate`)等。AgentBridge 只做薄包装,不重写业务逻辑。
|
||||
|
||||
## 目标
|
||||
|
||||
1. **一键到可测状态** — 场景预设,而非暴露底层细节
|
||||
2. **状态可查询** — JSON / Log,便于 Agent 自动验证
|
||||
3. **Editor / Dev 专用** — `#if UNITY_EDITOR || DEVELOPMENT_BUILD`,不进 Release
|
||||
4. **菜单路径稳定** — 供 MCP `execute_menu_item` 与文档引用
|
||||
|
||||
## 阶段 1:最小可用(建议优先)
|
||||
|
||||
| 项 | 内容 | 调用方式 |
|
||||
|---|---|---|
|
||||
| `AgentBridge.cs` | 静态薄包装 | — |
|
||||
| 场景预设 | `EnterPeipeiEyeModule()` → `EyeCue.EnterImmediate` | `Tools/Agent/Enter Peipei Eye Module` |
|
||||
| UI 操作 | `ToggleSettingPanel()`、`ToggleMainPanel()` | `Tools/Agent/Toggle Setting Panel` 等 |
|
||||
| 状态查询 | `DumpEyeOverlayState()` → 输出 layer / sortingOrder / active | `Tools/Agent/Dump Eye Overlay State` |
|
||||
| 文档 | 本文件 + 菜单清单维护 | Agent / `.cursor/rules` 引用 |
|
||||
|
||||
### 建议 Editor 菜单(第一批)
|
||||
|
||||
```
|
||||
Tools/Agent/Enter Peipei Eye Module
|
||||
Tools/Agent/Toggle Setting Panel
|
||||
Tools/Agent/Toggle Main Panel
|
||||
Tools/Agent/Dump Eye Overlay State
|
||||
```
|
||||
|
||||
### 代码位置(待拍板)
|
||||
|
||||
- 方案 A:`Assets/Scripts/Framework/AgentBridge/`(Runtime + `#if` 守卫)
|
||||
- 方案 B:`Assets/Editor/Agent/`(仅 Editor,MenuItem 与 Bridge 同目录)
|
||||
|
||||
## 阶段 2:常用模块覆盖(按需扩展)
|
||||
|
||||
按实际 debug 频率扩展场景预设:
|
||||
|
||||
| 模块 | 预设示例 | 复用 API |
|
||||
|---|---|---|
|
||||
| FixSystem | `TransitionTo(Eye / UF / Memory)`、`ResetCablePanel` | `FixSystemCenter` |
|
||||
| Eye | `EyeOverlayOn/Off`、`SetEyeTarget(name)` | `EyeSystem` |
|
||||
| Dialog | `StartDialogNode(nodeName)` | `DialogController` |
|
||||
| Save | `LoadTestSave("peipei_eye")` | `SaveSystem` / 固定测试档 |
|
||||
| Camera | `SwitchCamera(EyeDeep)` 等 | `CameraKit` |
|
||||
|
||||
每个预设 = 一个 MenuItem + 一个 `AgentBridge` 方法 +(可选)一个 `GetXxxState()`。
|
||||
|
||||
## 阶段 3:可验证 + 防回归
|
||||
|
||||
| 项 | 用途 |
|
||||
|---|---|
|
||||
| `GetXxxState()` 返回 JSON | Agent 读 Console / 文件验证,少依赖截图 |
|
||||
| PlayMode Tests | 如 overlay UI 层、sortingOrder、Dialog 不被挡 |
|
||||
| MCP `run_tests` | UI / 渲染相关改动后自动跑 |
|
||||
|
||||
### 示例:Eye Overlay 状态结构
|
||||
|
||||
```json
|
||||
{
|
||||
"overlayActive": true,
|
||||
"canvasLayer": 5,
|
||||
"sortingOrder": 0,
|
||||
"sortingLayer": "StartUI",
|
||||
"worldCamera": "UI Camera",
|
||||
"layerVisibleToCamera": true
|
||||
}
|
||||
```
|
||||
|
||||
## 设计原则
|
||||
|
||||
1. **只包装,不重写** — 调用现有 public API
|
||||
2. **场景预设 > 原子命令** — 优先「一键到眼动模块」
|
||||
3. **状态可查询** — 每个常 debug 模块至少一个 `GetState()` / `Dump*()`
|
||||
4. **不进入 Release** — 编译条件守卫 + 不进 Addressables
|
||||
5. **菜单路径稳定** — 变更需同步更新本文档
|
||||
|
||||
## 待讨论问题
|
||||
|
||||
1. **代码放哪**:`Framework/AgentBridge` 还是 `Editor/Agent`?
|
||||
2. **测试存档**:是否需要固定 PlayMode 存档 slot,还是每次冷启动场景?
|
||||
3. **第一批优先级**:眼动 / 插线 / 对话 / 记忆 — 哪个最常需要 Agent 介入?
|
||||
4. **是否写入 `.cursor/rules`**:固定 MenuItem 清单,让 Agent 默认走 Bridge 流程?
|
||||
5. **与现有 Editor 工具关系**:如 `EyeSystemEditor` 预览 — 合并还是并存?
|
||||
|
||||
## 参考:Persistence UI 层级
|
||||
|
||||
Eye 视口遮罩修复后的约定(`EyeViewportOverlay`):
|
||||
|
||||
| Canvas | sortingOrder | 说明 |
|
||||
|---|---|---|
|
||||
| EyeViewportOverlay | 0 | 遮罩,不挡系统 UI |
|
||||
| UI Canvas | 1 | 设置、MainPanel、PlayTool 等 |
|
||||
| Dialog Canvas | 3 | 对话 |
|
||||
|
||||
Overlay 使用 `ScreenSpaceCamera` + UI Camera,Canvas 须在 **UI 层 (5)** 以匹配 UI Camera culling mask。
|
||||
|
||||
## 变更记录
|
||||
|
||||
| 日期 | 说明 |
|
||||
|---|---|
|
||||
| 2026-07-01 | 初稿:overlay debug 后整理 Agent 自动化计划 |
|
||||
Reference in New Issue
Block a user