Dennis-Bieser Posted January 22, 2018 Posted January 22, 2018 @tekken57 I would suggest for the next X-Rey update an Batch import collada function. It's a big effort to import over 300 single files. I would donate for the update! Quote
AznBlusuazn Posted January 23, 2018 Posted January 23, 2018 4 hours ago, Dennis-Bieser said: @tekken57 I would suggest for the next X-Rey update an Batch import collada function. It's a big effort to import over 300 single files. I would donate for the update! I second this tekken. Batch import collada and batch export/import bones please! Will donate to the cause as well! Quote
tekken57 Posted January 23, 2018 Author Posted January 23, 2018 On 1/11/2018 at 10:32 PM, hovathagod32 said: yeah, i have. is there any data stored anywhere else? i ran the previous version of xrey and it doesn't have this problem No all the data is stored within the X-Rey folder. I'll be releasing an update soon, maybe it will fix your issue. On 1/11/2018 at 10:45 PM, LordJustice17 said: @tekken57 Do you have any idea if it would be possible to update your maxscripts to mass import all YOBJs in a directory? I'd love to start using a newer 3DSMax, but I'm still stuck on 2011 because the mass import functionality of BrienJ's plugin is a must have for arena modders. It should be possible. Work is incredibly busy for me at the moment, but I'll look into it when I get some time. 10 hours ago, Dennis-Bieser said: @tekken57 I would suggest for the next X-Rey update an Batch import collada function. It's a big effort to import over 300 single files. I would donate for the update! 6 hours ago, AznBlusuazn said: I second this tekken. Batch import collada and batch export/import bones please! Will donate to the cause as well! I'll look into it. The batch export and import of bones won't be very difficult to code, but the collada import might be. There's lots of checks and conversions which take place on the collada import. I'm busy finalizing the UV import function in X-Rey at the moment. Been working on this to test: 2 4 Quote
tekken57 Posted January 30, 2018 Author Posted January 30, 2018 Alright I'm done with the Uv mapping functions in X-Rey. Will look into the batch functions when my work situation is less hectic. Finished my Goldberg mod using the new UV remapping functions and it seems to work without issue: 3 2 1 Quote
hovathagod32 Posted January 30, 2018 Posted January 30, 2018 Dope! Also, we had a few people with the latest X-Rey screen shot their app.. That rotational problem that I was having seems to be an issue with the update.. Not just for people messing around with Caw objects Quote
tekken57 Posted January 30, 2018 Author Posted January 30, 2018 2 hours ago, hovathagod32 said: Dope! Also, we had a few people with the latest X-Rey screen shot their app.. That rotational problem that I was having seems to be an issue with the update.. Not just for people messing around with Caw objects Email me one of the punk files and the preview object which is generated when you view the object eg object 1. The preview object will be called preview full.obj i want to confirm if the values are correct Quote
tekken57 Posted January 31, 2018 Author Posted January 31, 2018 On 1/11/2018 at 10:45 PM, LordJustice17 said: @tekken57 Do you have any idea if it would be possible to update your maxscripts to mass import all YOBJs in a directory? I'd love to start using a newer 3DSMax, but I'm still stuck on 2011 because the mass import functionality of BrienJ's plugin is a must have for arena modders. Had some time to code a script to import multiple yobj files. Try it out and let me know if it works for you. Be careful though, as it imports all the yobj files in a directory and multiple wrestler yobj files take a very long time to load due to the large amount of bones. Download here: http://velocicosm.com/5BKz Or plain text version in case the link expires: -- Script created by Chrrox from Xentax.com -- Edited by tekken57 for importing of newer models if (heapSize < 200000) then heapSize = 2000000 -- allow ~ 40 MB instead of just 7.5 MB. Prevents "Runtime Error: Out of scripter memory" clearlistener() --fname = getOpenFileName \ --caption:"WWE2012 upwards Model File" \ --types:"WWEModel File(*.yobj)|*.yobj" \ --historyCategory:"WWE Object Presets" fn vToC valueVal = --accepts a point3 value, returns an equivalent color value ( return [(valueVal.x*255 as integer), (valueVal.y*255 as integer), (valueVal.z*255 as integer)] as color ) fn cToV colorVal = --accepts a color value, returns an equivalent point3 value ( tempVal = colorVal as point3 return [(tempVal.x/255), (tempVal.y/255), (tempVal.z/255)] ) fn RGBtoFPC clrRGB = (color (clrRGB.r/255) (clrRGB.g/255) (clrRGB.b/255)) fn FPCtoRGB clrFPC = (color (clrFPC.r*255) (clrFPC.g*255) (clrFPC.b*255)) fn ReadBEShort fstream = ( short = readshort fstream #unsigned short = bit.swapBytes short 2 1 b = (bit.get short 16) for i = 17 to 32 do short = bit.set short i b return short ) fn PrintOffset Var = ( local Var = Var print ("This is the offset 0x" + (bit.intAsHex Var) as string) Var ) fn floatSwap2 f = ( i = bit.floatAsInt f h = bit.intashex i while h.count < 8 do h = "0" + h s = (substring h 7 2) + (substring h 5 2) + (substring h 3 2) + (substring h 1 2) bit.intAsFloat (bit.hexasint s) ) fn ReadBEword fstream = ( return (bit.swapBytes (readshort fstream #unsigned) 1 2) ) fn convertTo32 input16 = ( inputAsInt = input16 sign = bit.get inputAsInt 16 exponent = (bit.shift (bit.and inputAsInt (bit.hexasint "7C00")) -10) as integer - 16 fraction = bit.and inputAsInt (bit.hexasint "03FF") if sign==true then sign = 1 else sign = 0 exponentF = exponent + 127 --Ouput 32 bit integer representing a 32 bit float outputAsFloat = bit.or (bit.or (bit.shift fraction 13) (bit.shift exponentF 23)) (bit.shift sign 31) --Output Check return bit.intasfloat outputasfloat ) fn ReadBEHalfFloat fstream = ( return convertTo32(ReadBEword fstream) ) fn ReadHalfFloat fstream = ( return convertTo32(readshort fstream#unsigned) ) fn ReadBElong fstream = ( long = readlong fstream long = bit.swapBytes long 1 4 long = bit.swapBytes long 2 3 return long ) fn ReadBEfloat fstream = ( return floatSwap2(readfloat fstream) ) fn ReadFixedString bstream fixedLen = ( local str = "" for i = 1 to fixedLen do ( str += bit.intAsChar (ReadByte bstream #unsigned) ) str ) struct weight_data ( boneids,weights ) fn ReadMesh filePath = ( f = fopen filePath "rb" Idstring = ReadFixedString f 4 Totalsize = ReadBElong f Unk001 = ReadBElong f Unk002 = ReadBElong f Unk003 = ReadBElong f Unk004 = ReadBElong f MeshCount = ReadBElong f MeshOff = ReadBElong f + 8 BoneCount = ReadBElong f TexCount = ReadBElong f BoneOffset = ReadBElong f + 8 TexOff = ReadBElong f + 8 MnameOff = ReadBElong f + 8 MnameCount = ReadBElong f Unk013 = ReadBElong f Unk014 = ReadBElong f Unk015 = ReadBElong f Unk016 = ReadBElong f fseek f BoneOffset#seek_set tarr = #() rarr = #() qarr = #() Barr = #() Parr = #() for a = 1 to BoneCount Do ( BoneName = ReadFixedString f 16 tx = ReadBEfloat f ty = ReadBEfloat f tz = ReadBEfloat f tw = ReadBEfloat f rx = (ReadBEfloat f * 180) / pi ry = (ReadBEfloat f * 180) / pi rz = (ReadBEfloat f * 180) / pi rw = ReadBEfloat f parent = ReadBElong f fseek f 0xC#seek_cur qx = ReadBEfloat f qy = ReadBEfloat f qz = ReadBEfloat f qw = ReadBEfloat f tfm = (eulerangles rx ry rz) as matrix3 append tarr [tx,ty,tz] append rarr tfm append qarr [qx,qy,qz,qw] append Barr BoneName append Parr parent ) BNArr = #() for a = 1 to BoneCount Do ( if isvalidnode (getNodeByName Barr[a]) != true then ( tfm = rarr[a] tfm.row4 = tarr[a] if (Parr[a] != -1) do ( tfm = tfm * BNArr[(Parr[a] + 1)].objecttransform ) newBone = bonesys.createbone \ tfm.row4 \ (tfm.row4 + 0.01 * (normalize tfm.row1)) \ (normalize tfm.row3) newBone.name = Barr[a] newBone.width = 0.01 newBone.height = 0.01 newBone.transform = tfm newBone.setBoneEnable false 0 newBone.wirecolor = yellow newbone.showlinks = true newBone.pos.controller = TCB_position () newBone.rotation.controller = TCB_rotation () ) if isvalidnode (getNodeByName Barr[a]) == true then ( newBone = getNodeByName Barr[a] ) if (Parr[a] != -1) then newBone.parent = BNArr[(Parr[a] + 1)] append BNArr newBone ) format "BoneCount % \n" BoneCount struct Mesh_Info_Struct ( Objname,VertOff,WeightOff,UVOff,MatPCount,matPOff,FaceOff,FaceSec,VertCount,WeightCount,BtableStart, VertColorOff ) fseek f MeshOff#seek_set Mesh_Info_Arr = #() for a = 1 to MeshCount Do ( VCount1 = ReadBElong f FaceSec = ReadBElong f BtableStart = (ftell f) UsedBoneID = ReadBElong f fseek f 0x50#seek_cur WeightCount = ReadBElong f Unk102 = ReadBElong f Unk103 = ReadBElong f VertOff = ReadBElong f + 8 WeightOff = ReadBElong f + 8 UVOff = ReadBElong f + 8 VertColorOff = ReadBElong f + 8 Unk107 = ReadBElong f Objname = ReadFixedString f 16 Unk108 = ReadBElong f Unk109 = ReadBElong f MatPCount = ReadBElong f matPOff = ReadBElong f + 8 FaceOff = ReadBElong f + 8 VertCount = ReadBElong f Unk114 = ReadBElong f fseek f 0x10#seek_cur append Mesh_Info_Arr (Mesh_Info_Struct Objname:Objname VertOff:VertOff WeightOff:WeightOff UVOff:UVOff MatPCount:MatPCount matPOff:matPOff FaceOff:FaceOff FaceSec:FaceSec VertCount:VertCount WeightCount:WeightCount BtableStart:BtableStart VertColorOff:VertColorOff) ) --print Mesh_Info_Arr for a = 1 to MeshCount Do ( --for a = 1 to 1 Do ( Vert_array = #() Normal_array = #() UV_array = #() Face_array = #() Weight_array = #() UsedBonesPCArray = #() VertexColor_array = #() fseek f Mesh_Info_Arr[a].VertOff#seek_set --scale1 = ReadBEfloat f scale1 = 10 VertOff = ReadBElong f + 8 --print VertOff fseek f VertOff#seek_set --print scale1 for b = 1 to Mesh_Info_Arr[a].VertCount Do ( vx = ReadBEfloat f vy = ReadBEfloat f vz = ReadBEfloat f --fseek f 0x10#seek_cur append Vert_array [vx,vy,vz] nx = ReadBEfloat f --read xyz coordinates ny = ReadBEfloat f nz = ReadBEfloat f unk4444 = ReadBEfloat f append Normal_array [nx,ny,nz] ) fseek f Mesh_Info_Arr[a].UVOff#seek_set for b = 1 to Mesh_Info_Arr[a].VertCount Do ( tu = ReadBEfloat f tv = ReadBEfloat f * -1 append UV_array [tu,tv,0] ) --format "vertcolor offset %\n" Mesh_Info_Arr[a].VertColorOff fseek f Mesh_Info_Arr[a].VertColorOff#seek_set for b = 1 to Mesh_Info_Arr[a].VertCount Do ( vcx = ReadBEfloat f vcy = ReadBEfloat f vcz = ReadBEfloat f append VertexColor_array [vcx,vcy,vcz] --format "vc % % %\n" vcx vcy vcz ) fseek f Mesh_Info_Arr[a].WeightOff#seek_set for b = 1 to Mesh_Info_Arr[a].VertCount Do ( Bone1 = -1 Bone2 = -1 Bone3 = -1 Bone4 = -1 Bone5 = -1 Bone6 = -1 Bone7 = -1 if Mesh_Info_Arr[a].WeightCount == 1 do ( Bone1 = readbyte f fseek f 0x3#seek_cur Weight1 = ReadBEfloat f ) if Mesh_Info_Arr[a].WeightCount == 2 do ( Bone1 = readbyte f fseek f 0x3#seek_cur Weight1 = ReadBEfloat f Bone2 = readbyte f fseek f 0x3#seek_cur Weight2 = ReadBEfloat f ) if Mesh_Info_Arr[a].WeightCount == 3 do ( Bone1 = readbyte f fseek f 0x3#seek_cur Weight1 = ReadBEfloat f Bone2 = readbyte f fseek f 0x3#seek_cur Weight2 = ReadBEfloat f Bone3 = readbyte f fseek f 0x3#seek_cur Weight3 = ReadBEfloat f ) if Mesh_Info_Arr[a].WeightCount == 4 do ( Bone1 = readbyte f fseek f 0x3#seek_cur Weight1 = ReadBEfloat f Bone2 = readbyte f fseek f 0x3#seek_cur Weight2 = ReadBEfloat f Bone3 = readbyte f fseek f 0x3#seek_cur Weight3 = ReadBEfloat f Bone4 = readbyte f fseek f 0x3#seek_cur Weight4 = readfloat f ) if Mesh_Info_Arr[a].WeightCount == 5 do ( Bone1 = readbyte f fseek f 0x3#seek_cur Weight1 = ReadBEfloat f Bone2 = readbyte f fseek f 0x3#seek_cur Weight2 = ReadBEfloat f Bone3 = readbyte f fseek f 0x3#seek_cur Weight3 = ReadBEfloat f Bone4 = readbyte f fseek f 0x3#seek_cur Weight4 = readfloat f Bone5 = readbyte f fseek f 0x3#seek_cur Weight5 = readfloat f ) if Mesh_Info_Arr[a].WeightCount == 6 do ( Bone1 = readbyte f fseek f 0x3#seek_cur Weight1 = ReadBEfloat f Bone2 = readbyte f fseek f 0x3#seek_cur Weight2 = ReadBEfloat f Bone3 = readbyte f fseek f 0x3#seek_cur Weight3 = ReadBEfloat f Bone4 = readbyte f fseek f 0x3#seek_cur Weight4 = readfloat f Bone5 = readbyte f fseek f 0x3#seek_cur Weight5 = readfloat f Bone6 = readbyte f fseek f 0x3#seek_cur Weight6 = readfloat f ) if Mesh_Info_Arr[a].WeightCount == 7 do ( Bone1 = readbyte f fseek f 0x3#seek_cur Weight1 = ReadBEfloat f Bone2 = readbyte f fseek f 0x3#seek_cur Weight2 = ReadBEfloat f Bone3 = readbyte f fseek f 0x3#seek_cur Weight3 = ReadBEfloat f Bone4 = readbyte f fseek f 0x3#seek_cur Weight4 = readfloat f Bone5 = readbyte f fseek f 0x3#seek_cur Weight5 = readfloat f Bone6 = readbyte f fseek f 0x3#seek_cur Weight6 = readfloat f Bone7 = readbyte f fseek f 0x3#seek_cur Weight7 = readfloat f ) w = (weight_data boneids:#() weights:#()) maxweight = 0 if(Bone1 != -1) then maxweight = maxweight + weight1 if(Bone2 != -1) then maxweight = maxweight + weight2 if(Bone3 != -1) then maxweight = maxweight + weight3 if(Bone4 != -1) then maxweight = maxweight + weight4 if(Bone5 != -1) then maxweight = maxweight + weight5 if(Bone6 != -1) then maxweight = maxweight + weight6 if(Bone7 != -1) then maxweight = maxweight + weight7 if(maxweight != 0) then ( if(Bone1 > -1 ) then ( w1 = weight1 as float append w.boneids (bone1 + 1) append w.weights w1 if (bone1 + 1 > -1) then ( appendIfUnique UsedBonesPCArray (bone1 + 1) ) ) if(Bone2 > -1 ) then ( w2 = weight2 as float append w.boneids (bone2 + 1) append w.weights w2 if (bone2 + 1 > -1) then ( appendIfUnique UsedBonesPCArray (bone2 + 1) ) ) if(Bone3 > -1) then ( w3 = weight3 as float append w.boneids (bone3 + 1) append w.weights w3 if (bone3 + 1 > -1) then ( appendIfUnique UsedBonesPCArray (bone3 + 1) ) ) if(Bone4 > -1 ) then ( w4 = weight4 as float append w.boneids (bone4 + 1) append w.weights w4 if (bone4 + 1 > -1) then ( appendIfUnique UsedBonesPCArray (bone4 + 1) ) ) if(Bone5 > -1) then ( w5 = weight5 as float append w.boneids (bone5 + 1) append w.weights w5 if (bone5 + 1 > -1) then ( appendIfUnique UsedBonesPCArray (bone5 + 1) ) ) if(Bone6 > -1 ) then ( w6 = weight6 as float append w.boneids (bone6 + 1) append w.weights w6 if (bone6 + 1 > -1) then ( appendIfUnique UsedBonesPCArray (bone6 + 1) ) ) if(Bone7 > -1 ) then ( w7 = weight7 as float append w.boneids (bone7 + 1) append w.weights w7 if (bone7 + 1 > -1) then ( appendIfUnique UsedBonesPCArray (bone7 + 1) ) ) ) append Weight_array w ) fseek f Mesh_Info_Arr[a].FaceOff#seek_set Ftmp = #() for b = 1 to Mesh_Info_Arr[a].FaceSec Do ( FSize = ReadBElong f as float FCount = ReadBElong f as float FStart = (ReadBElong f + 8) as float append Ftmp [FSize,FCount,FStart] ) for b = 1 to Mesh_Info_Arr[a].FaceSec Do ( fseek f Ftmp[b].z#seek_set FaceEnd = ((ftell f) + (2 * Ftmp[b].y)) StartDirection = 1 Face_array2 = #() f1 = ReadBEword f + 1 f2 = ReadBEword f + 1 FaceDirection = StartDirection do ( f3 = ReadBEword f if (f3==0xFFFF) then ( f1 = ReadBEword f + 1 f2 = ReadBEword f + 1 FaceDirection = StartDirection ) else ( f3 += 1 FaceDirection *= -1 if (f1!=f2)AND(f2!=f3)AND(f3!=f1) then ( append Face_array2 [(f1),(f2),(f3)] if FaceDirection > 0 then append Face_array [(f1),(f2),(f3)] else append Face_array [(f1),(f3),(f2)] ) f1 = f2 f2 = f3 ) )while (ftell f) < (FaceEnd) ) fseek f Mesh_Info_Arr[a].BtableStart#seek_set usedID = ReadBElong f Used_Bone_array = #() for b = 1 to usedID do ( bid = ReadBElong f append Used_Bone_array bid ) msh = mesh vertices:Vert_array faces:Face_array normals:Normal_array msh.numTVerts = UV_array.count buildTVFaces msh --msh.name = Mesh_Name_array[a] --msh.material = meditMaterials[1].materialList[(MatSlotTexID[a])] for j = 1 to UV_array.count do setTVert msh j UV_array[j] for j = 1 to Face_array.count do setTVFace msh j Face_array[j] for j = 1 to Normal_array.count do setNormal msh j Normal_array[j] setNumCPVVerts msh UV_array.count defaultVCFaces msh for j = 1 to VertexColor_array.count do ( vertColor = VertexColor_array[j] as point3 convertedColor = vToC (vertColor) as color --convertedColor = vertColor as color --format "convertedColor %\n" convertedColor setvertcolor msh j convertedColor ) max modify mode select msh skinMod = skin () addModifier msh skinMod print "skinOps.getNumberVertices" format "vCnt skinMod %\n" (skinOps.getNumberVertices skinMod) if Used_Bone_array.count != 0 then ( for i = 1 to Used_Bone_array.count do ( maxbone = BNArr[(Used_Bone_array[i])] if i != Used_Bone_array.count then skinOps.addBone skinMod maxbone 0 else skinOps.addBone skinMod maxbone 1 ) ) else ( for i = 1 to UsedBonesPCArray.count do ( --format "bone array % \n" UsedBonesPCArray[i] --format "boneid % \n" UsedBonesPCArray[i] --maxbone = BNArr[(UsedBonesPCArray[i])] maxbone = BNArr[(UsedBonesPCArray[i])] if i != UsedBonesPCArray.count then skinOps.addBone skinMod maxbone 0 else skinOps.addBone skinMod maxbone 1 ) ) modPanel.setCurrentObject skinMod print "weight array count" print Weight_array.count for i = 1 to Weight_array.count do ( w = Weight_array[i] bi = #() wv = #() for j = 1 to w.boneids.count do ( --format "boneId % index % \n " w.boneids[j] (findItem UsedBonesPCArray w.boneids[j]) if Used_Bone_array.count != 0 then ( boneid = w.boneids[j] ) else ( boneid = findItem UsedBonesPCArray w.boneids[j] ) weight = w.weights[j] append bi boneid append wv weight --format "boneId % weight % \n " boneid weight ) --skinOps.ReplaceVertexWeights skinMod i bi wv ) max create mode ) fclose f ) fdirname = getSavePath caption:"WWE2012 upwards Model File" initialDir:"$scripts" print (fdirname + "\\*.yobj") files = getFiles (fdirname + "\\*.yobj") for f in files do (ReadMesh f; print f) 1 1 Quote
hovathagod32 Posted January 31, 2018 Posted January 31, 2018 That's exactly what we need. I just tested it, and it imports everything, but all of the objects are all darkened out When I flip everything upside down it shows up a bit, but this is from a reversed view. I do have a request, if possible.. Is it possible for objs to keep their YOBJ name? With a lot of YOBJs there's more than one object within the file. It's helpful when you have 25_0.obj, 25_1.obj, 25_2.obj, so on and so forth. Quote
tekken57 Posted February 1, 2018 Author Posted February 1, 2018 X-Rey 2.7 has been released and emailed to all who have donated: New features in 2.7: - UV support (importing and exporting) for models from WWE 2k16 upwards. - Bulk export and import of bones - Bulk import of Collada bone objects This is probably the last update I will be coding to X-Rey. Thank you to all of you for your support over the years. @hovathagod32 , have you tried adding a light to your scene? I'm not sure if maxscript allows for naming of objects. Will look into it. 2 3 Quote
hovathagod32 Posted February 1, 2018 Posted February 1, 2018 Thank you.. I'll try messing around with lights. I briefly tried adding sunlight and nothing changed Quote
tekken57 Posted February 1, 2018 Author Posted February 1, 2018 25 minutes ago, hovathagod32 said: Thank you.. I'll try messing around with lights. I briefly tried adding sunlight and nothing changed Add a free light and position it on your object. I've tried removing the skin modifier, but the lighting remains the same, so adding lights yourself should sort your issue out. Looking into the naming at the moment. Quote
tekken57 Posted February 1, 2018 Author Posted February 1, 2018 Edit: Added code to name the objects as requested and also fixed the lighting. Script is a bit slower as a result, but let it run even it appears like 3dsmax is frozen. Download here: http://velocicosm.com/7URI 2 1 Quote
hovathagod32 Posted February 1, 2018 Posted February 1, 2018 Hey, I forgot to ask. I noticed that you had CAW Yobj in the last update.. Did anything come of that since the last time we spoke about it? Quote
tekken57 Posted February 2, 2018 Author Posted February 2, 2018 6 hours ago, hovathagod32 said: Hey, I forgot to ask. I noticed that you had CAW Yobj in the last update.. Did anything come of that since the last time we spoke about it? I looked into it but never made any headway. Forgot to delete the menu option before sending out the new X-rey. Quote
luis2k17 Posted June 13, 2018 Posted June 13, 2018 On 11/16/2016 at 7:30 AM, tekken57 said: Users please note: This is the final update to X-Rey and X-Packer. I will not be doing further development for X-Packer and X-Rey for 2k18. I will be ending user support for both these applications on 11 October 2017. If you have any issues with either application, you are still welcome to email me. I would like to take the time to thank each and everyone of you for your support over the years. I have really enjoyed seeing and using the mods which were created with my tools. Coding X-Packer has been a really fulfilling and joyful experience for me over the past 9 years. Take care and best wishes to all of you. What is X-Packer? X-PacKer es una aplicación que te permite extraer e inyectar archivos y texturas de archivos de luchadores pac y archivos de texturas de la serie de juegos WWE. También permite editar los archivos guardados para xbox 360, ps3 y pc. Esto permite el modding del juego. Plataformas compatibles: Ps3, xbox 360, ps2, wii, PC. Lista de características: Hidden Content Tenga en cuenta que no hay una funcionalidad de actualización de arco para 2k17 en xbox 360 y ps3 debido al nuevo formato de arco. Esto significa que, por el momento, los nuevos luchadores y atuendos no se pueden agregar al juego en xbox 360 y ps3. Versión 2.0. ha sido liberado. No he solicitado otra donación para ninguna actualización en los cuatro años que he lanzado X-Rey, sin embargo, esta versión ha requerido una gran cantidad de trabajo para completar la codificación. Para ser justos, aquellos que han donado después de la fecha de lanzamiento del 11 de octubre de 2016 recibirán la actualización sin costo adicional. Para ser claros, todas las versiones anteriores de X-Rey funcionan con los modelos 2k17. Solo necesitará X-Rey v2.0 si planea crear animaciones faciales como se describe en este tutorial: https://www.youtube.com/watch? v = kMym6NUiBqA ¿Qué hace el programa?: Hidden Content Lo que el programa no hace: Hidden Content Software Prerrequisito: Tendrá que instalar el kit de herramientas SlimDX como requisito previo para que este programa funcione. El kit de herramientas se puede descargar aquí: http://code.google.com/p/slimdx/downloads/detail?name=SlimDX%20SDK%20%28January%202012%29.msi Tenga en cuenta que la clave de serie es específica de una sola computadora. Por favor envíeme la clave de serie desde la computadora en la que hará sus modificaciones. Si planea formatear su computadora o actualizar su sistema operativo, hágalo primero antes de instalar X-Rey y solicitando una clave de activación. Si ha actualizado su PC y tiene una nueva clave de serie, tendrá que comprar una nueva licencia. Controles básicos para el programa: Hidden Content Quote
Zaiboerelis Posted June 20, 2018 Posted June 20, 2018 hi tekken57 i paid 3 euros when will i get the files or that much isn't enough. E-mail: modes2000@gmail.com thanks in advance Quote
Dennis-Bieser Posted August 6, 2018 Posted August 6, 2018 (edited) I know it's a bit late, but does anyone have problems with multiple collada import ? I always get this error message when i try to import all files with the multiple collada function. @AznBlusuazn@hovathagod32@tekken57 Edited August 6, 2018 by Dennis-Bieser Quote
testuser Posted November 13, 2018 Posted November 13, 2018 (edited) Hello tekken57, Thanks for X-Rey, also the 3DS Max import scripts are very helpful. I have two issues with X-Rey. (i know, that there is no longer support, but maybe you have time and interest to look into it or somebody else can help). Used tools: game version 2K17 rePac 1.8a https://smacktalks.org/forums/topic/68549-repac-pac-editor-v08/ X-Rey 2.7 (bought in october 2018) 1) First question is about an error i get, when i use the „inject smaller“ function. Here is what i have done so far: Copy the two pac files ch10002.pac (The Rock) and ch14702.pac (Stephanie McMahon) from folder „C:\Program Files (x86)\Steam\steamapps\common\WWE2K17\pac\ch“ to two modding folders „rock“ and „steph“. Open the two pac files with rePac 1.8 and extract both 0000.yobj archives (right click and „extract decompressed archive“). In X-Rey open Rocks and Stephanies 0000.yobj files (File, open yobj new format) and extract headerInfo and objectInfo files for object4 and object5 – both hands, vertex count is 2014 for all four objects (left and right hand of The Rock and Stephanie McMahon). While Rocks 0000.yobj file is open replace Rocks (right) hand with Stephanie McMahons (right) hand: „inject smaller“ Object4, after dialoge opens, goto „steph“-folder and choose Object4.headerInfo from Stephanies hand. It works and the result is shown in the following picture: Rocks hand is replaced by Stephanies hand. This also works for most other body parts – but not for all. For example the other hand (Object5). „Inject smaller“ Object5 and trying to replace with Stephanies Object5 leads to an error: „Error, object must contain the same number or less vertices and faces. Original vertices; 2014 Original faces: 5990 New vertices: 2014 New faces: 6031“ The error warning indicates, that there are more faces in Stephanies hand (Object5) than in Rocks hand (Object5). But that is not true. All hand objects of The Rock and Stephanie McMahon have the same number of vertices and faces. An export with X-Rey as obj files and controlling the obj files with an text editor demonstrate, that all hands have got 2014 vertices (lines, which start with „v“) and 3648 faces (lines, which start with „f“). 3DS Max also shows these vertex and face numbers for all four hands. So for some reason the face count routine seems to give wrong results in some cases and prevents a replacement. 2) Second question is about obj export with commas instead of decimal points and the known issue of broken models display in the preview window Depending on the users region format settings in windows the model is displayed correctly or incorrectly in the preview window, forum post to this issue is https://smacktalks.org/forums/topic/69511-x-rey-oppening-messy-yobj-2k172k16-question/?tab=comments#comment-938351 Also, when the users region format settings are „wrong“ (German instead of English US for instance), vertex (v) and vertex texture (vt) data in obj files are exported by X-Rey (and reShape) with commas as separator instead of decimal points. While 3DS Max and blender import those obj files and replace the commas with decimal points, other tools like Milkshape 3D (and X-Rey / reShape) don't do this and can't import and display those files. Of course one can replace commas with decimal points after export in a text editor or change region settings, but a better way would be, to use decimal points inside the tools regardless of the users region format settings. For example here is a discussion about „force point (.) as decimal separator in java“ on : https://stackoverflow.com/questions/5236056/force-point-as-decimal-separator-in-java Edited November 13, 2018 by testuser Quote
testuser Posted November 22, 2018 Posted November 22, 2018 (edited) 18 hours ago, Meluniverse said: can someone please tell me how to edit characters hair.and where can i get the x-rey tool from cause i dont see it on here. hello Meluniverse, i am new to this forum and modding, too. I bought X-Rey from Tekken57 (developers name here in this forum) last month. He stopped development and support last year, but you can still buy it. You can use this link for more info: http://sf4mods.blogspot.com/p/x-rey.html Another tool similar to X-Rey (but with less functions), which can be used to extract the meshes is reshape. It is a free tool, info in the wiki: https://smacktalks.org/wiki/index.php?title=ReShape Although reshape is described as an open source tool, i did not find the source code here or on git hub. If you would like to download reshape, be sure to set "game 2k17 details in your Steam-Profile to public", then download from 2kmodz.com works. 0000 contains the body mesh, the hair mesh is inside 2715 (info is here https://smacktalks.org/wiki/index.php?title=Character_Modding), so 1) copy wrestler pac file from C:\Program Files (x86)\Steam\steamapps\common\WWE2K17\pac\ch folder to a modding folder 2) open the pac file with rePac 1.8a and decompress the 2715.yobj file. 3) open 2715.yobj with X-Rey or reshape, then you can export the hair as a wavefront obj file and modify it with a 3D tool like blender or 3DS Max. 4) import back with X-Rey and rePac. Edited November 22, 2018 by testuser Quote
RJJ Posted December 6, 2019 Posted December 6, 2019 Sorry for bumping this thread.. I just wanna know, is this app still available? Thanks. Quote
HELBOY Posted February 14, 2021 Posted February 14, 2021 On 16/11/2016 at 6:30, tekken57 said: Los usuarios deben tener en cuenta: Esta es la actualización final de X-Rey y X-Packer. No haré más desarrollo para X-Packer y X-Rey para 2k18. Terminaré el soporte al usuario para estas dos aplicaciones el 11 de octubre de 2017. Si tiene algún problema con cualquiera de las aplicaciones, aún puede enviarme un correo electrónico. Me gustaría tomarme el tiempo para agradecer a todos y cada uno de ustedes por su apoyo a lo largo de los años. Realmente disfruté viendo y usando los mods que fueron creados con mis herramientas. Codificar X-Packer ha sido una experiencia realmente satisfactoria y alegre para mí durante los últimos 9 años. Cuídense y los mejores deseos para todos ustedes. ¿Qué es X-Packer? X-PacKer es una aplicación que te permite extraer e inyectar archivos y texturas de archivos pac de luchador y archivos de texturas de la serie de juegos WWE. También permite editar los archivos guardados para xbox 360, ps3 y pc. Esto permite modificar el juego. Plataformas compatibles: Ps3, xbox 360, ps2, wii, PC. Lista de características: Hidden Content Tenga en cuenta que no hay funcionalidad de actualización de arco para 2k17 en xbox 360 y ps3 debido al nuevo formato de arco. Esto significa que, por el momento, no se pueden agregar nuevos luchadores y atuendos al juego en xbox 360 y ps3. Versión 2.0. ha sido liberado. No he solicitado otra donación para ninguna actualización en los cuatro años que he lanzado X-Rey, sin embargo, esta versión ha requerido una cantidad significativa de trabajo para completar la codificación. Para ser justos, aquellos que hayan donado después de la fecha de lanzamiento del 11 de octubre de 2016 recibirán la actualización sin costo adicional. Para ser claros, todas las versiones anteriores de X-Rey funcionan con modelos 2k17. Solo necesitará X-Rey v2.0 si planea crear animaciones faciales como se describe en este tutorial: https://www.youtube.com/watch? v = kMym6NUiBqA ¿Qué hace el programa?: Hidden Content Lo que no hace el programa : Hidden Content Software prerrequisito: Deberá instalar el kit de herramientas SlimDX como requisito previo para que este programa funcione. El kit de herramientas se puede descargar aquí: http://code.google.com/p/slimdx/downloads/detail?name=SlimDX%20SDK%20%28January%202012%29.msi Tenga en cuenta que la clave de serie es específica para una sola computadora. Por favor, envíeme la clave de serie de la computadora en la que realizará sus modificaciones. Si planea formatear su computadora o actualizar su sistema operativo, hágalo primero antes de instalar X-Rey y solicitar una clave de activación. Si ha actualizado su PC y tiene una nueva clave de serie, deberá adquirir una nueva licencia. Controles básicos del programa: Hidden Content where can I download X-Packer and X-Rey please Quote
Mortanios Posted June 25, 2021 Posted June 25, 2021 Im trying to find x-packer and x-rey too and nothing anyone can uploado please? Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.