Ken féle vállpánt link

Indította TrueLev, 2017-07-22, 18:04:36

2017-07-22, 18:04:36 Utolsó szerkesztés: 2017-08-06, 01:39:51 Szerző: TrueLev
Sziasztok,

Ken féle vállpántot használok, de szeretném lecserélni item_scalesre.
Valakinek megvan a Ken féle nem item_scaleshez linkje? Azért kell hogy könnyebben kivegyem, mert sajnos nincs makró.

Igazából 1 dolog miatt akarom csak lecserélni, esetleg ha erre tudna valaki megoldást már nem is szenvednék a lecserélésével mert tök jól működik. Wari karakteren kétkezest használva, mivel ugye ilyenkor a harcos előredől,
nem áll jól  a pánt. Elvileg 3dsmaxban van a pozíció beállítva (???) de ugye ha ott állítanánk akkor sima kard esetén lenne rossz. Forrásban lehetne korrigálni?


Esetleg nem rossz csonthoz van hozzárendelve a pánt? :o

Idézetet írta: TrueLev Dátum 2017-07-22, 18:04:36
Sziasztok,

Ken féle vállpántot használok, de szeretném lecserélni item_scalesre.
Valakinek megvan a Ken féle nem item_scaleshez linkje? Azért kell hogy könnyebben kivegyem, mert sajnos nincs makró.

Igazából 1 dolog miatt akarom csak lecserélni, esetleg ha erre tudna valaki megoldást már nem is szenvednék a lecserélésével mert tök jól működik. Wari karakteren kétkezest használva, mivel ugye ilyenkor a harcos előredől,
nem áll jól  a pánt. Elvileg 3dsmaxban van a pozíció beállítva (???) de ugye ha ott állítanánk akkor sima kard esetén lenne rossz. Forrásban lehetne korrigálni?

Nálam így néz ki a csonthoz rendelés:

#ifdef ENABLE_SASH_SYSTEM
void CActorInstance::AttachSash(CItemData * pItemData, float fSpecular)
{
if (!pItemData)
{
RegisterModelThing(CRaceData::PART_SASH, NULL);
SetModelInstance(CRaceData::PART_SASH, CRaceData::PART_SASH, 0);
RefreshActorInstance();
return;
}

RegisterModelThing(CRaceData::PART_SASH, pItemData->GetModelThing());
SetModelInstance(CRaceData::PART_SASH, CRaceData::PART_SASH, 0);
AttachModelInstance(CRaceData::PART_MAIN, "Bip01 Spine2", CRaceData::PART_SASH);

if (fSpecular > 0.0f)
{
SMaterialData kMaterialData;
kMaterialData.pImage = NULL;
kMaterialData.isSpecularEnable = TRUE;
kMaterialData.fSpecularPower = fSpecular;
kMaterialData.bSphereMapIndex = 1;
SetMaterialData(CRaceData::PART_SASH, NULL, kMaterialData);
}
}
#endif

“Majdnem minden tudásunkért nem azoknak tartozunk, akik egyetértettek, hanem azoknak, akik nem.”

2017-07-22, 18:20:05 #3 Utolsó szerkesztés: 2017-08-06, 01:39:17 Szerző: TrueLev
Idézetet írta: 5310pati Dátum 2017-07-22, 18:10:57
Esetleg nem rossz csonthoz van hozzárendelve a pánt? :o

Nem tudom, őszintén annyit értek a 3dsmaxhoz meg a csontokhoz meg minden ehhez kapcsolódó dologhoz mint egy.... a ... :D
Amúgy kard esetén minden fain, tehát így is lehet hogy rossz csonthoz van?

Igazából tényleg az a baj hogy a pánt marad a helyén ha kardot kétkezesre cserélek, csak az a csúnya harcos előredől a kétkezes miatt.

Idézetet írta: TrueLev Dátum 2017-07-22, 18:20:05
Idézetet írta: 5310pati Dátum 2017-07-22, 18:10:57
Esetleg nem rossz csonthoz van hozzárendelve a pánt? :o

Nem tudom, őszintén annyit értek a 3dsmaxhoz meg a csontokhoz meg minden ehhez kapcsolódó dologhoz mint egy.... a ... :D
Amúgy kard esetén minden fain, tehát így is lehet hogy rossz csonthoz van?

