Page 2 of 10
Posted: 16 Apr 2011, 16:26
jigebren
I'm back home and Blender v2.57 (official stable release) has finally been released...
Yesterday I have added RIM Export support too (planes definition for mirroring surfaces), so now this plugin should be quite complete even for very advanced track (or car) makers.

It should be fully usable now, though being still fully undocumented, and of course it still needs a bit polishing.
I have no clear plan yet. I could release a closed beta like for WolfR4, but I'm not really in favor of this option anymore, so maybe I'll start directly with a public Beta release...

Posted: 16 Apr 2011, 20:20
sebr
will you add hull support ?

Posted: 16 Apr 2011, 21:17
Citywalker
Isn't Jig's own prm2hul tool enough? You can download it from his site, along with his and my versions of hull visualisation spreadsheets (mine in MS Excel and OpenOffice format).

Yes, it sounds a bit like advertising, but, really, these tools are enough in my mind.

The developer is Jigebren, of course, and he's free to disagree with me :)

Posted: 16 Apr 2011, 21:34
jigebren
sebr @ Apr 16 2011, 03:50 PM wrote:will you add hull support ?
Good question. In fact I didn't mention this format yet as there is no way as far as I know to properly render the content of a hull file in a 3D software like Blender (only a more math oriented one like POV-Ray can do it). Well, I think it probably deserves a little explanation...

For info, a HUL file is composed of: (see ali's page)
- a convex hull, composed of edges (can be skipped as I think they're not used by Re-Volt anymore) and a list of planes (defined by a normal vector and a distance).
- a list of collision spheres.
Depending on the collision type, Re-Volt will use either the planes or the spheres.

Quickly computing a convex hull from scratch is not that easy, my tool prm2hul makes use of the external qconvex to do it efficiently. But either computing the CHull in directly in python or calling it from an external tool sounds too complex for this plugin.
So, we could think about just a simple planes editing support. But Blender only works with triangles or quads faces and the CHull planes can also be more complex polygons. If the planes can't be rendered, they can't be edited either...

About the spheres part, I think I could add full editing support (ie. editing, adding and removing spheres). That way, it could be used to tweak the spheres set of a HUL generated with prm2hul. But I have to be able to temporarily store the planes data somewhere when importing the HUL file to write them back when re-exporting the file.

To conclude, I can't remember exactly when re-volt uses plane and when it use spheres. It should be interesting to know it before I decide whether adding HUL spheres editing support would be worth the pain or not...

Posted: 18 Apr 2011, 07:57
jigebren
Well, in fact I decided to try to go further with the HUL file support...

Importing collision spheres was quite an easy task (for info, there are displayed as NURBS spheres in Blender). But as I said previously, the arduous part was the convex hull...
After some work and with the help of the excellent Qhull tool, I was able to create a triangulated representation of the convex hull found in the HUL file (triangulation is to be sure that each face will be displayable in Blender).

The result can be seen on the following screenshot. It shows the imported Mouse body, as well as the collision spheres (in grey) and the triangulated convex hull (the orange wireframe):


I have even wrote the export part and after a quick try in game, it seems to work nicely (both collisions with the static world and with moving objects like cars were working...).

So it means that a HUL file will now be fully editable... :)

Posted: 18 Apr 2011, 13:26
Citywalker
Hah! You did it. You actually went and did it. Is there nothing you can't do? :)

Posted: 18 Apr 2011, 23:42
sebr
+1 :D :D :D :D

according to Ali's page Candy Pebbles is quite different from the others cars, did you test it ?

Code: Select all

On my installation Candy Pebbles has a zero-length hull.hul. Either I screwed something up, or that car is strange.

Maybe there may be more than one interior part: All cars except for Mouse have one. Mouse has three. WTF? More strange, the second and third interior are same, but different to the first.
thx for the job jigebren B)

Posted: 19 Apr 2011, 02:53
jigebren
Thanks, Citywalker. But honestly I couldn't have done it without Qhull help... so our gratitude should go to Qhull devs for this. :)

@SebR
In fact, Ali has probably disregarded that the real Candy's Hul file is "Candy.hul", not the junk "Hull.hul" also present in the directory (and for info, "Candy.hul" is ok).

About the Mouse weird HUL, I don't know what could have been the reason of these extra data. But I'm quite sure that re-volt simply ignores any extra set of spheres. So that's also what my plugin does (extra "interiors" are ignored).

Posted: 19 Apr 2011, 07:39
Citywalker
jigebren @ Apr 18 2011, 10:23 PM wrote:In fact, Ali has probably disregarded that the real Candy's Hul file is "Candy.hul", not the junk "Hull.hul" also present in the directory (and for info, "Candy.hul" is ok).
So *that's* why I had to generate a new one with prm2hul the other day!...
Eh, some things are made weird with this game, indeed.

