Jump to content

Diffrence Between: Vex And Mel


Rafal123

Recommended Posts

Has somebody got experience using these two? VEX and MEL.

I wanna start with one project in Maya which can be MEL heavy and I'm not sure is Maya or Houdini better for that kind of project and how much VEX can help me?

Is it faster then MEL? Can I write scripts which can be run outside Houdini or is it only inside language?

Link to comment
Share on other sites

hey Rafal123

i think its really difficult to say which is the best solution between vex and mel when saying something is mel heavy.

vex is quiet different to mel, in some ways its also simliar.

if your work involves the repition or procedural events etc,

u might not even have to write 3 lines of code in houdini, where as in maya, u could spend hours writing lines and lines of code.

can u be more specific by what u mean by mel specific job?

or give us more info about the project?

thanks in advance

and all the best

:blink:

Link to comment
Share on other sites

Is it faster then MEL? Can I write scripts which can be run outside Houdini or is it only inside language?

20852[/snapback]

Dunno if it's faster than MEL, but sure you can run scripts "outside" Houdini, I assume you mean straight from a command line, not from within the Houdini gui application? Yeah, there's no problem doing that...

Link to comment
Share on other sites

Ok, so here's my project:

-The scene is very simple.

-I got poly plane.

-There r some characters - animals on the plane.

-Some animals walk, some run sometimes, some don't do nothing just look around.

-Poly plane got fence. And animals see this fence and try to avoid it when they r close to it.

-Animals also see themselvs and try to avoid each other.

--------------------------

Ok so it was first part.

--------------------------

Second part is here:

-I wanna create bucket connected through interface with sliders and buttons. This bucket will be put over poly plane and animals and inside bucket there will be some 'food' based od particles I think.

In Maya I can create UI for it. So I can create sliders: when move slider left --> bucket moves left, when put slider right --> bucket moves right. When press button: bucket will turn 90 degrees and food goes down to animals.

Is possible to create such UI in Houdini?

--------------------------

Third part

--------------------------

-Animals will see food which will drop down from bucket.

-When they see food, they next run or walk and try to eat it.

-Some of animals can go very fast and some not. It depends on 'hungry' factor. And 'hungry' factor based on how many food each animal eaten.

-I plan to do some kind of statistics. About how much hungry each animal is.

-When animal eat food it change(animal) it size. I mean it grow up, change the scale.

-Time is important factor here. All animals, all time little decreased their size. And if they don't eat nothing they die.

So that is my project

Link to comment
Share on other sites

So that is my project

20858[/snapback]

Wow, that's pretty ambitious! I recommend using an OTL for the UI stuff, that will give you sliders, checkboxes, pull-down menus, and more. You can also run callback scripts that can be triggered each time a slider, button, or menu is used in your UI.

For all the behavioral stuff (hunger, chasing food, "seeing" food), I recommend using CHOPs and VEX to control and process your animal characters. I have do idea how you would do this though, I'd have to sit and think about it for a while. A long while.

Good luck sir!

Link to comment
Share on other sites

this is from the help:

With Houdini4.0 and above, there is a new high-performance expression language (VEX) which can be used in many places in the product. Expression evaluation is typically very efficient giving perfomance close to compiled C/C++ code. VEX was not designed as a replacement to the existing Houdini Expression Language, but rather an smaller, more efficient general purpose language.

Because of its nature, VEX is only available in several select places in the Houdini package. These are currently:

# COPs - The VEX Cop allows you to write complex custom COPs without writing any C/C++ code. The expressions evaluate very close to C/C++ speeds and run 1000's of times faster than the Pixel Expression COP.

# POPs - The VEX Pop allows you to do almost anything that POPs can do themselves. It is possible to write one single VEX function which performs the task of many POPs. Because the VEX code is localized to one single operator, the VEX code will typically run faster than a network of POPs.

# SOPs - VEX allows you to write any SOP which manipulates point attributes. This can move points around, adjust velocities, change colors. As well, you can group points or do many other useful tasks. VEX SOPs typically run 10 or more times faster than a point SOP.

# CHOPs - VEX allows you to custom CHOPs. The CHOP functions can manipulate arbitrary numbers of input channels and process channel data in arbitrary ways. In some cases, the VEX code can run faster that compiled C++ code.

# Rendering - The new renderer vmantra uses VEX for all shading computation. This includes light, surface, displacement and atmosphere shaders.

where as Maya is in fact a GUI for mel....everything in Maya is mel - everything - UI included...they are very different.

for you project - which is very ambitious btw - I'd go with CHOP as exel mentioned...you can also get some cool stuff with particles...but as exel said "I have do idea how you would do this though, I'd have to sit and think about it for a while."

Link to comment
Share on other sites

Hi Rafal, sounds like you're trying to do a simplified version of AI or a version of fuzzy logics. I'd definitely love to learn how you will be going about doing them in general.

With the exception of GUI creation, a lot of things in there you just mentioned, sounds very doable to me. Unless you're implementing a whole new feature in Houdini, you most likely will not be writing as much code as you would with Maya. It's a fact.

As far as creating GUI goes, again, depends on what you're trying to do. If you just want sliders and buttons, I don't see why you can't do that with the Houdini Digital Assets (HDA). You can even have an HDA that does nothing other than calling the scripts to perform functions that you want. If you have a need to get outside of Houdini's domain to do things, you probably will need to design your whole GUI and applications via C/C++/Perl/Python/etc.

Both MEL and VEx are a whole different beast. VEx is a SIMD language with its own virtual machine and all that VEx does is process points, channels, and pixels. MEL, on the other hand is a more generalized scripting language within Maya. More like where HScript's domain would be. Even then, I still cannot compare them because they have their own different purposes and designs.

Good luck,

Alex

EDIT: D'oh! Arctor and exel beat me to it. :D

Link to comment
Share on other sites

hey Rafal123

some nice replies u have here, being an ex-maya guy,

this would be a fun project to do in houdini easily using vex, pops, and chops.

one can very easily turn particles into mini agents with personalities.

but in maya.......

u'd need lsd, something harder and a nice supply of coffee, if u just wanna do part one :ph34r: , not to say it cant be done, but definately a task more suited for houdini.

when do u start the project ?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...