OSDN Git Service

fix blender plugin packaging
[meshio/pymeshio.git] / pymeshio / englishmap.py
1 #!/usr/bin/env python
2 # coding: utf8
3 """
4 日本語名との変換マップ
5 """
6 import sys
7
8 """
9 ボーン名変換
10 """
11 boneMap=[
12 ("center", "センター", 1),
13 ("upper body", "上半身"),
14 ("neck", "首"),
15 ("head", "頭"),
16 ("eye_L", "左目", 5),
17 ("eye_R", "右目", 5),
18 ("necktie1", "ネクタイ1"),
19 ("necktie2", "ネクタイ2"),
20 ("necktie3", "ネクタイ3"),
21 ("lower body", "下半身"),
22 ("waist accessory", "腰飾り"),
23 ("hair1_L", "左髪1"),
24 ("hair2_L", "左髪2"),
25 ("hair3_L", "左髪3"),
26 ("hair4_L", "左髪4"),
27 ("hair5_L", "左髪5"),
28 ("hair6_L", "左髪6"),
29 ("shoulder_L", "左肩"),
30 ("arm_L", "左腕"),
31 ("arm twist_L", "左腕捩", 8),
32 ("elbow_L", "左ひじ"),
33 ("wrist twist_L", "左手捩", 8),
34 ("wrist_L", "左手首"),
35 ("sleeve_L", "左袖", 1),
36 ("thumb1_L", "左親指1"),
37 ("thumb2_L", "左親指2"),
38 ("fore1_L", "左人指1"),
39 ("fore2_L", "左人指2"),
40 ("fore3_L", "左人指3"),
41 ("middle1_L", "左中指1"),
42 ("middle2_L", "左中指2"),
43 ("middle3_L", "左中指3"),
44 ("third1_L", "左薬指1"),
45 ("third2_L", "左薬指2"),
46 ("third3_L", "左薬指3"),
47 ("little1_L", "左小指1"),
48 ("little2_L", "左小指2"),
49 ("little3_L", "左小指3"),
50 ("front skirt_L", "左スカート前"),
51 ("back skirt_L", "左スカート後"),
52 ("leg_L", "左足"),
53 ("knee_L", "左ひざ"),
54 ("ankle_L", "左足首"),
55 ("hair1_R", "右髪1"),
56 ("hair2_R", "右髪2"),
57 ("hair3_R", "右髪3"),
58 ("hair4_R", "右髪4"),
59 ("hair5_R", "右髪5"),
60 ("hair6_R", "右髪6"),
61 ("shoulder_R", "右肩"),
62 ("arm_R", "右腕"),
63 ("arm twist_R", "右腕捩", 8),
64 ("elbow_R", "右ひじ"),
65 ("wrist twist_R", "右手捩", 8),
66 ("wrist_R", "右手首"),
67 ("sleeve_R", "右袖", 1),
68 ("thumb1_R", "右親指1"),
69 ("thumb2_R", "右親指2"),
70 ("fore1_R", "右人指1"),
71 ("fore2_R", "右人指2"),
72 ("fore3_R", "右人指3"),
73 ("middle1_R", "右中指1"),
74 ("middle2_R", "右中指2"),
75 ("middle3_R", "右中指3"),
76 ("third1_R", "右薬指1"),
77 ("third2_R", "右薬指2"),
78 ("third3_R", "右薬指3"),
79 ("little1_R", "右小指1"),
80 ("little2_R", "右小指2"),
81 ("little3_R", "右小指3"),
82 ("front skirt_R", "右スカート前"),
83 ("back skirt_R", "右スカート後"),
84 ("leg_R", "右足"),
85 ("knee_R", "右ひざ"),
86 ("ankle_R", "右足首"),
87 ("eyes", "両目"),
88 ("front hair1", "前髪1"),
89 ("front hair2", "前髪2"),
90 ("front hair3", "前髪3"),
91 ("eyelight_L", "左目光"),
92 ("eyelight_R", "右目光"),
93 ("necktie3_t", "ネクタイ4"),
94 ("hair6_L_t", "左髪7"),
95 ("hair6_R_t", "右髪7"),
96 ("ankle_L_t", "左つま先"),
97 ("ankle_R_t", "右つま先"),
98 ("necktie IK", "ネクタイIK"),
99 ("hair IK_L", "左髪IK"),
100 ("hair IK_R", "右髪IK"),
101 ("leg IK_L", "左足IK"),
102 ("leg IK_R", "右足IK"),
103 ("toe IK_L", "左つま先IK"),
104 ("toe IK_R", "右つま先IK"),
105
106 ("lower body_t", "下半身先"),
107 ("head_t", "頭先"),
108 ("eye_L_t", "左目先"),
109 ("eye_R_t", "右目先"),
110 ("waist accessory_t", "腰飾り先"),
111
112 ("sleeve_L_t", "左袖先"),
113 ("wrist_L_t", "左手先"),
114 ("thumb2_L_t", "左親指先"),
115 ("fore3_L_t", "左人差指先"),
116 ("middle3_L_t", "左中指先"),
117 ("third3_L_t", "左薬指先"),
118 ("little3_L_t", "左小指先"),
119 ("front skirt_L_t", "左スカート前先"),
120 ("back skirt_L_t", "左スカート後先"),
121
122 ("sleeve_R_t", "右袖先"),
123 ("wrist_R_t", "右手先"),
124 ("thumb2_R_t", "右親指先"),
125 ("fore3_R_t", "右人差指先"),
126 ("middle3_R_t", "右中指先"),
127 ("third3_R_t", "右薬指先"),
128 ("little3_R_t", "右小指先"),
129 ("front skirt_R_t", "右スカート前先"),
130 ("back skirt_R_t", "右スカート後先"),
131
132 ("center_t", "センター先"),
133 ("eyes_t", "両目先"),
134 ("necktie IK_t", "ネクタイIK先"),
135 ("hair IK_L_t", "左髪IK先"),
136 ("hair IK_R_t", "右髪IK先"),
137 ("leg IK_L_t", "左足IK先"),
138 ("leg IK_R_t", "右足IK先"),
139 ("toe IK_L_t", "左つま先IK先"),
140 ("toe IK_R_t", "右つま先IK先"),
141 ("front hair1_t", "前髪1先"),
142 ("front hair2_t", "前髪2先"),
143 ("front hair3_t", "前髪3先"),
144 ("eyelight_L_t", "左目光先"),
145 ("eyelight_R_t", "右目光先"),
146 ("arm twist_L_t", "左腕捩先"),
147 ("wrist twist_L_t", "左手捩先"),
148 ("arm twist_R_t", "右腕捩先"),
149 ("wrist twist_R_t", "右手捩先"),
150 ("arm twist1_L", "左腕捩1", 9),
151 ("arm twist2_L", "左腕捩2", 9),
152 ("arm twist3_L", "左腕捩3", 9),
153 ("arm twist1_R", "右腕捩1", 9),
154 ("arm twist2_R", "右腕捩2", 9),
155 ("arm twist3_R", "右腕捩3", 9),
156 #
157 ("arm twist1_L_t", "左腕捩1先"),
158 ("arm twist2_L_t", "左腕捩2先"),
159 ("arm twist3_L_t", "左腕捩3先"),
160 ("arm twist1_R_t", "右腕捩1先"),
161 ("arm twist2_R_t", "右腕捩2先"),
162 ("arm twist3_R_t", "右腕捩3先"),
163
164 # 追加ボーン
165 ("root", "全ての親"),
166 ("root_t", "全ての親先"),
167 ("group", "グループ"),
168 ("group_t", "グループ先"),
169 ("front_shirt_L", "左シャツ前"),
170 ("front_shirt_R", "右シャツ前"),
171 ("back_shirt_L", "左シャツ後"),
172 ("back_shirt_R", "右シャツ後"),
173 ]
174 def getEnglishBoneName(name):
175     for v in boneMap:
176         if v[1]==name:
177             return v[0]
178
179 def getIndexByEnglish(name):
180     for i, v in enumerate(boneMap):
181         if v[0]==name:
182             return i
183
184 def getUnicodeBoneName(name):
185     for v in boneMap:
186         if v[0]==name:
187             return v
188
189 """
190 モーフ名変換
191 """
192 skinMap=[
193 ("base", "base", 0),
194 ("serious", "真面目", 1),
195 ("sadness", "困る", 1),
196 ("cheerful", "にこり", 1),
197 ("anger", "怒り", 1),
198 ("go up", "上", 1),
199 ("go down", "下", 1),
200 ("blink", "まばたき", 2),
201 ("smile", "笑い", 2),
202 ("wink", "ウィンク", 2),
203 ("wink2", "ウィンク2", 2),
204 ("wink_R", "ウィンク右", 2),
205 ("wink2_R", "ウィンク2右", 2),
206 ("close><", "はぅ", 2),
207 ("calm", "なごみ", 2),
208 ("surprise", "びっくり", 2),
209 ("doubt", "じと目", 2),
210 ("confuse", "なぬ!", 2),
211 ("pupil", "瞳小", 4),
212 ("a", "あ", 3),
213 ("i", "い", 3),
214 ("u", "う", 3),
215 ("o", "お", 3),
216 ("triangle", "▲", 3),
217 ("regret", "∧", 3),
218 ("omega", "ω", 3),
219 ("omegabox", "ω□", 3),
220 ("fool", "はんっ!", 3),
221 ("tongue", "ぺろっ", 4),
222 ("e-", "えー", 3),
223 ("grin", "にやり", 3),
224 ]
225 def getEnglishSkinName(name):
226     for v in skinMap:
227         if v[1]==name:
228             return v[0]
229
230 def getUnicodeSkinName(name):
231     for v in skinMap:
232         if v[0]==name:
233             return v
234
235 """
236 ボーングループ名変換
237 """
238 boneGroupMap=[
239         ("IK", "IK"),
240         ("Body[u]", "体(上)"),
241         ("Hair", "髪"),
242         ("Arms", "腕"),
243         ("Fingers", "指"),
244         ("Body[l]", "体(下)"),
245         ("Legs", "足"),
246         ]
247 def getEnglishBoneGroupName(name):
248     for v in boneGroupMap:
249         if v[1]==name:
250             return v[0]
251
252 def getUnicodeBoneGroupName(name):
253     for v in boneGroupMap:
254         if v[0]==name:
255             return v[1]
256
257
258 ###############################################################################
259 # blender2.4 str to unicode
260 ###############################################################################
261 if sys.version_info[0]<3:
262     print('convert boneMap and skinMap to unicode...')
263     # python2.x
264     # unicodeに変換
265     for i, l in enumerate(boneMap):
266         replace=[]
267         for j, m in enumerate(l):
268             if j==1:
269                 replace.append(m.decode('utf-8'))
270             else:
271                 replace.append(m)
272         boneMap[i]=replace
273
274     for i, l in enumerate(skinMap):
275         replace=[]
276         for j, m in enumerate(l):
277             if j==1:
278                 replace.append(m.decode('utf-8'))
279             else:
280                 replace.append(m)
281         skinMap[i]=replace
282     print('done')        
283