Posted: 02 May 2011, 03:39
jigebren
I know you probably won't care much as long as I don't release this plugin publicly, but here are some news anyhow. :P

I just added support for reading directly a parameters.txt file from Blender. It means that all the models that are part of the car will be loaded and placed at the offset specified in the file. And by adequately using Blender constraints, springs, axles and pins should mimic the in game behavior, ie. they will be deformed according to the wheel position.
But it's not intended to be an exact simulation! First, I don't know if Blender constraints are working exactly the same way than Re-Volt ones. Second, models are simply placed to the rest position indicated in the parameters.txt file. There is no simulation of gravity and no contact with a virtual ground (while in Re-Volt, the wheels rest position depends on eg. the car weight, the spring stiffness, etc.).

You can check the result on the following screenshot. Here I have moved up the front-right wheel, and as you can see the spring and the spin have been resized/moved accordingly. :)



And before you ask, I don't plan to add export support. The goal of this addition is to give car makers an easy way to have a preview of the full car, but it's not intended to turn Blender into a full car editor... ;)

Posted: 02 May 2011, 08:27
Citywalker
but it's not intended to turn Blender into a full car editor...
Yet...
<a friendly smile, knowing you>

Posted: 02 May 2011, 11:19
urnemanden
Very nice Jigebren! I've always wanted to have the original stock cars as prm files for screenshot purposes and this might come in handy even though it isn't 100% precise as you say.

This *may* be too much to request but have you thought of including the antenna? :)

Posted: 02 May 2011, 19:16
jigebren
urnemanden @ May 2 2011, 06:49 AM wrote: This *may* be too much to request but have you thought of including the antenna?
No problem, I already did it yesterday after noticing it was missing. ;) I have had to empirically adjust size and rotation to try to look as in Re-Volt, but still the litte red cap is looking to lengthy... I'll investigate that soon.

Posted: 03 May 2011, 00:47
sebr
Not a request, just a question : Is spinner added too ?
(Bertha Ballistics [radar], Panga [head] ...)

I'm using your plug-in to add a reversed way on a custom track : Frostbite
And I found 2 bug

1) if i import a revolt file (ex : frostbite.ori.ncp), make some changes and try to export it in a different name (ex : frostbite.ncp), blender work all time and do nothing ...
If i keep the original filename : everything ok

2) I try to make an instance : deletting all the world parts (frostbite.w) but keep the object i need and try to export him as prm file : it's work
but when i try to add it in revolt using makeitgood, the instance was realy smaller than the original
(and i couldn't export it as ncp fil to make it solide)

On the front of toyeca : the original instance needed
and the exported one is in the red circle at right of the toyeca

Posted: 03 May 2011, 04:33
jigebren
Yep, spinner is added, as can be seen on the following Bertha screenshot:



And as you can notice, aerial is now imported too. :)
For info, an aerial is composed of to parts: a section mesh, and top mesh (the red cap). Last time I said that the cap size was looking incorrect (twice the normal size). I was displaying the section mesh ridged by the top mesh and streching the result to the given lenght. But in fact, revolt is using a sequence of one top mesh and 3 sections meshes...
I have fixed it, and I have also checked and fixed the orientation (the rotation along the vertical axis), so the aerial should be perfect now.

@SebR
Don't know if it's the reason of your 1) issue, but you should avoid to modify a NCP name.
The NCP format comes in two flavors: one for instances, and one for worlds. When exporting a NCP file, my plugin check if there is a file (in the same directory) with the same name but a .W extension to decide whether or not it'll use the "World NCP" format. If no corresponding .W file is found, it'll switch to default "Instance NCP" format.
So if you play with the NCP name, always ensure there is a corresponding .W file (a dummy empty file is enough).

2) When importing or exporting, you should notice the "Prm/m Scale" and "World Scale" entries in the leftmost panel. Default scale for PRM is 10, and for world it's 1000. I not very happy with using 2 different scales, but I feel I have to...
- If I use a scale of 100 for world, it will be too big to be properly displayed in Blender so it will look clipped and end-user will complain that it doesn't work (yes, I know it can be adjusted...).
- If I use a scale of 1000 for car, it will be so little that it'll be hardly noticeable in the default view, so end-user will complain that it doesn't work...
That's why I chose to use 2 different scales. And it was before I planned to add NCP support, etc. I plan to use a single value as it would be more consistent, but I have to find a work around for the 2 points above-mentioned.

Now, to conclude for your issue, it just means that you have to scale up by a x100 factor when ripping a World part into an instance file.

