[Flour] Flour 0.3.2 with MSI installer released!

betajaen

16-10-2008 16:01:04

What?

This is Flour 0.3.2 (unstable), this is a complete rewrite of the existing Flour. It is regarded as unstable as it works with Ogre 1.6.0 RC1, NxOgre 1.0.22T5 and the code is less than 24 hours old.

This flour has:

- Conversion functions to Ogre to NXS,XSK (Triangle, Convex and Skeleton)
- Conversion functions from RAW (8-bit/16-bit) images to heightfields (RAW to XHF)
- Auto create mesh functions to NXS, XSK (Triangle, Convex and Skeleton)
- Testing functions for Ogre
- Testing functions for Meshes
- An early copy of the Ogre/NXS viewer.
- An alternate way of viewing meshes via the remote debugger.


Download

You can download the flour installer from http://get.nxogre.org/flour/Flour.msi. As flour is self-contained, you do not need Ogre or NxOgre installed on your computer. However; you will need the PhysX 2.8.0 runtimes which can be downloaded from Nvidia's website.

To see if it works, run a dos prompt and do.

flour test


Brief tutorial

View an Ogre mesh
flour view barrel.mesh

To convert an Ogre mesh (nxs or xsk)
flour convert in: barrel.mesh, into: convex, out: barrel.nxs

Create a skeleton (xsk) in the shape of a cube
flour make file: test.xsk, type: skeleton, generate: box, size: 0.4 0.4 0.4

I've found that skeleton sizes usually work best at half the meshes size and take off 20%. In this case; a 1m cube has a skeleton size of 0.4m

Perform a test on NxOgre (check to see if it's compiled correctly)
flour test

Perform a test on a mesh (nxs or xsk)
flour test type: mesh, file: mesh.nxs, verbose: yes

Access the help features
flour
flour what-is view
flour what-is test
flour what-is make
flour what-is test
flour what-is convert
flour what-is remotedebugger

betajaen

16-10-2008 16:27:22

I would appreciate it if a few people would try it out, just to see if the installer and manifests are working properly.

Just do "flour test" once it's installed.

Illidanz

16-10-2008 17:41:51

"flour test" works fine for me :) Thanks for the release!

betajaen

16-10-2008 18:07:57

That is good news. It took me ages to do that installer, I would hate it if I spent all that time and it didn't work.

Prophet

16-10-2008 19:26:40

Why do you write half the meshes size and take off 20% instead just 40% of the size? Further, how do you know it works best when you've written you're not sure it works?
Anyway, the installer works. Haven't tried converting anything though.

betajaen

16-10-2008 19:36:31

The PhysX documentation told me. I'm pretty sure CCD does work, I just don't have a good enough example written to test it out.

Try "making" something. :)

Caphalor

16-10-2008 20:35:32

I don't understand the sense of an installer if there is just one single executable to install...

It took me ages to do that installer, I would hate it if I spent all that time and it didn't work.

Did you try NSIS? It comes with a lot of example installer scripts and it's really easy to use.


At the moment, I only use flour to convert .mesh files to .nxs triangle mesh shapes. It works and my old strange problem with flour disappeared. :)

betajaen

16-10-2008 20:45:37

There is some weird thing with compiled Visual Studio programs, that you have to install the "manifests", the quick way is just to bundle two dll's with it, but since I want to make it self contained you need an installer.

I used "Wix", rather than the Nullsoft installer. I used in the past with the previous flour.

I'm glad your problem was fixed, I'm just waiting for people to try out the new heightfield code.

Red15

19-10-2008 19:49:47


D:\Tools\flour>flour test
---------------------------- NxOgre Single Test ----------------------------
Versions:
- NxOgre 1.0.22T5 Bleeding Edge
- Ogre 1.6.0 'Shoggoth'
Results:
- Core: ........ - PASSED


All tests were sucessfull!
----------------------------------------------------------------------------
OK

D:\Tools\flour>


Running flour view cube.1m.mesh (from Cake) gives runtime error though.

Djoef

31-10-2008 12:21:37

I have Ogre 1.6.0, NxOgre 1.0-22T5 & PhysX 2.8.1 and tried flour :

flour test
..
All tests were successfull!

flour view PyrME.mesh
works, I get a screen with my mesh in it, and i can rotate with mouse

flour convert in: PyrME.mesh, into: convex, out PyrME.nxs
appears to work, it says OK and I got a PyrME.nxs file now.

when trying to view that, I get a runtime error, using one of both :
flour view PyrME.nxs
flour view mesh: PyrME.nxs

betajaen

31-10-2008 14:32:17

You have to use the remote debugger for now to view nxs files.

Ensced

20-11-2008 08:34:12

Hi, I have a little problem with convert function. I would like convert skeleton

when I do this:
flour convert in: ninja.mesh, into: skeleton , out: ninja.xsk
Flour crashe

when I do this:
flour convert in: ninja.skeleton, into: skeleton, out: ninja.xsk
I have a error

Do you have the same error?

betajaen

