Ultimate Ripping Tool for Second Life - MeshFix v2

Thread Started By Saeki Amae

45946
218
  • 25 Vote(s) - 3.52 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Rate Thread
#1
Star 
Intro:
Hello! I'm happy to introduce you MeshFix v2, the successor of the TexFix 1.2.1 tool.
This tool has been made to make copying stuff from SL as easy, comfortable, quick and cheap as possible.

Features:

I. Mesh Helper/MeshesSL features:

    1. Conversion from XML to a single or multiple Dae files
    2. Ability to download SLM files and textures (files in cache not required)

II. Improvements over Mesh Helper/MeshesSL:
    1. Full transparency (you don't even have to think about turning xmls into daes -
    the program turns XMLs into Daes as soon as it discovers them in input folder 
    and even copies their address for you, basicly allowing you 
    to open mesh uploader after saving XML without leaving the viewer at all)
    2. Support for static mesh
    3. Increased speed due to using all CPU cores - especially visible during exporting 
    linksets with many prims or multiple linksets in one XML
    4. Increased stability - the app doesn't freeze during working,  shows the work's progress 
    with ProgressBar and meanwhile allows you to do other stuff
    5. The mesh appears to load faster from daes generated by this app (at least for me)
    6. Fixed various bugs

III. All TexFix features:
    1. Ability to automaticly apply textures and other face params on the uploaded mesh
    just like they were in original object without paying any L$
    2. Ability to apply multiple textures and other face params options -  
    just like texture appliers/changers/HUDs do
    3. Smart grouping faces into Slots for easier texture applying

IV. Improvements over TexFix:
    1. Two face-grouping engines to choose: Slots and Switches - making it possible to
    perform even advanced tasks - read the manual for more info
    2. Ability for a Slot/Switch to use the names instead of numbers in commands 
    3. Ability for an Option/State to use the names instead of numbers in commands
    4. Option/State ramdomizer
    5. @nooder requested ability to apply same Option/State number/name to all Slots/Switches
    6. Ability to apply non-face options like positions, shapes, phantom checkbox etc.
    7. No more root naming issue and ability to change prim names without problems

V. New Features:
    1. New GUI interface instead of command-like program
    2. Project Management - allows you to keep all ripped projects in the GUI -
    no more messing with file explorer to find stuff - all kept tidy and clean in the app
    3. Project filtering by a category or project names (regular expressions support!)
    4. Built-in prim editor allowing to enable/disable or delete prims from the linkset and
    edit its params (like prim name, description, position, rotation and so on)
    5. Built-in face applier editor allowing you to give Slots and Switches names and
    modify their behaviour - switch face applier engine, choose which face params the app
    should ignore and which it should take into account and other.
    6. Built-in Option/State editor allowing you to modify, delete and add new Options/States
    of your Slot/Switch
    7. Built-in texture viewer allowing you to view and export applied textures as .png -
    the textures don't have to be in cache
    8. Built-in color picker while modifying face colors in Option/State editor
    9. Support for legacy prims linksets, static mesh linksets, rigged linksets and even..
    mixed linksets! So you can upload your static mesh and rigged mesh in one dae, and then
    the script will add all needed legacy prims with proper params to it automaticly -
    no more problems when your linkset has both legacy and mesh prims!
    10. Automatic root restore - allows you to restore the original root prim -
    normally the mesh uploader changes the root prim of the linkset
    11. MultiDae feature - allows you to export multiple linksets in a single Dae - 
    allowing you to lower the cost of the mesh upload.
    Example: 10 linksets with 1 simple mesh in each normally cost you (10 + 1) * 10 = 110 L$
    With MultiDae feature it will be 10 + 1 * 10 = 20 L$ -  nice savings right?
    12. The Script to break the linkset uploaded with MultiDae back into normal linksets
    so you don't waste time trying to relink it manually
    13. Align function, allowing you to position multiple linksets to each others
    just like they were in original - allowing you to copy designs from
    a simple two-linkset setups up to entire sims.
    14. Dedicated file format - allowing you to share a single or multiple projects 
    (with all texture options, files etc.) with your friends or on the forum
    15. The built-in manual split into pages for easier reading
    16. Surely some more that I simply forgot to mention about - best check yourself!