Posted: 03 May 2011, 05:41
sebr
jigebren @ May 3 2011, 12:03 AM wrote: Now, to conclude for your issue, it just means that you have to scale up by a x100 factor when ripping a World part into an instance file.
thx now it's work

i try to do the same when adding a .ncp to my new instance ripped from the (world) .ncp and when i go back to revolt the instance become "nothing"
i can add it but see nothing and hit nothing too

shoold i made ncp before prm ? or i miss something ...
i try to made the ncp from a valid prm but blender give me an error message...

note : it's too late for me this night, i'll try it again tomorrow :wacko:

Posted: 03 May 2011, 17:37
jigebren
sebr @ May 3 2011, 01:11 AM wrote: i try to do the same when adding a .ncp to my new instance ripped from the (world) .ncp and when i go back to revolt the instance become "nothing"
There could be several reasons: bad scale, bad origin, bad material, bad face orientation, and finally, a bug in the plugin...
- At least you should try to reimport the created NCP file to see if it looks ok, and fits the PRM shape.
- Check that all face are using the DEFAULT material (or any other material except the NONE one.)
- All faces should be properly oriented (if you can see the PRM textured faces without using the double-sided option, then it should be ok).
- Ensure there is no file with a .W extension (I mean, if you're exporting "myinstance.ncp" from a "myinstance.prm" file, there should not be a "myinstance.w" file in the same directory).
i try to made the ncp from a valid prm but blender give me an error message...
Well, show me this message... You can copy the console content: right click on the top bar of the console window, select "modify" then "Select" in the menu, select the text to copy in the console and simply right-click. The text will be pushed in the clipboard.

Posted: 03 May 2011, 23:43
sebr
jigebren @ May 3 2011, 01:07 PM wrote:
i try to made the ncp from a valid prm but blender give me an error message...
Well, show me this message... You can copy the console content: right click on the top bar of the console window, select "modify" then "Select" in the menu, select the text to copy in the console and simply right-click. The text will be pushed in the clipboard.

Code: Select all

Importing PRM / M&#58; D&#58;&#092;Program Files&#092;Acclaim Entertainment&#092;Re-Volt&#092;levels&#092;frostbi
te&#092;pineout1.prm
This model has 1 levels of detail.
Texture used &#40;indice and name&#41;&#58; {4&#58; bpy.data.images&#91;"frostbitee.bmp"&#93;}

Done! Data imported in 0.05 seconds.


--- Re-Volt exporter &#91;by JiGe&#93; {2011/02} ---

Export to .ncp format&#58; D&#58;&#092;Program Files&#092;Acclaim Entertainment&#092;Re-Volt&#092;levels&#092;fro
stbite&#092;pineout1.ncp
Exporting NCP.
Traceback &#40;most recent call last&#41;&#58;
 &nbsp;File "E&#58;&#092;Progs&#092;MULTIM~1&#092;BLENDE~1.56A&#092;2.56&#092;scripts&#092;addons&#092;io_revolt&#092;export_revo
lt.py", line 872, in execute
 &nbsp;File "E&#58;&#092;Progs&#092;MULTIM~1&#092;BLENDE~1.56A&#092;2.56&#092;scripts&#092;addons&#092;io_revolt&#092;export_revo
lt.py", line 317, in export_ncp
 &nbsp;File "E&#58;&#092;Progs&#092;MULTIM~1&#092;BLENDE~1.56A&#092;2.56&#092;scripts&#092;addons&#092;io_revolt&#092;export_revo
lt.py", line 283, in __init__
IndexError&#58; bpy_prop_collection&#91;index&#93;&#58; index 0 out of range, size 0

location&#58;<unknown location>&#58;-1

location&#58;<unknown location>&#58;-1
here is the (importing and exporting) messages in the console

NOTE: E:&#092; is a dvd burner on my computer :blink:

Posted: 04 May 2011, 01:30
Huki
After a quick try here, I had no problem with that model. But AFAIK, the latest build of the plugin has not yet been released, so this could be an already fixed bug (I remember such an issue when exporting an ncp without any materials, as in this prm2ncp case). Hopefully, there will be a public release soon.

Posted: 05 May 2011, 05:09
jigebren
Hum, I can't tell what's the SebR issue from this console log... It quite sure that it would be fixed in current WIP version anyhow, but I'm afraid there won't be a public release very soon for at least the follwing reasons:
- I'm currently working as fast as possible on creating my new track, which allows me BTW to test and correct in realtime any glitches I can find in this plugin, and this is already very time consuming.
- I do not have a single minute left neither to write the doc, nor to maintain a changelog of my modifications/updates.
- If I release this plugin now, all my time would be consumed answering users question (and to make it clear, I'm not criticizing questioning... I just mean that my free time is the matter).
- Blender currently seems to crash in some cases when calling Undo from Python. I'd like to use Undo to keep the Blender Meshes modifers settings or to restore the object scale and rotation after the export plugin has been called. But for now I'm just displaying a "Don't forget to UNDO" message after each export, which is not very user friendly.
- And last, for now I want to keep the freedom of being able to do any modification to my plugin without having to notify users of the changes... It's way easier and faster for me.

Posted: 06 May 2011, 00:49
sebr
sebr @ May 3 2011, 01:11 AM wrote:[...] shoold i made ncp before prm ? or i miss something ...
i try to made the ncp from a valid prm but blender give me an error message...

note : it's too late for me this night, i'll try it again tomorrow&nbsp; :wacko:
I was a prophet at this time ... because i realy miss something.
on the last public release email of the plugin I found this :

Code: Select all

Last changelog

NCP exporting failed when a mesh has an empty material list &#40;like when importing something else than a NCP, for example during a World to NCP conversion...&#41;
so I try again importing the prm, add material on all faces and export it as ncp ...
and it's work ! but I found a new bug : it use "World Scale" when exporting but i'm sure there aren't any W file with the same nane .... i change "World Scale" value and now everything is ok :rolleyes:

but as you (and huki) told me before it's may already fixed now B)

good luck for your track

Posted: 07 May 2011, 18:32
jigebren
The plugin is now aware of two Re-Volt internal limitations, which I have been facing while working on Destination Moon...

TexAnim limitation
Only up to 16 Texure animation (aka multi-frame) data can be used per track.
It's a bit hard to explain what one TexAnim data is... For example, if you want to animate the texture of a 16 faces sphere, you'll probably have to use 16 different TexAnim data - one for each face - which leaves no available slot for other animation.
But it doesn't mean only 16 faces can be textured. If several faces share exactly the same UV mapping and the same TexAnim command (used in this plugin to create TexAnim data), then the animation of these faces will use only one TexAnim slot.
So if for example we dupplicate one single textured square to create a simple but long conveyor belt, then only one TexAnim slot can be used.

NCP (collision data) limitation
Re-volt is using a NCP file to store the collision data of a track. This file stores a list of triangle or square face, and defines several properties for each face (among which is the material definition). Due to some revolt internals, it seems that only up to 8191 faces can be used in this file, so each supplementary faces will be skipped when exporting.
Of course this list clipping is only to avoid trouble in re-volt and it's not a solution in itself, as the missing faces will lead to "holes" in the track. But it is possible to use way less face for the collsion data than for the displaying part: for example, in the stock track Market2, only one big square face is used for the perfectly flat ground (instead of using one face in the NCP file for each face in the W file).

NOTE: while writing this I took a second look at the source code, and now I'm unsure whether this limit is 8191 (as it's written in a comment) or more (as the code makes me believe)... I have to examine this more deeply.


EDIT: I have added a dummy sphere with 8192 faces and exported the NCP file of track, and no collision was missing. Then I have added another sphere still with 8192 faces (bringing the total number of NCP faces to 21916 for the track), and holes appeared when racing the track.
So I think we can now safely come to the conclusion that the maximum number of collision faces for a track is 16384 (ie. a 14 bits value).
And last, for info, I believe this is the number of faces of the world's NCP joined with the NCP of each added instance.

Posted: 17 May 2011, 04:05
jigebren
Well, the TexAnim and NCP limitations didn't seems to be a very exciting subject. ;) I'm not really sure Visiboxes will be a more attractive one...

Anyway, I have recently added the support for importing and exporting VIS file in Blender.
For info, Visiboxes are used to optimize the framerate when rendering a World: Several Cubes boxes can be linked to one Camera box, and when the player's camera is inside a Camera box, all areas inside the associated Cube boxes will be skipped directly (ie. not rendered).

It was not an essential feature, as Visiboxes can already be edited in MAKEITGOOD mode, but I found it more convenient to be able to do it in Blender directly.
Re-Volt support up to 600 Visiboxes (Camera + Cube boxes), and it seems that the stock tracks use to reach this limitation, which makes it quite a mess when it comes to editing...
In Blender, by using a few selection and hidding commands, it should be possible to only display the Cube boxes associated to a given Camera box, making the editing task easier.


On the screenshots below, I have used NHood1.vis as an example.

All Camera boxes are imported on layer 10 with a transparent red color.


Cube boxes are imported on layer 11 with a transparent blue color.


As you can see, even though they are split on 2 layers, there is a bunch of boxes and it's not really easy to edit these data.
Here it would be a more convenient way to work: only the Cube boxes associated to the selected Camera box are displayed.


An important point to notice is that Camera and Cube boxes are associated by the plugin through a parent/children relationship (which can be noticed on the last screenshot as it is materialized by a black dotted line between boxes).
So here are the steps to get the result above:
- display only the Camera boxes layer [Alt+1]
- select a Camera box
- display only the Cube boxes layer [Alt+2]
- select all object childrens [Shift+G]
- hide non-selected [Shift+H]
All unnecessary Cube boxes are now hidden.
To display them again, just use [Alt+H].

Posted: 17 May 2011, 11:49
urnemanden
Jigebren wrote:Well, the TexAnim and NCP limitations didn't seems to be a very exciting subject.
The NCP limitation has been well known since RV-Glue, but thanks for comming up with an exact number. Restrictions in Texture Animations? aaw, that is really a shame actually.

Re: Viziboxes
How does Viziboxes work together with World Cubes/Funnyballs/Bounding boxes which also determines what to render?

I am following this project closely and when I finally push myself together to try Blender, I might look into writing a tutorial of some sorts. This is a big turn though and let me ask you a question: How intuitive do you think Blender's interface is yourself? What is the idea behind it, how does it work for you? It looks very unfamiliar to me.

Posted: 17 May 2011, 19:45
jigebren
Urne wrote:The NCP limitation has been well known since RV-Glue, but thanks for comming up with an exact number.
Oh yes, you're right, RvGlue is using a limiting value of 16000 NCP faces...

Texture Animation are indeed restricted, and it prevented me to use some ideas I had before I knew it. I don't plan to try to increase this limitation in v1.2 as it would break compatibility of the track with older version. So I have thrown out my previous ideas and just used simpler animations where actually needed, and in fact I think it's enough...

Re: Viziboxes
After a quick look at the source code, I think it works this way:
Each world Cube (a world Cube is equivalent to an Obejct/Mesh in Blender) is tested to see if it fit fully inside a Cube Visibox. In the latter case, the whole Cube can be skipped when we're inside the associated Camera Cube.
In case the Cube in only partially inside a Visibox, then I think each of its polies is tested against the Cube Visibox (unless the -cubevisi command line switch is used).
I don't think there is any interaction between Visiboxes and world Big Cubes (aka. FunnyBalls).


About Blender, it's hard to anwser because if I say I find it very convenient, and then you try and find the oppposite, I'll be accused of being dishonest... :rolleyes: But I can tell you my own experience.
When I started with Blender, I quickly felt exasperate not to be able to use my conditioned computer reflexes: selecting is right-click, there is no contextual menu, no usual copy/paste function, etc. I have the feeling to always have to search how to do anything, and it quickly got on my nerves. But I was not starting the good way. The good way to start is to follow a beginner tutorial and memorize the shortcuts. I think most people complaining about Blender have not learnt the shortcut, they expect an easy to learn software with a nice icon for every feature, and it's not.

So to anwser your question, I don't think that Blender is intuitive (all the most after years of microsoft-like formatting), but that's only an issue when you're a complete begginer. With a bit of practice, you can quickly feel comfortable with it.
BTW, v2.5 has a new search function feature called by [space] key which is very convenient to find what you need, provided you guess part of its name (and now I start to miss this feature in all other softwares I'm using).

Posted: 18 May 2011, 17:43
urnemanden
Thanks fore the reply! I am currently getting started with Blender 2.5 here, only working through my second "video tutorial". I am not sure if I am going the right way though, could you possibly guide me to the tutorials you know or have been using yourself, Jigebren?

As to keyboard shortcuts, I am very positive of their major appearance in Blender. It will take a long time before I can even get used to Shift, Control and Middle Mouse button though - even after I've changed the Orbit Style from Trackball to Turntable hehe.

Posted: 19 May 2011, 03:15
jigebren
Hm, I can't really help about tutorials... I don't think I can remember which ones I started with and, mostly, they were for v2.49. Of course it would be better for you to watch v2.50 stuff directly. Also, any tutorials I may have watched more recently would rather deal with one specific subject only, and it's not what you need for now.

Turntable Orbit style is also one of the few settings I always modify in the default preferences... About mouse, I never use Ctrl+MiddleMouseClick as I rather zoom with the mouse wheel. I remember the middle mouse use could look surprising first, but now it's very natural and I don't even think about it.


In case it can help, here are some usefull shortcuts I know I really use a lot:
  • [Tab] : switch between edit mode / object mode.
  • [Ctrl+Tab] : in edit mode, switch between vertex/edge/face selection mode.
  • [Z], [Alt+Z] : switch between Textured, Solid, Wireframe mode.
  • numpad [.] : center and zoom on the selected object, or vertices/faces, etc.
  • numpad [5] : switch perspectived mode on/off
  • numpad [7], [1], [3] : top, front, right views. With [Ctrl] key : bottom, back, left views.
  • [Ctr+L] : In edit mode, select all vertices/faces linked with the selected ones.
  • [H] combined with [Shift] or [Alt] : used to hide / unhide objects or vertices/faces.
  • [Shift+S] : in Edit mode, several Snap /Cursor options.
  • : Scale. Then you can press either [X], [Y], or [Z] to scale in one dimension only (use [Shift+X], etc. to scale in 2 dims), and press [X] 2 times to scale along Local axes.
Also, Redo is [Ctrl+Shift+Z] (I added this one as it's not Ctrl+Y, and I once thought there was no Redo feature...).

Posted: 20 May 2011, 00:27
sebr
i found a great tutorial for beguinner in blender but it's in french :huh:
HERE

and a picture with many shortcuts => picture

hope it's help ...


I have a bug when exporting a ncp file from blender, there are some hole ...
on the right the original muse2.ncp and on the left the exported one with no modifications ...


and the exported file is lighter than the original from 749Ko to 726Ko ...

Posted: 28 May 2011, 17:27
SkindupTruk
jiggy, nice work on your blender map maker. if i can help in any way from what my mate and i have learnt from doing similar import / export and binary conversion scripts in rhino3d, let me know.

i tried looking at the blender source to see how to maybe code up the import in C but the code was way too complex for me to learn.

Posted: 30 May 2011, 01:52
jigebren
Thanks Skindup. BTW I just take another look at your Rhino script and it seems to be quite complete indeed... And thanks for the help offer. It should be ok as I think I've already dealt with the most complex formats, which I think were .HUL and .NCP, but I'll think about it if implement other format and I run up against any unexpected difficulties.

About Blender, you don't even have to look at the source and code in C to add support for a new file format (or a lot of other functionalities). The expected way is to use the Blender Python API which gives access to Blender's internal data and functions, which sounds way simpler IMO.
So you only need to: 1) know a bit of Python, 2) find your way through the Blender API (due to a recent API rewriting, the documentation for v2.5 is still rather incomplete... on the other hand, there is now a helpfull tooltip for each tool in the interface that give the equivalent API command to use).

Posted: 13 Jun 2011, 07:39
sebr
sebr @ May 19 2011, 07:57 PM wrote: I have a bug when exporting a ncp file from blender, there are some hole ...
on the right the original muse2.ncp and on the left the exported one with no modifications ...


and the exported file is lighter than the original from 749Ko to 726Ko ...
this bug is now fixed in plugin for blender 2.57b B)