Igazából tényleg az a baj hogy a pánt marad a helyén ha kardot kétkezesre cserélek, csak az a csúnya harcos előredől a kétkezes miatt.

A csonthoz csatolás lesz a baj.

“Majdnem minden tudásunkért nem azoknak tartozunk, akik egyetértettek, hanem azoknak, akik nem.”

Ilyen kódot találtam ami hasonlít valamennyire a tiédre:

void CActorInstance::SetAcce(DWORD eAcce, float fSpecular)
{
m_eAcce = eAcce;
CRaceData * pRaceData;
if (!CRaceManager::Instance().GetRaceDataPointer(m_eRace, &pRaceData))
return;

CRaceData::SAcce* pkAcce = pRaceData->FindAcce(eAcce);
if (pkAcce)
{
if (!pkAcce->m_stModelFileName.empty())
{
CGraphicThing * pkAcceThing = (CGraphicThing *)CResourceManager::Instance().GetResourcePointer(pkAcce->m_stModelFileName.c_str());
RegisterModelThing(CRaceData::PART_ACCE, pkAcceThing);
SetModelInstance(CRaceData::PART_ACCE, CRaceData::PART_ACCE, 0, CRaceData::PART_MAIN);
}

const std::vector<CRaceData::SSkin>& c_rkVct_kSkin = pkAcce->m_kVct_kSkin;
std::vector<CRaceData::SSkin>::const_iterator i;
for (i = c_rkVct_kSkin.begin(); i != c_rkVct_kSkin.end(); ++i)
{
const CRaceData::SSkin& c_rkSkinItem = *i;
CResource * pkRes = CResourceManager::Instance().GetResourcePointer(c_rkSkinItem.m_stDstFileName.c_str());
if (pkRes)
{
if (fSpecular > 0.0f)
{
SMaterialData kMaterialData;
kMaterialData.pImage = static_cast<CGraphicImage*>(pkRes);
kMaterialData.isSpecularEnable = TRUE;
kMaterialData.fSpecularPower = fSpecular;
kMaterialData.bSphereMapIndex = 0;
SetMaterialData(CRaceData::PART_ACCE, c_rkSkinItem.m_stSrcFileName.c_str(), kMaterialData);
}
else
{
SetMaterialImagePointer(CRaceData::PART_ACCE, c_rkSkinItem.m_stSrcFileName.c_str(), static_cast<CGraphicImage*>(pkRes));
}
}
}
}
}


SetModelInstance(CRaceData::PART_ACCE, CRaceData::PART_ACCE, 0, CRaceData::PART_MAIN);