VI. Plans for future:
    1. Dedicated HUD for applying data to Clients
    2. Adding support for applying material params of faces and more non-face params,
    when the viewers start exporting this data in XML (politely please, someone makes it happen! <3)
    3. Adding support for GLTF materials when they become a thing in SL and the viewers export this data 
    4. Adding support for OpenSim (only SL is supported for now)



Installation:
    1. Download the latest version of this tool from the link down below.
    2. Unpack the MeshFix2.exe file to the location without writing issues - my documents or something like that.
    3. Start the program.
    4. Read carefully the agreement that appeared on your screen.
    5. Make sure you understand it and accept the terms and click "I accept!" button.
    6. Go Help->Manual or just click F1 button in order to open built-in manual.
    7. Read the manual carefully in order to learn how to use this app (wouldn't make sense to paste manual here).
   8. Important! If you get some errors or program doesn't work as intended, don't wait! PM me about the issues or write on forum!


Screenshoot:

[Image: c76097280077eed869c8e2f3f282e637.png]

Safety
This program automaticly adds to the clipboard the address of the dae file so you can open mesh uploader without even having to leave the viewer. While this greately improves the ease of adding new meshes, this behaviour might make the antiviruses see it as malicious behaviour.
I assure you that this program is safe to use and all its functions serve only for the application to work properly.

Download
(Using bit.ly to count downloads)

Important! After you test this app, please leave the post in this thread about your opinions about it - it's really important to me! <3

Latest version: 2.0.4
Mega Link: 

[To see links please register here]


Old versions:
2.0.0: 

[To see links please register here]

2.0.1: 

[To see links please register here]

2.0.2:

[To see links please register here]

2.0.3: 

[To see links please register here]


About the possible new viewer project:
I made separate thread about it. If you are interested, please consider supporting me!

[To see links please register here]


Changelog:
[19.02.2023] Initial Release of 2.0.0 version
[20.02.2023] Update 2.0.1 - Added direct XML import, fixed Darkstorm (and possibly some other viewers) import issue
[24.02.2023] Update 2.0.2 - Fixed the bug with missing description in the XML
[07.03.2023] Update 2.0.3 - Fixed import errors happening for prims with '<' and '>' chars in them, fixed float reading crash
[15.05.2023] Update 2.0.4 - Fixed crash when import importing flexi prims, fixed float reading crash
Reply


Page 13 (The above is first post of this thread)
I'm glad you like it! Enjoy and write here whenever you get any questions!
Reply


Firstly.... THAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANKS for writing Meshfix.


So I came across this interesting phenomenon when using Meshfix v2.0.3.
I'm not sure if it's a known thing.
But whenever I import the XML file and go in the "Project Prims" options, each time I delete or deactivate a prim, it will make Meshfix swallow up a couple of hundred MBs of RAM.
I've noticed that if I just go ahead and do all my desired actions like deactivating multiple prims by unchecking them really quick (within 7 secs or so), then Meshfix will hog almost all of my 32Gb of RAM.
Since I run a gaming PC with Ryzen 9 (3000s series) and RTX 3070 GPU, I wouldn't expect my PC to be the bottleneck.

Anyone else having this behaviour? Maybe there is an option to turn off?
Reply


I'm glad you like my work!

I am aware of RAM problems with MeshFix. If you experience too high usage simply restart the program and the memory will release itsself. 

I'm not currently planning to fix this - If I decide to come back to Second Life coding it will be most likely fully new viewer that will give amazing features.

if you experience other issues though feel free to write here and I or somebody else will surely help :D
Reply


I love this tool!!  So much easier to copy and it's great to see someone create a tool like this.
Reply


I'm so happy you like it! <3 If you ever have more questions, just write!
Reply


first of all, you made a helpful Tools, ty so far.
But what the heck dreadful is the Script section? The generated LSL-Scripts are terrible complex and not working.
Why are they such complex with those overloaded charsets?

I could need a lsl script who works with the following procedure :
1.) copy the generated Script into the clipboard --> (working, thumbs up)
2.) paste this clipboard-script into a the new object's script --> (not working, as the compiler shows many errors in many lines. In SL and OS.)

3.) the Script in the Mesh-Linkset looking for Linkset-Names (normal IBM ASCII Charset only, without special characters).
4.) stops the script und gives me an Dialogbox, when found a Primname twice or didn't found a Primname.
5.) when found a Primname, then scan for facesides. If the amount of Primfaces not match, stop the script und give me an Dialogbox.