Posted: 23 Jun 2011, 02:45
krisss
HI!
Unbelievable! I really need to try this plug-in. :o

Huge thanks to Jigebren! ;)

Posted: 23 Jun 2011, 04:14
jigebren
Thanks for the report, SebR.

@Krisss
Currently, I'm not really updating the code anymore as it has all I need for working on my track and there is no known bug (and I lack time for new feature). But I have to make a new release quite soon (as I fixed a bug with Env mapping).
So PM me your email if you want to receive it.

I'll also send next release in an encrypted archive, otherwise some email providers (gmail...) refuse it, because there is an .exe file supplied to compute the CHull.

EDIT:
Oh, and Blender v2.58 has just been released...

Posted: 08 Jul 2011, 00:10
jigebren
A quick word about the last added feature, the support of the Mul Vertex Color layer in Blender.
This feature is designed to ease the track/car shading, as Vertex colors can be used both to colorize and object and to draw "baked" shadows to reinforce the object volume perception. The main goal here is to be able to quickly modify the object color without having to re-draw all shadows.

With this feature one Vertex Color layer can be used in Blender to define the object color. Here is the regular Col layer, filled with blue color:


Another layer can be used to draw shadow. It has to be named Mul:


When exporting the world/object, the two layers colors are multiplied to give the final vertex colors. Here is the result in Re-Volt: (I have willingly lightened and desaturated the regular Adeon car texture for the example)

