Sign in to follow this  

How to clone particles


Description

Explains how to clone particles from a model to another and how to solve some issues.

I said it in january, I did it in June but it's finally here !

In this tutorial I'll explain to you how to clone particles from a model to another one with the help of ParticleCloner, a tool made by Tigurius. This tool is old, so it doesn't work with Cata+ models since the structure of the m2's has changed. I didn't tried with spell models from Cata and up (only doodads or creatures), maybe it's different and it can work, but not sure.

EDIT : it can load WoD or Legion models, but it's pretty random, if the models are similars it can work, sometimes not, just do some tests and try.

What programs do we need ?

- ParticleCloner

- 010 editor (with m2 template)

What's the process ?

First, choose the particles you need in WowModelViewer on the model that you want.

For this tuto I choose particles from the spell Arcane_form_precast.m2 to put on 2 models, one without bones or animations, and one with both : misc_2h_pitchfork_a_01.m2 and sheep.m2 .

giphy.gif

fork.jpg.588ed0975ab636a9857fd2a39484acfsheep.jpg.01ea1baaef0f9980ad40b2c299edf2

To make the transfert, select first the "destination" model, CTRL+left click to select the second "source" model and drag&drop on the application. (Always do backups if you did it in the wrong way, this program overwrite the original file ! )

giphy.gif

 

When it's done, you'll have the particles at the same place of its original model.

giphy.gif  giphy.gif

Now, you certainly want to move the particles to the right place.

Open the m2 with 010editor and load the M2 Template. Go to the end of the file at the line " struct Particle ". You'll have all the informations you need, the attached bones, coordinates, etc...

Particles have the bone from the original model, for a simple animation like this, there's only one bone. For this fire, there's three elements (flames, smoke and sparks), so there's 3 bones. I used it for a Sargeras model.

book_fire.jpg.1f4ee535103b5897d65d0e6ea1sargeras.thumb.gif.ea0e330de52b12e129bb0

help_particles.thumb.jpg.828192522532510

You have to set the number of the bone where you want the particles to be. To move it to the right place, go to the " struct FloatVec3 pos " line. As you can see on the picture above, I modified the values on the x axis.

particles_position.jpg.0811f6c284db63d1d

You can change what you want to have the good coords. Just try and retry with the help of WMV to visualize the result. For the sheep, I set the particles on bone 3 who's attached to the head.

particles_position_2.jpg.fa973f33696dc93particles_position_3.jpg.229200febd9de0e

This tool can copy the texture path of the BLPs used by the particles.

sheep_texture.jpg.5a587e3376944c86f41fb3

But when you'll go ingame to see if it works, you'll have little cubes instead of the texture. WMV can load them, but not WoW.

particles_problem_2.jpg.cc4f6c7db9aa2e0b

Why ? Because the tool does some mess too. In the " struct VModelFileName " 1 & 2, you have random symbols at " struct filename texture > string value " . Delete all and reload the template, or save and close the model. Do it for each particle in your model.

particles_problem.jpg.4528fd308a02cedae2

And it's finally done ! Good job, you can manage particles !

giphy.gif

PS : for unknown reasons, my fork is invisible ingame after I added the particles on it. Maybe because the model doesn't have enough "informations" in it because it's a little model, or because there's no bones in the original model. I don't know. Maybe one of you will find the solution ?

  • Like 1


Recommended Comments

The last step is an incredibly bad idea: you're deleting random data in the file, which may even be the reason for your pitchfork disappearing. I suggest one of two different ways to fix that issue, the first being a untested guess, the second being guaranteed to work and not break things:

• instead of modifying the data, modify the size of the string to zero: Set both FileNameX_length fields to 0.

• instead of modifying existing data, point to correct data: you can do this in two ways:

– find some byte in the model that's 0 (e.g. the 6th byte of pretty much every m2). Set both FileNameX_offset fields to that value.

– at the end of the file, add a Byte being 0x00. Set both FileNameX_offset fields to the file size - 1, i.e. the just added byte.

Share this comment


Link to comment
Share on other sites
On ‎11‎/‎11‎/‎2016 at 11:07 PM, lululalaland said:

too bad it doesnt work with legion files...getting errors ;(

the tool need to be updated it will not work with model with high triss or many particules

Share this comment


Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now