|
|
HoneySelect2 VMD Play Plugin (HS2VMDPlayPlugin) (v0.3.4) 播放 X+ u% y3 c/ L( M" m! q2 r
; w3 a3 s, Q _/ h( q' J* v3 ?! W$ { b" q
MikuMikuDance 运动数据 (.vmd)。8 i4 ` V7 d5 C* u8 `* O" L
并非所有动漫都可以工作,因为骨骼结构和 IK 机制非常不同。
. @# F( P0 e' q) m% f
# }1 ]8 x5 }) i它仅适用于 StudioNEOV2。* q: ` H3 p4 @, r& T- r
. |' t' ^( }: s) q1. 按 “Ctrl” + “Shift” + “V” 切换 GUI 显示(您可以在 BepInEx/config/HS2_VMDPlayPlugin.cfg 文件中更改键)。
, @6 Y+ E8 v q5 U6 q; l& C* O9 e/ S2. 使用“<”和“>”按钮选择一个角色。! c' j: M; l g
3. 按下“关闭”按钮(它将切换到“打开”)以激活该功能。! w4 k6 T, F# C- d' G
- 现有的动漫将被停止。0 j9 ~$ U) h f! ~- x
4. 直接在 VMD 旁边键入文件名,或单击“...” 单击该按钮以选择一个文件。3 }5 p: ?5 U7 b5 f: ]1 C
如果文件路径包含 “;” 或使用“+”按钮合并来自多个 VMD 文件的动作。
4 ]3 I5 z6 d7 G! H8 w1 Y3 }3 s5. (可选)如果有音频,请在 Sound 旁边键入文件名,或按“Load”(加载)按钮加载文件。; e. O2 f8 @$ x Q
6. 按下 VMD 上的“加载”按钮以加载 VMD 文件(以及声音文件,如果指定)。 )
( V4 S* y% l- h( n7. (可选)如果摄像机运动位于单独的 VMD 文件中,请打开 Camera 选项卡,指定 VMD 文件,然后选择 Load (加载) 以导入它。
: B$ E% [7 O" ]- R) w( Z8. (可选)如果要指定循环音频等参数,请打开声音选项卡并更改设置。" E5 e) ~" x$ `5 T, V
9. 按播放(全部)按钮播放动漫、相机和音频。
6 G9 Y* ?- h9 \3 M6 Q9 X7 S0 u10. (可选)更改屏幕底部的控制器选项。# M" C( d8 n* K9 F( z, q
# M" a: g5 `- J如果要将动漫与多个角色同步,请使用 (All Chara) 右侧的 Play/Pause/Stop 按钮。6 S3 R* ]- a8 x
+ d" I5 V8 u8 ?, E% t
9 O% K ]; x' _. ^- w根据 BepInEx/plugins/HS2_VMDPlayPlugin/FaceData.txt 中包含的人脸设置,捕获) M$ {( a* O' h; E
.vmd 文件中的面部表情操作参数,以进行面部表情操作。" r( [ D( c" |, @
请参阅自定义面部表情。3 Q, f& z' s' U. s2 _& q
S' U# _0 `$ t+ b# v6 d
7 u. Q! C) A9 d0 g# T
先决条件:
1 |# p, O" }( v ]已安装 BepInEx v5.3 (https://github.com/BepInEx/BepInEx)。
) r6 i, |/ Y2 v8 {如果要写入场景数据,则需要 BepisPlugins 中包含的 ExtensibleSaveFormat 插件。
3 A/ y1 K. G- r& c
1 C. C6 w8 V# v M% p
6 k6 [. ^ Y4 h% z[部署]. }1 x; o# Q3 C' u/ y) @
将 BepInEx 文件夹复制到 HoneySelect2 部署目录。/ f2 ^" F3 c g) J2 y' e1 y
文件夹结构应如下所示:+ R/ R0 w: y# T
# l: s; s+ ^: k(HoneySelect2 介绍目录) /' x* A1 `: y# p$ y+ z; O/ Z
StudioNEOV2_Data/. ]0 X; A. X+ E% r3 w% `) u
...
( w, k. z/ L" R! C...
" U5 b, h2 L, p9 j+ P) bBepInEx/! ]2 A- D7 E: }+ H. g" t& a8 U) l
插件/) z" R9 O6 n) l) N: }
HS2_VMDPlayPlugin/
, L B$ H, j( U* O4 a+ V5 \HS2_VMDPlayPlugin.dll8 _ Z. t2 d7 A/ G" B+ r+ V
MMD4URuntime.dll
t9 P. [* W& ~5 c; Z6 N* k9 E; hFaceData_ sample.txt0 C2 x9 a! V6 O# R, [
config/
# q7 t& o8 W: _1 Q+ @/ [HS2_VMDPlayPlugin.cfg
. d. p! `' Y7 r...。4 ], q) P. I. q5 L5 M' U
HoneySelect2.exe+ d% |5 ~. {5 G1 K" L9 r1 Y a& ]9 `
StudioNEOV2.exe3 g* v) _; ~6 M0 i
x2 ^- a; M; f. @# Z) V
4 j, E/ i/ v \
$ E6 ^2 n4 Y" x2 v卸载 删除
, x: W$ m x# R( q% O以下目录和文件:
9 q1 s, F, K0 K2 q+ R8 _BepInEx/plugins/HS2_VMDPlayPlugin 目录
/ x3 T2 S0 M; h$ W1 G0 r, zBepInEx/config/HS2_VMDPlayPlugin.cfg 文件
' G: x6 B7 }$ i( j2 U. i, w, j) K# y+ \" w% s2 k
' x# c {' ?% z, G' R Q. O% U
[自定义面部表情]2 C; e7 g* ^# _1 A! o! U! F
可以通过编辑 FaceData.txt 来添加和编辑面部变形。 日语 Morph 名称必须以 UTF-8 编码存储。
3 p. c/ K( N3 O4 u/ D% I$ {# I5 C% T& Y
(语法)
! Z$ V7 X1 O9 N1 A# I0 f> < 完整 := <MORPH NAME> “=” <类型: 眉毛,眼睛,嘴>全部 “,” < 属性值> [“,” < 属性值> “,” <属性值> ....]8 W2 D, R' d W5 \6 i
1 `& Q0 A' g9 V! ~* b: x1 u6 n
< 属性值> :=8 X6 d# ]9 f/ J: k
“eyebrow” “:” <眉纹编号> : < 粗细 0-1.0> - 眉纹,如果指定了多个,则按粗细合并。
1 t6 w5 t2 q7 d8 j0 D1 U+ B“eyeopen” “:” < 体重 0-1.0> - 眼睛张开度
2 n) N: K# y3 `( \+ W/ A4 i“eye” “:” < 眼型数字> “:” < 体重 0-1.0> - 眼型8 R- D3 N% a4 J! }/ _" S3 n( M
“张口” “:” < 体重 0-1.0> - 张口度; U. W- c! X) \# ^0 o2 z+ W
“mouth” “:” <口型编号> “:” < 体重 0-1.0> - 口型
# a J% e9 k# ^) W' l3 P; t“tongue” “:” “0” or “1” - 伸出舌头 (1) 不要 (0)# _# Z- L1 B3 l
3 o0 W/ h5 H- w) }(示例) wink=
% V, a1 R7 d y9 d( `5 z3 V2 }! m) OEYE,eye:5:1
8 N9 b' [0 n' @6 j6 ]4 G4 Z& Q! Nmix=ALL,eyeopen:0.5,eye:12:0.4,eye:10:0.3,mouthopen:0.3,mouth:15:1,tongue:0
9 c% l7 L2 g/ }/ D% b$ d' `! Y& ~3 W& A) c2 b% J( l
你可以指定 _DEFAULT_ 作为# l7 Q+ g: }8 z
特殊元素。 如果未在 VMD 端指定任何键,则此元素是默认表达式。% K6 O2 k2 |7 y6 F! R; F/ C) v: q
(如果 Model > UseDefaultFace 在设置中为 true)
; W$ m% W9 j% c: ^
2 A/ o* ?: U: Z+ ~6 D% H写入场景
' m- J1 J/ D0 @& \9 J* R; |" A
$ K0 J+ ^$ ~" ~2 N0 p将 VMD 设置信息写入和读取场景文件 (png)。
! z2 V% ]! P& w: l* d5 E: r如果您不想编写它,请在 BepInEx/config/HS2_VMDPlayPlugin.cfg 文件中将以下行更改为 false。
( ]3 I9 S# T4 Z F6 q, Q
5 o, V" E. L, R' `6 L[保存]
, K8 `0 o: E* E. W! L) FSaveInScene=true #これを 更改为7 ?1 m; Q( b" I; |0 w: D
/ a7 A" H% z2 {* |/ n( B) U9 o% c" ~
false
?" T2 E$ ^8 E2 r# a[播放控制器]
- y6 D2 j }6 d& n% g+ t) [" dShow Config / Close Config - 打开(关闭)参数调整配置屏幕。& r8 I2 P* a5 r( E& \. M3 Y
播放/暂停/停止 - 立即播放/暂停/停止运动/音频/摄像机。) C8 A' ?6 q6 l- _4 [) V
自动隐藏 - 如果选中,则在参数调整配置屏幕未打开且鼠标光标未位于控制器位置(距屏幕底部 40 像素)时自动隐藏控制器。5 C" u$ z$ F1 R" W6 A2 c
关闭 - 关闭控制器和参数调整配置屏幕。3 Z/ J7 F4 k9 E. M
x7 ^8 q8 k1 T" Y0 x$ \$ C* i% r8 \+ W
, C: {* O6 \$ r* Y
Tuning Parameters (优化参数) -# b0 b* V' v" K. o2 y
模型的优化参数# w4 M5 ~+ r$ [
CenterPos(y):更改 centerbone 的 Y 位置。 (扩展后添加)
$ f/ I3 r: C; a/ AModel Scale(模型缩放):所有移动骨骼的 x、y 和 z 坐标的缩放(与骨骼的参考位置不同)Move& w) j5 \: B0 b7 w4 C
(y)Scale(移动(y)Scale):所有移动骨骼的 y 坐标的缩放(在应用“模型缩放”(Model Scale)后添加) [9 H" [# ~* z. K5 m" ~
$ m1 G6 i4 b e) jCenterBasePos:虚拟中心骨的 Y 位置(在 PMX 模型上假定的位置)3 S' E( k. L2 |2 \" Q
Shoulder/UpperArm/LowerArm Tilt:肩部、上臂和手臂的初始倾斜度。 将 T 姿势与 A 姿势 (MMD) 对齐的调整值。( p c5 F+ G4 ]7 N
. @1 v% B' H+ M, A( Y
如果要使运动更具动态性,请增加 Model Scale。( k _: x/ {% [, q% i8 f
如果您的双腿因 IK 而伸展和颤抖,请减小模型比例。
$ w/ R( W% A8 }' i$ V, z如果模型比例增加并且它被埋在地板下,请额外调整 CenterPos(y) 和 Model Scale(y)。' V* |9 H5 n5 _& V, k4 P, J
- S3 `# o, x: ~) o7 G. M2 `
在多个模型运动的情况下,最好对齐 Model Scale(模型比例)。
/ ]7 C0 n/ V8 P: p/ n% U7 L ^% `+ d: k6 P* Y& k
[用于动作调整的参考模型输出]0 @6 b; h6 D5 w& M
VMD Load Config(需要重新加载)右侧显示“保存”(用于多个模型的位置调整
% \) a4 \+ A/ g' Y+ p8 v% [; `( J( @- d" ]# H, `( Z( D9 n
% @6 W" r, }. e" g2 `4 z5 |) 使用 “PMX” 按钮输出。
1 N- [7 Y& j/ }* _4 m+ h3 L按下此按钮将使模型返回到其初始姿势 (A-stance),并以 PMX 文件格式输出骨骼配置。 C1 _' z+ Z# t( B# F5 v
该文件在 BepInEx/plugins/HS2_VMDPlayPlugin/pmx/ 目录下输出时间戳。
3 |9 I9 L/ W' K# {内容仅为骨骼。 它不包含任何网格、纹理、变形等。' ^$ ^' }$ n1 n& Q$ Q* m
它旨在与 VMD 大小调整 (VMD_sizing) 工具一起使用。
' A4 q# `6 A2 s, Y- \Shoulder Tilt 等值也使用设置的值。 但是,无论设置如何,模型比例都被视为 1.0。, M2 {) e9 r* |
因此,如果要使用输出模型的调整后的运动,请将 Model Scale 设置为 1.0 并使用它。
$ e A% Q; L! q2 I& F. W2 q5 f3 @1 s" R1 {5 J; ]1 O
对于 Base Scale (基础缩放) 和 Global Scale (全局缩放),请使用配置的值。
% S, p. H( U4 B在默认的 BaseScale 0.095 和 Global Scale 10.0 的情况下,游戏中的 Y=10.0(大致是默认角色身体的中心)在 MMD 中大约是 Y=10.6。
; J5 h- m* Y( R9 e3 C4 M+ P(因为动作加载后乘以 0.95)
; h& z) f: ~/ I. T" y; H6 E' f
, U' L8 R# C: A7 V! m& [+ T. z3 b" q' U6 u0 [0 o! C
; Y+ W E) P0 G- a" U[历史]) V# i# @1 a) O
-0.0.1
- e6 E' I! ]; \4 L3 }. v初始版本
0 X+ O1 U* [% ?' F2 X- 0.0.2 支持读取
/ A# u5 M$ }# |, S& H* s摄像机视角数据2 { p$ ?2 N/ T7 \! J
-0.0.3 修复了5 i& p5 n: P# \: I3 d5 ~! e
GUI 关闭
. ~1 Z8 f# w9 e时,使用鼠标进行正常摄像机操作可能无法工作的问题 -0.0.4. H( N1 r' [2 ~! y
修复了摄像机运动逻辑(旧逻辑是通过将 UnityCameraInterpolation 选项设置为 True 来指定的)将
: t: l* g+ M% g7 u默认的 Shoulder Tilt 从 12 更改为 8(度)。* ]9 m' K/ ?& ^ M% q1 g: ~# D$ e9 ~# z
-0.0.5
' `; i% d. T* S- m修复了相机计算逻辑(删除了在有一帧差异的键之间禁用完成的逻辑)-
* Z; J" x1 E3 H0.0.6 支持+ d, k# R9 {; e
指定多个 VMD 文件(动作 + 面部表情等)(使用“+”按钮或“;” 带分离的直接输入)相机和角色动作的) z: N* m1 | w9 t
动画计算逻辑已完全修改。 从使用 Unity 的 Animation 切换到 DOTween 自己的实现。- h; \1 m0 P' S5 d0 |1 n2 [
初始肩部、上臂和臂参数(模型 -> ShoulderTiltDefault、UpperArmTiltDefault、LowerArmTiltDefault)。
1 D# J/ {7 H+ _6 R4 B; J设置颈部旋转角度的补充参数 (Model - > NeckRotationScale)。% |: K0 u$ j t q; Q+ k8 }) C
添加了用于计算摄像机和整个角色位置的缩放选项 (System -> BaseScale。 它以与 GlobalScale 相同的方式应用于整个系统。 ) 修复了
2 a$ O' ? f# M# P$ b- G& j( a模型初始缩放计算中的错误(修复了始终应用字符高度cf_N_height的问题)
( b4 d" P$ g/ S9 p" }: s# y% Q-0.1.0 重构了与其他
/ `# l4 h- F4 p8 o- a3 b# G" z插件
4 g' {- N" @; r共享代码 肩部取消 (Shoulder P/Shoulder C) 骨骼的临时实现0 F0 q8 m$ ^, @& f- ~& V, O" b: r" R8 l
-0.1.1 修复了无法选择. [8 N2 o& v: V7 Y
第二个和后续字符的问题。- x" X6 N: z0 i5 g& f/ S7 Q( s! K
-0.1.2 修复了快捷键设置中无法使用' {2 D9 t M; {: `
大写字母的问题。3 G9 M0 o( l+ Y/ Y |# |
IK 目标修复了曲调计算未初始化的问题(在最后一个键之后)修复了在切换6 |. o: k; _9 D$ L8 c7 d/ l
地图或加载场景时 UI 恢复为隐藏的问题。. e5 E( F1 P( w5 d& D' V
性能改进4 S2 @ a5 u9 C5 v9 G. L
-0.1.3 为
1 u5 f/ ~+ o8 L% g& c- e0 ?足部 IK 引入
; ~" O9 b0 b) C/ d* J不同的算法 添加了用于调整加载场景时等待时间的参数 (System > LoadWaitFrames)可选7 _9 ~9 q0 r/ P I. g
使用默认表达式 (_DEFAULT_) (Model > UseDefaultFace)。, C5 d. D0 i$ h ?$ `+ }5 x& k
-0.1.4 支持在; ^; s' ]8 G( j% x
VMD 文件中读取 IK 开/关数据(模型 > UseIKDataInVMD)修复了7 |2 b3 ^2 u+ m
循环设置不起作用的问题。修复了
& U5 b" ]; u1 a! l3 P4 H4 t5 T; A6 Y; M插补曲线计算中的
7 A& r# G2 ?, V3 @# M错误 修复了- b4 L3 g% W2 c0 y- j/ n. Q" X o
前束 IK 计算中的错误 -0.1.54 V! d1 B) X. V
修复了即使在关闭 VMD 后也无法更改面部表情的问题 修复了
4 T# C0 V5 v2 [* ^! V6 k+ v在初始化和加载过程中
8 s+ s* Y3 }! C前束位置等下沉的问题。 修复了导致不包含面部表情数据的 VMD 文件无法加载的问题。修复了脚趾 IK 计算 2 -
( Q4 Q( S+ G/ Z8 F3 Q0.1.6
2 R/ t7 x0 Y* Q2 Y) W+ \$ b中的问题 修复了在保存/读取未设置: P1 l0 W0 o# g6 {. k3 a% o/ d
-0.1.7 的数据时意外打开 VMD
! F8 t0 E2 X/ ?- ^8 D的问题5 }1 v, Y- E S$ O& |8 W
修复初始化模型
* r4 w# l6 z7 ~- }6 r( n' R时腿部/臀部/胸部位置的初始化逻辑 -0.1.8 新增选项 设置; N4 V) m& t( s8 _* j, E; M
MMD 相关文件参考目录 (MMDData > MMDDataBaseDir) GC7 V/ H6 H( i. V/ z5 U: Q: x2 ~
Alloc Memory 的性能调整 扭曲 (x-arm twist/x-hand-twist) 骨骼的临时实现4 ~# e {* O8 Y1 }# H9 g" k" e
-0.1.9
- I4 O/ z& S9 m& y4 m& @手腕角度校正逻辑修复& w) q3 l6 g7 P% n9 t- H+ t# A
拇指角度校正逻辑修复8 ]9 L- x; U0 c
-0.1.10
& Z3 s3 f+ k+ t# O5 ~
5 I# r* |. K$ p4 j' e修复了无法关闭摄像头循环的问题。修复了在没有
& d. l& U; D0 j8 b, n9 jthumb 0 键的 VMD 文件中拇指角度发生偏移的问题 修复了9 C: _' W! s9 y$ y& k; J' N
0 A' r' g9 D% S' Z' U7 D
在未指定 MMDDataBaseDir 的情况下选择文件时初始文件夹设置不正确的问题。 修复面部表情逻辑- I5 B/ ` Q4 D& R5 T
-0.1.11 修复扭骨不只在# E' d$ B% k* A' p; r
左手起作用的问题 修复$ j2 ?$ {, Q- u. u$ c" A, O) l
* M/ Z9 } q5 ?$ R" u, G" h
扭骨的角度计算 -0.1.12 修复* ^+ R9 P+ h2 e7 ~- P
, q2 ]1 f1 w/ F6 r6 h面部表情逻辑 修复了肩部取消角度(肩部 C)未反映的问题。8 ^ G( R) r0 E3 ]3 {8 V
-0.1.13 修复了1 K/ Y- G9 t/ Z
在保存/加载
' ~7 ]: D2 i/ m$ C8 R数据时,即使角色的 VMD 设置为关闭,面部表情也会被错误重置的问题。修复了扭曲骨骼的角度计算(轴限制)! a' w8 i! z. \+ ^0 O
- 0.2.0& h6 G1 \5 D) O8 H! T2 i
修复扭曲骨骼角度计算(平滑)
8 ?7 }$ J2 S F8 S7 v+ }/ L-0.2.1 在! O4 I f2 r4 p. M9 L& H0 S9 D2 E
文件选择对话框(左下角)中添加了排序按钮(名称、修改日期)
6 s0 D$ G7 @( a& v9 Z1 ]3 A; `1 Q添加一个按钮,以将摄像机的 ModelScale 反映到所有角色的 ModelScale,或将角色的最小 ModelScale 反映到摄像机的 ModelScale。在
0 D: }! D* t& \' ^( e; o8 @摄像机的 ModelScale 选项下 (>>all chara, <<min chara)
, G4 T/ M9 H7 P6 u) Y自动计算搜索栏的宽度(如果坐标不可见则拉伸)
" B' Q+ T6 g0 Y( B7 Z4 J4 iUI > AutoControllerAutoAdjustControllerWidth 设置,可以禁用该设置修复了插补曲线计算
' R* h, q6 N5 [2 D# S# X" C-0.2.3 中的
: O- w! M3 b. Y! t7 s7 J错误
2 t2 Q$ k+ ?8 e/ T用于动态调整的参考模型(仅骨骼)输出(仅当 UseDOTweenAnimation=true 时)有关详细信息5 H; J1 D' {: r4 C; Z
,请参阅 [用于动态调整的参考模型输出]。
4 y* p$ v6 t. D) T9 S- t! |8 ~-0.2.4 修复了通过指定多个 VMD 文件保存的
( Q. Y: T+ ^: o3 t场景数据无法正常加载的问题。修复了& B5 x& \+ t6 r r, G
* _1 o/ _" _% K& }4 e
扭曲的骨骼角度(平滑)没有正确反映的问题。修复了, x6 J N# L3 F
6 J+ Y& M" Z& ?) I- [$ u$ `新增相机
" p) v! |- V( o7 U5 bY 轴旋转调整参数 -0.2.5 新增
1 e- A6 O( P! `播放、暂停、停止快捷键选项(所有角色、语音、相机)(所有默认值未指定) [
$ R: K1 M, f( i+ OUI] UIKeyPlay, UIKeyPause、UIKeyStop0 Y5 d: f, @3 |
仅面部运动应用选项(默认禁用,通过将 beta_EnableFaceOnly 更改为 true 来使用)
2 n- y( b, a* p-0.3.0 修复了角色在运动过程中. b* d7 f" V( d" t- P( I L1 [
可能无意中模糊的问题。
2 T* V0 G @& f5 Z+ @+ A添加了配置选项以提高性能(UseDirectTransformApply - 默认处于打开状态)
0 A' c) H0 v" t' s8 Q弃用基于 Unity 动画的逻辑并删除
8 P( |3 ^6 M6 U" ~# @& B; ]相关配置参数 删除了 UseDOTweenAnimation ( 始终为 true) 删除
' M1 E2 X' D- w" c3 o了 UnityCameraInterpolation(始终为 false)删除
5 u' d1 p( U9 n5 W了 UseOldFootIK(始终为 false),从过去的 IK 逻辑中的6 h% k. h6 v. v3 w/ o$ F, O
UI 中删除了相关参数 逻辑修改,在相机运动中不完成一帧中的关键帧切换(与 MMD 60fps 输出相同)[; S/ D; u! }0 k1 d; e9 ~2 y7 O
系统]通过将 JumpCameraAjacentFrame 选项更改为 false 来加载相机运动时启用完成。 -0.3.0# b7 J4 r! X) t9 e3 ?* {
-0.3.1 修复了在停止运动时: _. A0 q& _% K! x* x, [9 d
执行足部 IK 计算的问题 修复了) m4 O D( O, I
' K, J9 z0 [; i2 v; k+ r# X1 }肩部取消骨骼(肩部 C)位置不正确的问题 BepInEx 5.3 / BepisPlugins 15.4 / HoneySelect2 2020.08.14 补丁支持:默认启用$ Q' U6 z( [: b6 z
“仅应用面部表情、动作/语音”选项(EnableFaceOnly 选项)
- I( V2 b# ~5 e9 f8 k3 ^# s- [-0.3.3 VMD9 \1 N, l* H5 |1 E7 m
文件中的 IK 开/关修复了无法正确加载数据的问题。修复了处理0 c2 X8 w# U, q n1 o8 J* m
肩部/肘部/手腕扭曲骨骼平滑时的错误 修复了
' i; ^2 n; f! ^1 O4 g* m3 \0 Q# H' L肢体骨骼被意外拉伸的问题 为
3 e4 I+ h! h4 x# @" H; d, l; p帧更新方法添加了替代选项设置(beta_AltUpdateOption:默认 False = 关闭)5 Y1 k7 a8 F' H6 V- F' H% o5 j% N
-0.3.4. Z" D- B3 ^9 u4 b% [0 t) e$ s5 R6 h& m
正确的3 ], {, `0 U* n5 G9 ]5 O5 |" W+ C
) x1 _& \' w. `+ N2 A( F: `比例计算错误0 {. o# W9 \ G$ ]; x$ [
[无保证]0 W' m# n' N9 G; X: K
本软件按“原样”提供,不提供任何明示或
- l; {2 f, I6 z. I$ P" Z3 ^暗示的保证,5 ^. z7 B) z& ?
包括但不限于适销性保证,. D. u G/ b+ j; A4 V
适用于特定目的和非侵权。
4 w5 o& T3 U' }8 K在任何情况下,! r! F1 k' X* ~/ X( m( o) v
作者或版权所有者均不对任何索赔、损害或其他; n& ?- h9 Q8 E2 _$ r P
责任负责。
- T' E4 e4 x. n) u7 h5 Y无论是在合同、侵权行为或其他诉讼中,由软件或" Q! ?0 ]5 D4 Y! I* d
软件的使用或其他交易引起或, r: A7 E% w" b8 Z: e7 ?3 O9 v
与之相关。& |6 w" M0 b" R A6 z
|
|