Posted: 08 Jul 2011, 00:29
urnemanden
This new feature is quite interesting and it will definitely make it easier to "shade" within Blender. Does Blender allow you to see the two layers combined/multiplied the same way as in the screenshot of Re-Volt?


I'lll remember to take a better look at this once I get to that point of experimentation. :)

Posted: 08 Jul 2011, 03:20
jigebren
urnemanden @ Jul 7 2011, 07:59 PM wrote:Does Blender allow you to see the two layers combined/multiplied the same way as in the screenshot of Re-Volt?
No, the layers blending is just coded in the plugin, it's not a Blender native feature.

I had an idea about this, though I don't know yet if it would be worth the pain (in fact I don't know if it's really needed). I could use another Vertex Color layer, and when exporting, multiply this layer with the "Mul" one and copy the result to the "Col" layer. The result would then be visible in the "Col" layer.

Posted: 03 Aug 2011, 23:10
sebr
[off-topic]

Only for fun I try last plug-in realease on Ubunto with Blender 2.58
and it works as well :lol: I only use W and NCP import/export with some changes
then go back windows and play revolt without bug :P
but I think everything else is ok ;)
I was convinced it would work but needed a test

[off-topic]

Posted: 09 Aug 2011, 21:08
urnemanden
Suggestion: Instances Support
I am currently reading my way through Blender Foundations and one of the simple features I recently learned gave me an idea. Do you plan to make the blender plugin support exporting fin files too?