Csak ugye itt nálam semmilyen Bip01 Spine2 nincs :(

Idézetet írta: TrueLev Dátum 2017-07-22, 18:35:05
Ilyen kódot találtam ami hasonlít valamennyire a tiédre:

void CActorInstance::SetAcce(DWORD eAcce, float fSpecular)
{
m_eAcce = eAcce;
CRaceData * pRaceData;
if (!CRaceManager::Instance().GetRaceDataPointer(m_eRace, &pRaceData))
return;

CRaceData::SAcce* pkAcce = pRaceData->FindAcce(eAcce);
if (pkAcce)
{
if (!pkAcce->m_stModelFileName.empty())
{
CGraphicThing * pkAcceThing = (CGraphicThing *)CResourceManager::Instance().GetResourcePointer(pkAcce->m_stModelFileName.c_str());
RegisterModelThing(CRaceData::PART_ACCE, pkAcceThing);
SetModelInstance(CRaceData::PART_ACCE, CRaceData::PART_ACCE, 0, CRaceData::PART_MAIN);
}

const std::vector<CRaceData::SSkin>& c_rkVct_kSkin = pkAcce->m_kVct_kSkin;
std::vector<CRaceData::SSkin>::const_iterator i;
for (i = c_rkVct_kSkin.begin(); i != c_rkVct_kSkin.end(); ++i)
{
const CRaceData::SSkin& c_rkSkinItem = *i;
CResource * pkRes = CResourceManager::Instance().GetResourcePointer(c_rkSkinItem.m_stDstFileName.c_str());
if (pkRes)
{
if (fSpecular > 0.0f)
{
SMaterialData kMaterialData;
kMaterialData.pImage = static_cast<CGraphicImage*>(pkRes);
kMaterialData.isSpecularEnable = TRUE;
kMaterialData.fSpecularPower = fSpecular;
kMaterialData.bSphereMapIndex = 0;
SetMaterialData(CRaceData::PART_ACCE, c_rkSkinItem.m_stSrcFileName.c_str(), kMaterialData);
}
else
{
SetMaterialImagePointer(CRaceData::PART_ACCE, c_rkSkinItem.m_stSrcFileName.c_str(), static_cast<CGraphicImage*>(pkRes));
}
}
}
}
}


SetModelInstance(CRaceData::PART_ACCE, CRaceData::PART_ACCE, 0, CRaceData::PART_MAIN);

Csak ugye itt nálam semmilyen Bip01 Spine2 nincs :(

Ezt az if ágat módosítsd:

if (!pkAcce->m_stModelFileName.empty())
{
CGraphicThing * pkAcceThing = (CGraphicThing *)CResourceManager::Instance().GetResourcePointer(pkAcce->m_stModelFileName.c_str());
RegisterModelThing(CRaceData::PART_ACCE, pkAcceThing);
SetModelInstance(CRaceData::PART_ACCE, CRaceData::PART_ACCE, 0, CRaceData::PART_MAIN);
}


Erre:

if (!pkAcce->m_stModelFileName.empty())
{
CGraphicThing * pkAcceThing = (CGraphicThing *)CResourceManager::Instance().GetResourcePointer(pkAcce->m_stModelFileName.c_str());
RegisterModelThing(CRaceData::PART_ACCE, pkAcceThing);
SetModelInstance(CRaceData::PART_ACCE, CRaceData::PART_ACCE, 0);
AttachModelInstance(0, "Bip01 Spine2", CRaceData::PART_ACCE);
}

“Majdnem minden tudásunkért nem azoknak tartozunk, akik egyetértettek, hanem azoknak, akik nem.”

Amint betettem ugyanaz lett mint itt:
https://metin2dev.org/board/index.php?/topic/8870-sash-system-problem/

És itt ugye pont fordítva mondják

Idézetet írta: TrueLev Dátum 2017-07-22, 18:49:34
Amint betettem ugyanaz lett mint itt:
https://metin2dev.org/board/index.php?/topic/8870-sash-system-problem/

És itt ugye pont fordítva mondják

Ahogy írtam úgy nézd meg.

“Majdnem minden tudásunkért nem azoknak tartozunk, akik egyetértettek, hanem azoknak, akik nem.”

Mondom megnéztem, ahogy betettem olyan hibám lett mint a deves képen.

Idézetet írta: TrueLev Dátum 2017-07-22, 18:52:18
Mondom megnéztem, ahogy betettem olyan hibám lett mint a deves képen.

Hát akkor passz.

“Majdnem minden tudásunkért nem azoknak tartozunk, akik egyetértettek, hanem azoknak, akik nem.”

Amúgy akkor valaki tud adni linket ehhez a without scale by ken hogy kitudjam szedni és betenni az officialost?
Minden link halott amit találtam.

2017-07-24, 00:23:10 #12 Utolsó szerkesztés: 2017-08-06, 01:38:24 Szerző: TrueLev
Mind1

Pedig item scales rendszernek semmi baja, szóval ott valamit elnéztél. És sajnos a "ken" féle pánt rendszerben, ha egy picit nem konyítassz hozzá, akkor nehéz dolgod lesz megcsinálnod.

AttachModelInstance(CRaceData::PART_MAIN, "Bip01 Spine2", CRaceData::PART_SASH);
Köhöm... a Bip01 Neck-hez kéne rendelni a pántot, mivel a Spine2 azt én ink csípő/derékcsontnak hívnám:
(a piros a Spine02 és 1-gyel felette van a Neck)

2017-07-24, 10:00:09 #15 Utolsó szerkesztés: 2017-08-06, 01:37:44 Szerző: TrueLev
Azzal a kóddal nem jelenik meg a pánt, amúgy gondolom nem is azért írtad.

2017-07-25, 19:36:36 #16 Utolsó szerkesztés: 2017-08-06, 01:37:24 Szerző: TrueLev
Megoldva