The VG Resource

Full Version: Ripping from My Om Nom Models
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
I want to My Om Nom Models.

These Models are .msh file format

These Textures are .pvr file format
.PVR isn't super specific.
Photoshop has a plugin to open them.
(12-10-2015, 06:22 PM)OS-PRIME Wrote: [ -> ].PVR isn't super specific.
Photoshop has a plugin to open them.

Yea, you can convert them?
The Original is see This:
[Image: 74693_1_250x150.jpg]

PLZ, I need Rip Them.

https://www.dropbox.com/sh/q4qeafv78nma2...Po9va?dl=0
(12-13-2015, 09:17 AM)SuperTVGRFan18496 Wrote: [ -> ]The Original is see This:
[Image: 74693_1_250x150.jpg]

PLZ, I need Rip Them.

https://www.dropbox.com/sh/q4qeafv78nma2...Po9va?dl=0

HELP ME!!!!!!
Calm down. People arent your ripping slaves, they have lives outsife of the internet.
That said, i might take a look later.
I NEED MAKING MODEL SCRIPTS!!!!!
(12-25-2015, 12:58 PM)SuperTVGRFan18496 Wrote: [ -> ]I NEED MAKING MODEL SCRIPTS!!!!!

Holy shit dude, calm down.
You do know you can make your own script. It's easy.
Here's the obj for omnom.msh: http://puu.sh/m8CTK.7z
If you want other models converted, you'll have to provide more samples.
(12-25-2015, 06:57 PM)TGE Wrote: [ -> ]Here's the obj for omnom.msh: http://puu.sh/m8CTK.7z
If you want other models converted, you'll have to provide more samples.

what's download link from .msh converter?
I'm not giving you the converter as long as I haven't verified that it works on other msh files.
So as I said, you'll have to provide more samples.
(12-26-2015, 05:08 AM)TGE Wrote: [ -> ]I'm not giving you the converter as long as I haven't verified that it works on other msh files.
So as I said, you'll have to provide more samples.

I made 2 .msh files
https://www.dropbox.com/sh/8frn7ojgvgtnn...TpeGa?dl=0
https://www.dropbox.com/sh/iwabyzsw9f0d6..._E_va?dl=0
Okay, I guess the script works for those files too
Code:
-- 3ds max maxscript
-- My Om Nom .msh importer
-- By TGE, contact me in case there's any issues ;p

gc()
clearlistener()
fn ReadUShort fstream =
(
    return (ReadShort fstream #unsigned)
)

fn ReadULong fstream =
(
    return (ReadLong fstream #unsigned)
)

fn ReadUByte fstream =
(
    return (ReadByte fstream #unsigned)
)

fn ReadVector2 fstream =
(
    return [(ReadFloat fstream), ((ReadFloat fstream) * -1)+1, 0]
)

fn ReadVector3 fstream =
(
    return [(ReadFloat fstream), (ReadFloat fstream), (ReadFloat fstream)]
)

fn GetOpenFile =
(
    clearlistener()
    local fname = getOpenFileName \
    caption:"Open Model" \
    types:"My Om Nom Model (*.msh)|*.msh" \
    historyCategory:"MYOMNOM Object Presets"
    if (fname == undefined) then
    (
        return undefined
    )
    else
    (
        local f = fopen fname "rb"
        return f
    )
)

fn ReadArrayInfo fstream =
(
    struct ArrayInfoStruct
    (
        type,
        elementCount,
        arrayLength
    )
    
    local a = ArrayInfoStruct()
    a.type = ReadUShort fstream
    fseek fstream 0x5 #seek_cur
    a.elementCount = ReadULong fstream
    a.arrayLength = ReadULong fstream
    return a
)

positionArray = #()
texCoordArray = #()
normalArray = #()
faceArray = #()

file = GetOpenFile()

if (file != undefined) then
(
    info = ReadArrayInfo file
    for i = 1 to info.elementCount do
    (
        positionArray[i] = ReadVector3 file
    )

    info = ReadArrayInfo file
    for i = 1 to info.elementCount do
    (
        texCoordArray[i] = ReadVector2 file
    )

    info = ReadArrayInfo file
    for i = 1 to info.elementCount do
    (
        normalArray[i] = ReadVector3 file
    )

    info = ReadArrayInfo file
    fseek file info.arrayLength #seek_cur

    info = ReadArrayInfo file
    fseek file info.arrayLength #seek_cur

    subMeshCount = ReadUShort file
    fseek file 0x01 #seek_cur

    for i = 1 to subMeshCount do
    (
        info = ReadArrayInfo file
        
        for j = 1 to (info.elementCount / 3) do
        (
            faces = [(ReadUShort file) + 1, (ReadUShort file) + 1, (ReadUShort file) + 1]
            append faceArray [faces[3], faces[2], faces[1]]
        )
        
        fseek file 0x07 #seek_cur
    )

    msh = mesh vertices:positionArray faces:faceArray
    msh.numTVerts = positionArray.count
    buildTVFaces msh
    for j = 1 to texCoordArray.count do setTVert msh j texCoordArray[j]
    for j = 1 to faceArray.count do setTVFace msh j faceArray[j]
    for j = 1 to msh.numfaces do setFaceSmoothGroup msh j 1
        
    max modify mode
    select msh
    addmodifier msh (Edit_Normals ()) ui:off
    msh.Edit_Normals.MakeExplicit selection:#{1..normalArray.count}
    EN_convertVS = msh.Edit_Normals.ConvertVertexSelection
    EN_setNormal = msh.Edit_Normals.SetNormal
    normID = #{}

    for v = 1 to normalArray.count do(
        free normID
        EN_convertVS #{v} &normID
        for id in normID do EN_setNormal id normalArray[v]
    )
    maxOps.CollapseNodeTo msh 1 true -- Collapse the Edit Normals modifier
)
gc()
I'm Importing .msh files from My Om Nom on 3ds Max
Pages: 1 2