It is within Blender possible to create several instances of the same model using Alt+D. Any changes made to one of the instances in edit mode will apply to all of the instances as they share same mesh. Only changes applied in Object mode isn't copied by the other instances, just like in Re-Volt.

The MAKEITGOOD Instances mode in Re-Volt only supports rotation and movement changes though, so you obviously won't see differences in scale and material if you made any.

It would be nice with such an export feature, at least in my mind. That way your Blender plugin would support every visual aspect there is of Re-Volt, at least every I can think of. The only reason to that I would prefer doing instances in Blender over Re-Volt, would be because I can instantly edit them all to my own preference when needed. What do you think?

Posted: 25 Sep 2011, 06:58
jigebren
Not such a great news but a great internal modification:
I have finally get rid of a long term glitch in the plugin. Beta testers should now the "Don't forget to UNDO!" message which is displayed each time a model is exported. This boring message has gone now. :)

For info, un-doing was necessary to be sure that Blender modifers and object scales were not definitely applied to the object when exporting. It was not possible to undo directly from python as it was crashing one time out of three... Now, thanks to a Blender dev tip, I'm using another way to apply modifers before exporting and there is not need for Undo anymore.

@Urne
I've taken a quick look at instance support. It should be possible to add it, but I don't really have enough will / time to do it compared to the little benefit it'll bring (well, IMO...).
As you know, each instance has its own properties (Env RGB, etc.) which are usually set in Makeitgood mode. To support instance import/export, I'll necessarily have to store these values somewhere (otherwise they will get lost after a simple import -> export). Blender allows to define per object custom settings so it should be possible, but I have not done it yet and learning how to proceed will take some time...
Well, of course I could still change my mind one day if it turns out that I personally really need it. ;)