6.) if the checks are good, then apply faceside datas for every prim in the linkset.
7.) no complex functions, but simple functions with string data-list lines. Have a look to the "e.g." at the bottom of this post, for a string data example.


e.g.
list oneFaceData; // all Face Datas like : Linksetnumber, Faceside,Texture.... Normals.... Specular... and their positions and colors... etc.
oneFaceData += ["1-|-0-|-Unicorn-FS_rigged-|-5748decc-f629-461c-9a36-a35a221fe21f-|-<1.000,1.000,0.000>-|-<0.000,0.000,0.000>-|-0.000-|-<1.000,1.000,1.000>-|-1.000-|-0-|-0.000-|-1-|-0-|-00000000-0000-0000-0000-000000000000-|-<1.000,1.000,0.000>-|-<0.000,0.000,0.000>-|-0.000-|-00000000-0000-0000-0000-000000000000-|-<1.000,1.000,0.000>-|-<0.000,0.000,0.000>-|-0.000-|-<1.000,1.000,1.000>-|-51-|-0-|-0-|-0"];

The String Data can comparsed with the "|" to make a single "temporäry" List for a apply-function.
You can have 40 "oneFaceData" Sets in a Script to dont get a Script-overload-error.
When you need more than 40 oneFaceData Sets, then add another script, or work with Notecards, or else
Reply


hello
another feature i would like is a bone structure in the Dae-files.
Reply


when you make a update please make a new thread then i can close this one
Don't send Buddy Requests with no reasons
Rules 1-6

[To see links please register here]

Reply


@Zincharp
First of all, the generated scripts do NOT work in OS. They are made for Second Life exclusively.
Secondly - the unicode characters you see are the linkset data super tightly packed. It is because LSL scripts have memory limit of 2^16 bytes. Your proposition would make any more complex mesh almost always generating stack-heap collisions.
In your example - the uuid you wrote "5748decc-f629-461c-9a36-a35a221fe21f" uses 36 characters - so 72 bytes. In my case I will use 9 characters (so 18 bytes) - 4 times less space.
Especially that the code itsself eats up most of the script's memory. I made the script super-memory efficient - using special techniques to pack so much logic into a single script - so users don't have to copy multiple scripts for a single objects and have more work.
The generated script is NOT intended to be manually modified - i even wrote a comment about it at the beginning of every script. If you want to modify anything, modify data in meshfix directly - it has a built-in editor for that - and then regenerate the script.

If your script doesn't work in Second Life as well - then feel free to write on forum exactly what errors you get in SL and what steps you performed to achieve this. You can also send me .mxp file of the project that doesn't work and I will see - maybe there is some edge case that I didn't consider - although you are the first person who reports errors with scripts so double check if you did all correctly.

About bone-structure - I am aware of this issue - I didn't care much because people mostly use this tool to copy stuff as it is - without importing it to blender first. If you need to have bones, then use MeshHelper/MeshesSL for now for this stuff.
Reply


I got running the script in SL but with errors :
[00:39] llSetPrimitiveParams error running rule #4 (PRIM_POSITION): arg #1 vector expected but integer given.
[00:39] llSetPrimitiveParams error running rule #4 (PRIM_SIZE): arg #1 vector expected but integer given.

i have imported a *.xml into MeshFix v2 (latest version).
then in "Prim details" i've deleted the first 2 prims from linkset.
then i took "off" some prims, because facecount is to high for upload for the whole Linkset.
then applied the copied script in the uploaded mesh-linkset.

pls dont take it personaly:
but, to got the script running took me about 45 minutes of trying out.
I gave up to got the same script running a second time, after I've resized manualy a prim in Linkset for my need. A warning message took out :
[00:39] Warning: the root prim of the new linkset has changed.
happy work to all other, but not for me.
Reply




Possibly Related Threads…
Thread Author Replies Views Last Post
  Tool For MeshesSL Glitches Lagertha 2 1,364 05-04-2024, 01:40 PM
Last Post: Huggypie

Forum Jump:

2 Guest(s)
Share this:

About Second Life Copybot

Second Life CopyBot Forum is a place where you can get items for Second Life and other vitual worlds for free. With our CopyBot viewers you can export and import any content from these virtual worlds and modify them in 3D software such as Blender, 3D studio Macx etc...