Skip to content

Commit

Permalink
Merge pull request #18 from miu200521358/work_4.02
Browse files Browse the repository at this point in the history
Work 4.02
  • Loading branch information
miu200521358 authored Nov 17, 2019
2 parents a194589 + a679540 commit b086ed2
Show file tree
Hide file tree
Showing 11 changed files with 529 additions and 60 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
* text=auto
*.bat text eol=crlf
*.csv text eol=crlf
*.spec text encoding=cp932
2 changes: 1 addition & 1 deletion VmdSizing_32bit.spec
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ exe = EXE(pyz,
a.zipfiles,
a.datas,
[],
name='VmdSizing_4.01_32bit',
name='VmdSizing_4.04_32bit',
debug=False,
bootloader_ignore_signals=False,
strip=False,
Expand Down
2 changes: 1 addition & 1 deletion VmdSizing_64bit.spec
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ exe = EXE(pyz,
a.zipfiles,
a.datas,
[],
name='VmdSizing_4.01_64bit',
name='VmdSizing_4.02_64bit',
debug=False,
bootloader_ignore_signals=False,
strip=False,
Expand Down
24 changes: 18 additions & 6 deletions archive/Readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

�@�uVMD�T�C�W���O�@���[�J���Łv

�@�@ver4.00
�@�@ver4.02

�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@miu200521358

Expand Down Expand Up @@ -41,12 +41,15 @@

�� �z�z����@------------------------------------

�@VMD�T�C�W���O�ɃJ�����Ə����킹�����Ă݂��yver4.00�z�yMMD�tZERO2�Q������z
�@VMD�T�C�W���O�Ɏ��ʒu���킹�����Ă݂��yver3.00�z�i��{�I�Ȏg�����j
�@https://www.nicovideo.jp/watch/sm35452570

�@VMD�T�C�W���O�ɃJ�����Ə����킹�����Ă݂��yver4.00�z�yMMD�tZERO2�Q������z�i�J�����E���ʒu���킹���j
�@https://www.nicovideo.jp/watch/sm35860963

�� �����t�@�C���@------------------------------------

�@�EVMDSizing_4.00_xxbit.exe�@�@�@�c�@�c�[���{��(32bit�� or 64bit��)
�@�EVMDSizing_4.02_xxbit.exe�@�@�@�c�@�c�[���{��(32bit�� or 64bit��)
�@�EReadme.txt�@�@�@�@�@�@�@�@�@�@�c�@���h�~
�@�EVMD�T�C�W���OWiki�@�@�@�@�@�@ �c�@Wiki�ւ̃����N
�@�E���[�t�u���T���v���@�@�@�@�@�@�c�@���[�t�u���̃T���v���W�i�ڍׂ͒��Q�Ɓj
Expand All @@ -67,7 +70,7 @@

�@https://github.com/miu200521358/vmd_sizing/wiki/02.-�g����

�@�ȒP�Ȏg�����̑��AFAQ��쐬�����f�������‚���Ȃ������ꍇ�̑Ή����@�ȂǁAWiki�ɐ����L�ڂ��Ă��܂��B
�@�ȒP�Ȏg�����̑��AFAQ��쐬�����f�������‚���Ȃ������ꍇ�̑Ή����@�ȂǁA����Wiki�ɋL�ڂ��Ă��܂��B


�� �g�p���� ���@---------------------------------
Expand All @@ -93,14 +96,18 @@

�@�@�����������[�V�����Ɋւ��āA�ȉ��̍s�ׂ͂������肢�܂�

�@�@�E���X�̃��[�V�����̋K��͈͊O�̍s��
�@�@�E���X�̃��[�V�����⃂�f�����̋K��͈͊O�̍s��
�@�@�E���[�V�����̊��S���씭��
�@�@�E�e�����җl�̂����f�ɂȂ�悤�ȍs��
�@�@�E�c���ړI�̗��p
�@�@�E���҂̔�排����ړI�̗��p�i�񎟌��E�O�����s��j
�@�@�E�ߓx�Ȗ\�́E�����E�����E�Š�I�E�����I�E�@���I�\�����܂ށiR-15�����j��i�ւ̗��p
�@�@�E���̑��A�����Ǒ��ɔ������i�ւ̗��p

�@�@���@ver4.02���ȉ��̎������֎~�������珜�O�������܂��B
�@�@�@�w�ߓx�Ȗ\�́E�����E�����E�Š�I�E�����I�E�@���I�\�����܂ށiR-15�����j��i�ւ̗��p�x

�@�@�@�E�K�����X�̃��[�V�����⃂�f�����̋K��͈͂����m�F�̏�A�����p���������B
�@�@�@�E�܂���i�����J�����ۂɂ́A�����������̂��z������낵�����肢�������܂��B

�@�s�Ɛӎ����t

Expand Down Expand Up @@ -133,6 +140,11 @@ https://github.com/miu200521358/vmd_sizing

�� �����@----------------------------------------

ver4.02�@�i2019/11/17�j
�@�@�E���ʒu���킹�I�v�V�����̎��⑫�Ə��̋����������p�����[�^�[�O����
�@�@�E�e�{�[����H�鏈���ŁA�z�ŽQ�ƂŖ������[�v�G���[�ɂȂ����ꍇ�Ɍx�����b�Z�[�W���o�͂���悤�����lj�
�@�@�EBugfix: ���f�����ɓ��{��E�p��(cp932)�ȊO�̕����������Ă���ꍇ�ɃG���[�ƂȂ��Ă����̂��C��

ver4.01�@�i2019/10/29�j
�@�@�EBugfix: �u�Z���^�[�v���Ȃ����f����ϊ���Ɏw�肷��Ɨ����Ă��܂��Ă����̂��C��

Expand Down
31 changes: 25 additions & 6 deletions src/PmxModel.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,8 +73,20 @@ def check_arm_bone_can_sizing(self):
# el
if "左手首" in self.bones:
# 指がない場合、手首まででチェック
ss_parent_bones, _ = self.create_link_2_top("左手首")
all_parent_bones, _ = self.create_link_2_top_all("左手首")
try:
ss_parent_bones, _ = self.create_link_2_top("左手首")
all_parent_bones, _ = self.create_link_2_top_all("左手首")
except SizingException as e:
print("■■■■■■■■■■■■■■■■■")
print("■ **WARNING** ")
print("■ モデルの手首から一番親のボーンまでの繋がりをチェック中にエラーが発生しました。")
print("■ 読み込み処理を中断します。")
print("■■■■■■■■■■■■■■■■■")
print("")
print(e.message)
print("")

return False
else:
# 手首も指もない場合、サイジング不可
return False
Expand Down Expand Up @@ -225,6 +237,7 @@ def get_bone_vertex_position(self, bone_name, bone_pos, is_target=None, is_only=
bone_idx_list = []
for bk, bv in self.bones.items():
if ((not is_only and bone_name in bk) or (is_only and bone_name == bk)) and bv.index in self.vertices :
logger.info("bk: %s, bv: %s", bk, bv.index)
# ボーン名が指定文字列を含んでおり、かつそのボーンにウェイトが乗っている頂点がある場合、対象
# 特定ボーンのみの場合、ボーン名が一致していることが条件
bone_idx_list.append(bv.index)
Expand All @@ -234,7 +247,7 @@ def get_bone_vertex_position(self, bone_name, bone_pos, is_target=None, is_only=
# ウェイトボーンがない場合、初期値
return QVector3D(), QVector3D(), QVector3D(), QVector3D(), None, None, None, None

logger.debug("bone_name: %s, bone_idx_list:%s", bone_name, bone_idx_list)
logger.info("model: %s, bone_name: %s, bone_idx_list:%s", self.name, bone_name, bone_idx_list)

max_bone_upper_pos = QVector3D(0, -99999, 0)
min_bone_below_pos = QVector3D(0, 99999, 0)
Expand Down Expand Up @@ -503,7 +516,7 @@ def create_link_2_top(self, start_bone, ik_links=None, ik_indexes=None):
# print("start_bone: %s" % start_bone)

direction = start_bone[0:1]

if "足底辺" in start_bone and "{0}足IK".format(direction) in self.bones:
direction = start_bone[0:1]
start_type_bone = start_bone[1:]
Expand Down Expand Up @@ -568,7 +581,10 @@ def create_link_2_top(self, start_bone, ik_links=None, ik_indexes=None):
logger.debug("start_bone: %s. parent_name: %s, start_type_bone: %s", start_bone, parent_name, start_type_bone)

# 親をたどる
return self.create_link_2_top(parent_name, ik_links, ik_indexes )
try:
return self.create_link_2_top(parent_name, ik_links, ik_indexes )
except RecursionError as e:
raise SizingException("ボーンリンクの生成に失敗しました。\nモデル「%s」で以下を確認してください。\n・同じ名前のボーンが複数ないか(ボーンのINDEXがズレるため、サイジングに失敗します)\n・親ボーンに自分の名前と同じ名前のボーンが指定されていないか\n※ PMXEditorの「PMXデータの状態検証」から確認できます。" % ( self.name, start_type_bone) )

# ボーン関係親子のペア
PARENT_BORN_PAIR = {
Expand Down Expand Up @@ -692,7 +708,10 @@ def create_link_2_top_all(self, start_bone, ik_links=None, ik_indexes=None):
logger.debug("start_bone: %s. parent_name: %s, start_type_bone: %s", start_bone, parent_name, start_type_bone)

# 親をたどる
return self.create_link_2_top_all(parent_name, ik_links, ik_indexes )
try:
return self.create_link_2_top_all(parent_name, ik_links, ik_indexes )
except RecursionError as e:
raise SizingException("ボーンリンクの生成に失敗しました。\nモデル「%s」で以下を確認してください。\n・同じ名前のボーンが複数ないか(ボーンのINDEXがズレるため、サイジングに失敗します)\n・親ボーンに自分の名前と同じ名前のボーンが指定されていないか\n※ PMXEditorの「PMXデータの状態検証」から確認できます。" % ( self.name) )


# 頂点構造 ----------------------------
Expand Down
Loading

0 comments on commit b086ed2

Please sign in to comment.