Posted: 28 Sep 2011, 00:06
sebr
I don't know if you already have a look HERE and HERE jigebren ?:o

Posted: 29 Sep 2011, 06:12
jigebren
I had recently switched from the basic (though efficient) SciTE editor to Geany when it comes to editing Python scripts (like this plugin). Geany is quite basic too, but I needed a code navigation panel (which SciTE lacks, contrarily to Geany).
As I was curious to try this new tool, it was a good opportunity to work on this plugin again.

So I'm in the process of adding another feature, as you can see on this screenshot.



I will say no more, but a watchful eye should easily notice what it's about... :)

@SebR
Thanks, I remember having once seen this page, but now I get more detailled infos by reading through the code directly.

Posted: 29 Sep 2011, 11:13
urnemanden
Well, I'll cross fingers and hope that this is what I think it is.. :rolleyes:

Nevertheless I'm looking forward to whatever you've got in the works! Still only learning the basics here (Chapter 4 / 14 in my book so far) because school has made my days very busy. As soon as time allows it I'll begin playing with your plug-in though. :)

Posted: 01 Oct 2011, 04:05
sebr
realy happy seeing that instance suport will working :)

i have a bug : i can't load Aperture Laboratories W file

Code: Select all

Traceback &#40;most recent call last&#41;&#58;
  File "import_revolt.py", line 2021, in execute
  File "import_revolt.py", line 1837, in w_callback
  File "import_revolt.py", line 890, in __init__
struct.error&#58; unpack requires a bytes object of length 4

location&#58;<unknown location>&#58;-1
It's the same with Bodyguard W file

Code: Select all

Traceback &#40;most recent call last&#41;&#58;
  File "import_revolt.py", line 2021, in execute
  File "import_revolt.py", line 1837, in w_callback
  File "import_revolt.py", line 890, in __init__
struct.error&#58; unpack requires a bytes object of length 4

location&#58;<unknown location>&#58;-1
LEGO tracks
tested with blender v2.58 et v2.59 plug-in

Posted: 01 Oct 2011, 06:30
jigebren
The download link for Bodyguard was broken, but the other was ok...
In fact the TexAnim count (which is 0 here) is not written in the .w files (don't know if it's the case for all legos).
I've fixed it. The next release (which may come soon) will take care of that case.