20-11-2008 10:35:37

What is "ninja"? Making a PhysX Skeletons are quite tricky. What is the vertex count?

Ensced

20-11-2008 10:53:16

I have test the ninja.mesh in the OgreSDK
I don't know how many have vertex, may be It's a lot of...

I search a another model for my test, and I'll be back tell you if ok.


otherwise My code it is good?

betajaen

20-11-2008 11:03:09

The Ninja mesh is way to much. It has to be less than 64 vertices.

Ensced

20-11-2008 11:13:05

I have test the other mesh in the OgreSDK for the convert in skeleton, but the same crash.

May be, This function is use for the simple bones as a cube? So, If we make a model in the blender(for the exemple), it's no necessary create skeleton in their?

With Flour, we can create bone with make function, and in us programm, we assemble all(convex and bones)?

Sorry for my questions :oops:

Ensced

20-11-2008 11:14:50

thx betajaen for you answer

betajaen

20-11-2008 11:24:27

Skeletons are very tricky. I've found using only very simple shapes works. Remember it has to be simple because PhysX is resizing it all the time when the Actor is moving around in high velocity. As you tend to see things at a high velocity as a blur; it's best to think that the physics side of it would be to. So a skeleton is a blury model of your main mesh.

I've taken the liberty to copy down the limits of CCD, and here it is:

- 64 vertex limit on CCD skeletons.
- Skeletons limited to 256 edges.
- Dynamic vs. static does not work when the static shape is an NxSphereShape, NxCapsuleShape, NxPlaneShape, etc. These shapes are not used for static geometry in many games and it would require significant work to support them since they are not polygon based shapes (the CCD algorithm works with meshes).
- If the geometry of the static mesh is very complex and high detail (not common in a typical game), the dynamic object may get stuck on its surface after the collision due to conflicting contact points. Minimize this effect by increasing the size of the CCD skeleton, but depending on the mesh, it may not be fully resolved.
- The dynamic vs. dynamic CCD uses an approximation which assumes one shape is rotating much faster than the other. If both shapes in a pair are rotating very quickly, the approximation may break down (causing unrealistic results).
- The CCD code assumes shapes will not rotate by more than 180 degrees in a time step.
- CCD works by limiting the motion of objects. When an interpenetration is detected, the objects are stopped dead, even if it is halfway through a time step. This may make objects appear to hang in mid air for one frame, etc.
- Triggers do not take part in CCD.
- Be very careful with assigning CCD skeletons only to some of a dynamic actor's shapes. There is the risk of a non-CCD shape penetrating another object before a CCD shape arrests the motion, leading to the actor getting stuck in penetration. Only create such actors if you can in some way insure that this will not occur.
Kinematic objects are never halted by CCD and so using CCD for fast-moving kinematic bodies has no effect. (This only applies when it's the kinematic object that is fast-moving, fast-moving dynamic CCD objects are halted by kinematic ones as usual.)
CCD does not work with restricted hardware scenes (see Hardware Scene Creation).


As you can see; less than 64 vertices and less than 256 edges.

Ensced

20-11-2008 11:41:39

ok Thx very much! I have test the convert width a simple cube, and no problem.

Ok, I take my work with this "sight". As a picture we can see in Physx's doc, in the chapter "Skeletal Animation and Rag Dolls".

Fred

23-12-2008 13:18:25

Hi there,
I've some problems with floor.
At first: My installed PhysX-version is 2.8.1 but there are also the 2.8.0 files on my PC and at the moment(but I've tried it with the new files, too) these files are in my floor folder:

15.10.2007 08:40 269.312 devil.dll
16.10.2008 15:54 1.451.008 flour.exe
15.10.2007 08:40 237.568 glut32.dll
15.10.2007 08:40 485.888 granny2.dll
15.10.2007 08:40 27.648 ilu.dll
15.10.2007 08:40 16.384 ilut.dll
13.02.2008 13:09 124.192 NxCharacter.dll
13.02.2008 13:09 390.432 NxCooking.dll
13.02.2008 13:09 70.944 PhysXLoader.dll


But:

C:\Programmierung\Flour>flour test
---------------------------- NxOgre Single Test ----------------------------
Versions:
- NxOgre 1.0.22T5 Bleeding Edge
- Ogre 1.6.0 'Shoggoth'
Results:
- Core:

If I try to run flour test, the application will crash.
If I try flour view, I can see my mesh in a window.
If I try flour convert:

C:\Programmierung\Flour>flour convert in: Block_1_0.mesh, into: convex, out: block_1_0.nxs

The application will crash again and will not create any nxs file.

What's my mistake?

fzh

01-02-2009 03:49:12

I'm having the same problem, with 2.8.1, flour will return an unknown format error, which is probably due to physx version since the error is not coded in flour. When using any other version except for 2.8.1 - tried with 2.8.0 and 2.7.6, it will crash.

Also, are there any other options of creating shapes without having to convert them to xhf/nxs like pre-bleeding? The extra file size of having to convert every model could be a problem.