Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Sky: Children of the Light Noesis Model Support

Featured Replies

Hello, I came here asking for help regarding the PC Steam game Sky: Children of the Light. I've been trying to get the model files to open inside of Noesis, but every file appears to be a .mesh file. Natively, this format couldn't be opened in Noesis, so, about a year ago, I've commissioned a kind person to make a plug-in that supports .mesh files ("fmt_mesh.py" in attachments).

Issue is, the script throws an error every time I try to preview a model (sample files as examples).

image.png.ef138620430ae78c1da9162ffa80f338.png

The creator no longer wants to work on the script, and I have gotten permission to share and edit it. If anyone has any knowledge of this, please give it a shot, I hope the plug-in is a good foundation for the models.

fmt_mesh.py samples.zip

  • Supporter

because the structure is different

Previously you used the android version

code to unpack the model:

Spoiler
import os
import struct
import lz4.block
import sys

if len(sys.argv) > 1:
    file_path = sys.argv[1]

    with open(file_path, 'rb') as f:
        # read uncompressed size
        f.seek(86)
        uncompressed_size = struct.unpack('i', f.read(4))[0]

        # read compressed size
        f.seek(82)
        compressed_size = struct.unpack('i', f.read(4))[0]

        # get compressed content
        f.seek(90)
        compressed_data = f.read(compressed_size)
        # Unpacking data
        uncompressed_data = lz4.block.decompress(compressed_data, uncompressed_size)

        with open(file_path.replace('.mesh','_U.mesh'), 'wb') as wb:
            wb.write(uncompressed_data)

os.system('pause')

 

but after the model there is still a skeleton and after the skeleton there is still a lot of data. I haven't checked what it is2025-06-19-184454165.png

Edited by Durik256

  • Author

Oh thank you for clarifying, I've tried to research about the other stuff but came up with nothing. And I can't find anyone who is willing to try if I commission them, so I'm trying my luck here.

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.