Thanks for reporting.

Posted: 01 Oct 2011, 09:03
Aeon
I'm still using 2.49a and haven't tried any of the newer versions, but I did use Zagames' (I think) plugin to export my Shift track from Blender to Re-Volt, if you're looking to see how many Blender users there are here.

Posted: 01 Oct 2011, 19:35
sebr
I found some others LEGO TRACKS with the same bug and all of theme are from trackeditor without any other editing like makeitgood, 3dsmax or rvglue ...

you can email me your last plug-in before next release if you want me check all my lego tracks ;)

Posted: 06 Oct 2011, 19:27
jigebren
@Aeon
Well, maybe you should give v2.5 a try. As far a Re-Volt is concerned, any import/export task should be more convenient with my plugin that any other way you were used to.

@SebR
Thanks but it was not useful. I have clearly pinpointed the bug so I'm quite sure it's fixed. Btw, I notice I have not included this fix in the last changelog...


As Beta testers should know, I have released an update of the plugin yesterday.

There is now a full support for Instances (.fin files) importing and exporting, as well as a panel to set any available instance property used in Re-Volt.
FIN support was not really indispensable as it can be done directly from MAKEITGOOD, but positionning, etc. can be done more conveniently and precisely in Blender. And when creating the world in Blender, it can be useful to know exactly where the instances are located.

I have also proceeded to a great cleaning/updating of all the code. It breaks compatibility with previous TexAnim commands and Level of Detail index suffix for .blend files that were created while using previous version of the plugin, but I don't think it should bother anyone for now (except me as I was already using TexAnim in Destination Moon). ;)

For the future, there is a threatening black cloud coming in the form of a good news... Blending 2.60 is planned for a few weeks (first RC has been released yesterday).
That sounds nice, but by looking at the changelog in more details, I noticed that Texture Face options are on their way to be removed. As Blender currently doesn't allow per face custom properties, reusing TexFace options was the only (hacky) way I had to support Re-Volt face properties (like Textured, Double-Sided, etc.). If this is removed, I don't know how to proceed. I'm afraid there will just be no way!
I'll know more about it once I have tried v2.60RC... I just hope we'll not be forced to keep using v2.5x for a proper Re-Volt support.

Posted: 07 Oct 2011, 04:34
sebr
sebr @ Sep 30 2011, 11:35 PM wrote: realy happy seeing that instance suport will working :)

i have a bug : i can't load Aperture Laboratories W file

Code: Select all

Traceback &#40;most recent call last&#41;&#58;
  File "import_revolt.py", line 2021, in execute
  File "import_revolt.py", line 1837, in w_callback
  File "import_revolt.py", line 890, in __init__
struct.error&#58; unpack requires a bytes object of length 4

location&#58;<unknown location>&#58;-1
It's the same with Bodyguard W file

Code: Select all

Traceback &#40;most recent call last&#41;&#58;
  File "import_revolt.py", line 2021, in execute
  File "import_revolt.py", line 1837, in w_callback
  File "import_revolt.py", line 890, in __init__
struct.error&#58; unpack requires a bytes object of length 4

location&#58;<unknown location>&#58;-1
LEGO tracks
tested with blender v2.58 et v2.59 plug-in
Bad news LEGO W import works now but Export doesn't :huh:

Code: Select all

Traceback &#40;most recent call last&#41;&#58;
 &nbsp;File "D&#58;&#092;Program Files&#092;Blender Foundation&#092;Blender&#092;2.59&#092;scripts&#092;addons&#092;io_revolt&#092;__init__.py", line 296, in execute
 &nbsp; &nbsp;export_revolt.export_w&#40;self.filepath, scn&#41;
 &nbsp;File "export_revolt.py", line 1141, in export_w
 &nbsp;File "export_revolt.py", line 768, in __init__
 &nbsp;File "export_revolt.py", line 600, in __init__
ValueError&#58; min&#40;&#41; arg is an empty sequence

location&#58;<unknown location>&#58;-1


Posted: 07 Oct 2011, 08:17
Citywalker
I just hope we'll not be forced to keep using v2.5x for a proper Re-Volt support.
Would that be so bad? At least _I_ don't think it would be a problem to keep using an older, but well-suitable version of Blender. Newer is not _always_ better.

Posted: 07 Oct 2011, 16:44
Huki
Citywalker @ Oct 7 2011, 08:17 AM wrote:
I just hope we'll not be forced to keep using v2.5x for a proper Re-Volt support.
Would that be so bad? At least _I_ don't think it would be a problem to keep using an older, but well-suitable version of Blender. Newer is not _always_ better.
Newer would be better if it supports per-face custom properties.. ;)