The VG Resource
Ripping from My Om Nom Models - Printable Version

+- The VG Resource (https://www.vg-resource.com)
+-- Forum: The Resources (https://www.vg-resource.com/forum-109.html)
+--- Forum: The Models Resource (https://www.vg-resource.com/forum-111.html)
+---- Forum: Ripping Help (https://www.vg-resource.com/forum-115.html)
+---- Thread: Ripping from My Om Nom Models (/thread-28315.html)

Pages: 1 2


Ripping from My Om Nom Models - SuperTVGRFan18496 - 12-08-2015

I want to My Om Nom Models.

These Models are .msh file format

These Textures are .pvr file format


RE: Ripping from My Om Nom Models - SuperTVGRFan18496 - 12-10-2015

I need Extract Files, Which one?
https://drive.google.com/file/d/0B9WgjtFyk_xfZ2RkNDZfUUVpS3M/view


RE: Ripping from My Om Nom Models - OS-PRIME - 12-10-2015

.PVR isn't super specific.
Photoshop has a plugin to open them.


RE: Ripping from My Om Nom Models - SuperTVGRFan18496 - 12-11-2015

(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?


RE: Ripping from My Om Nom Models - SuperTVGRFan18496 - 12-13-2015

The Original is see This:
[Image: 74693_1_250x150.jpg]

PLZ, I need Rip Them.

https://www.dropbox.com/sh/q4qeafv78nma28p/AADIdaZckkJvdiIp9DFnPo9va?dl=0


RE: Ripping from My Om Nom Models - SuperTVGRFan18496 - 12-17-2015

(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/q4qeafv78nma28p/AADIdaZckkJvdiIp9DFnPo9va?dl=0

HELP ME!!!!!!


RE: Ripping from My Om Nom Models - eureka - 12-17-2015

Calm down. People arent your ripping slaves, they have lives outsife of the internet.
That said, i might take a look later.


RE: Ripping from My Om Nom Models - SuperTVGRFan18496 - 12-25-2015

I NEED MAKING MODEL SCRIPTS!!!!!


RE: Ripping from My Om Nom Models - OS-PRIME - 12-25-2015

(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.


RE: Ripping from My Om Nom Models - TGE - 12-25-2015

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.


RE: Ripping from My Om Nom Models - SuperTVGRFan18496 - 12-25-2015

(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?


RE: Ripping from My Om Nom Models - TGE - 12-26-2015

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.


RE: Ripping from My Om Nom Models - SuperTVGRFan18496 - 12-26-2015

(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/8frn7ojgvgtnn8f/AABFzKLWe_6dW6UG32DkTpeGa?dl=0
https://www.dropbox.com/sh/iwabyzsw9f0d6c7/AADYKlj8AaGkSzLf43RZ_E_va?dl=0


RE: Ripping from My Om Nom Models - TGE - 12-26-2015

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()



RE: Ripping from My Om Nom Models - SuperTVGRFan18496 - 12-26-2015

I'm Importing .msh files from My Om Nom on 3ds Max