Commit Graph

8535 Commits

Author SHA1 Message Date
Campbell Barton
c19baf85cc [#18694] Added support for Wavefront OBJ groups for both the import and export scripts
from Paolo Ciccone (pciccone) 

Im not that keen on this functionality since vertex groups in blender are for weight painting and OBJ's groups are more like sub-objects, The conversion between these is a poor approximation (one vertex group per face).
But this is still useful for using blender with poser so accepting these 2 patches.

Made some changes from the patch
*Export*
- vgroup off by default, since this is mainly useful for corner cases
- findVertexGroupName() - changed how exporting selects a vertex group for a face, use the highest combind weight for each group instead of  the number of checking how many times the verts are in a group because they could have a zero weight.
- findVertexGroupName() - would fail if a faces verts were not in any groups, now return a (null) group
- Allow modifiers to export with vgroups

*Import*
- disable by default
- ignore (null) groups
- fixed a problem where the patch broke SPLIT_GROUPS
- move the group definition out of global namespace, breaks importing as a module.

--- Patch submission info
The import/export scripts included with Blender 2.48 don't save/preserve groups defined in OBJ file. This presents a
couple of issues: users loading an obj file with groups are not able to use a rather important set of data. When the
file is then saved the groups are lost bringing up both the issue of data loss and loss of functionality as groups are
used for rigging and morph target creation for Poser/DAZ Studio and all compatible applications. Of course other
animation/modeling packages that use OBJ files might be affected.

The solution that I present here simply patches the excellent python scripts written by Campbell Barton and Jiri Hnidek.
The new code implements the preservation of groups by creating Blender vertex groups during import and by re-writing
those groups in the OBJ file during export. Of course group ownership is idetermined at the face/polygon level and not
at the vertex level.

This rather simple solution makes Blender instantly one of the better tools to create Poser Morph targets (Full Body
Morphs) and conforming figures and clothing.  Of course it's also adding a more complete support for the whole OBJ spec.

The patches are fitting well inside the established logic, have a minimal impact and are totally transparent to the
user. See the attached video (about 7 minutes long) for more details.

I noticed that the original scripts are formatted with tabs. I think it would be a good idea to follow the standard
Python recommendation and convert the scripts to use spaces. I didn't want to do it on my side as it would generate
a patch that replaces the whole file, not something that I wanted to do with my first submission :) But it would help
if people with access to SVN could do it.

Here is a short video that demonstrates the updates:
http://www.paolociccone.com/blender_obj_scripts.html

Cheers!
----
2009-05-13 00:20:14 +00:00
Thomas Dinges
03b6b14df4 2.5 Buttons:
* Added basic Halo material options
2009-05-12 19:28:49 +00:00
Thomas Dinges
f487a96302 2.5:
* Added empty buttons
* Added missing empty notifiers
2009-05-11 17:34:31 +00:00
Campbell Barton
7002faac31 Another Noise Tool svn commit is complaining about mixed line endings so after 16 attempts I wont include the full message 2009-05-11 12:38:24 +00:00
Campbell Barton
9f012ead0c made the material button use the active objects material 2009-05-11 08:40:50 +00:00
Joshua Leung
f1e89051c7 2.5 - Restored 'Render Anim' button!
After quite a bit of searching, I finally found where the various UI functions were wrapped for use in Py Layouts. 

For the reference of others, check out editors/interface/interface_api.c
2009-05-11 06:55:11 +00:00
Campbell Barton
0a17250dca going out on a limb and removing this without asking anyone.
nobody seriously uses this format for graphics these days, and if they did, the export from blender is unlikely be to be useful, its just different views of the mesh edges projected into a 2D xfig file (quantized to int's too).
2009-05-11 05:47:14 +00:00
Campbell Barton
a220ae2f60 2D Cutout Image Importer
from Kevin Morgan (forTe)

imports images as quads in the 3D view

made some changes
- images that fail to import give an error popup rather then a script error
- extension input is only shown for batch directory importing
- extension comparison is now case insensitive
- importing images from "/" failed, (bug in Blender.sys.dirname), use os.path.dirname since os is needed for batch import in other places.
- disable Esc for quitting because escaping from the file selector would quit the script too.
2009-05-11 05:35:32 +00:00
Campbell Barton
dcee43b449 bolt wizard from Aaron Keith (Spudmn), edits from Brendon and myself.
Minor changes are...
- default size is smaller then it was but still too big IMHO, presets are huge.
- deselect all objects and make the new bolt active
- place the new bolt at the 3D cursor location
2009-05-11 05:10:09 +00:00
Campbell Barton
1a8bbba7bd new script to copy the active object to all other selected objects transformation.
When turning many assets into DupliGroups there was no way to do this other then manually copying the loc/size/rot for each object manually.
2009-05-11 00:56:48 +00:00
Campbell Barton
da3bdefb7a update script templates for new BGE api attributes 2009-05-11 00:19:55 +00:00
Thomas Dinges
c32a3bd73b 2.5 Buttons:
*Added initial material buttons (Material Color, Ray Transparency, Ray Mirror, Subsurface Scattering)
Only works for default material atm. 

*some layout tweaks to the lamp panels.
2009-05-10 12:12:05 +00:00
Thomas Dinges
acb4d58120 2.5 Buttons:
* Added more lamp buttons and cleaned up the layout
2009-05-09 10:33:06 +00:00
Thomas Dinges
5fa80e74a1 2.5 Buttons:
* More Lamp options: Shadow and Spot (WIP, incomplete)
* Added initial lattice panel
2009-05-08 21:52:57 +00:00
Thomas Dinges
bf2daa56c1 2.5 Buttons:
* Split the buttons_data.py into separate files, this makes it easier to maintain them. 
Notes: Added an extra modifier file, because modifiers are for different object types.

* Added basic lamp buttons and Sun/Sky settings.
As the camera buttons they only work for the default light object for now.

* Some minor code cleanup
2009-05-08 18:17:57 +00:00
Campbell Barton
cdba1ddd5d BGE Python owned proxies had a problem being decref'd twice, this would crash on freeing KX_Vertex/Poly Proxy types when python was compiled with debug options enabled.
add_mesh_torus.py wasnt tested from update, will go through all edited scripts and test :\
2009-05-07 22:06:27 +00:00
Campbell Barton
3d60c4e746 [#18702] FBX exported hemi light crashes maya
- bugfix, off by 1 when clamping lamp types, caused blender to write an invalid lamp type
- error in last commit (renamed function)
2009-05-06 21:47:24 +00:00
Campbell Barton
899c669557 [#18328] FBX exporter not exporting multi-texture materials properly
even though the format allows materials and textures to be written separately the textures wont load right in maya or 3dsmax unless each texture has its own material.
2009-05-06 06:01:09 +00:00
Campbell Barton
de4f811b4b - Export hard edge and face info
- Use Edges field rather then 2 vert faces (worked in some apps but crashed maya)
2009-05-06 04:24:01 +00:00
Remigiusz Fiedler
7a0841cbb6 dxfLibrary.py - modif in POLYLINE class 2009-05-06 02:19:16 +00:00
Campbell Barton
4bc6749403 [#18695] Replace python errors with useful messages when no full python installation is found
from Philipp Oeser (lichtwerk)
2009-05-05 21:51:54 +00:00
Campbell Barton
2bce9ff1d1 DXF export with a single nurbs curve failed 2009-05-05 21:47:58 +00:00
Thomas Dinges
33322ad1ff 2.5 Buttons:
* Some minor code cleanup
* More tweaks to match the Layout Guidelines "Dependencies ".
2009-05-05 04:07:08 +00:00
Matt Ebb
08df158672 * More icon updates, thanks to Jendryzch. That's all the modifiers now, I think! 2009-05-05 02:24:58 +00:00
Campbell Barton
e29e329885 [#18650] fbx export assigning textures to wrong materials...
also fixed an error that made this script fail when python wasnt found.
2009-05-04 21:49:25 +00:00
Thomas Dinges
b753d6fd2d 2.5 Buttons:
* Tweaked the scene buttons to be more consistent with the Layout Guidelines. http://wiki.blender.org/index.php/BlenderDev/Blender2.5/UIlayoutGuide

* Modifier panel is now also visible on non mesh objects, like curves, text etc.
2009-05-04 18:45:58 +00:00
Ken Hughes
40fa6b0f37 Fix some spelling errors. 2009-05-04 16:03:54 +00:00
Thomas Dinges
eaf717c500 2.5 Data Buttons:
* Added camera buttons.
* Added poll to check on active object type.

ToDo:
* Lens Unit "lens" and "angle" don't update each other. Needs RNA fix. 
* Buttons only work for default camera now, needs better context.
2009-05-04 15:53:55 +00:00
Campbell Barton
3226b33e48 python geometry function Geometry.BezierInterp(vec_knot_1, vec_handle_1, vec_handle_2, vec_knot_2, resolution)
can use 2D-4D vectors

Also made 3ds import give a message when no python installed
2009-05-04 13:01:18 +00:00
Matt Ebb
387df32933 * Icon updates and fixes
* Made the buttons space listen to and update for new active objects
* Cleaned up the Add Object menu
2009-05-04 07:04:48 +00:00
Campbell Barton
22b501c791 fixes for bugs submitted by BGE users, fixes by myself and Mitchell Stokes
- when the attribute check function failed it didnt set an error raising a SystemError instead
- Rasterizer.getMaterialMode would never return KX_BLENDER_MULTITEX_MATERIAL
- PropertySensor value attribute checking function was always returning a fail.
- Vertex Self Shadow python script didnt update for meshes with modifiers.
2009-05-03 09:21:58 +00:00
Joshua Leung
792449f8f0 2.5 - Restored access to the Image-Type setting
This has been wrapped under Scene.RenderData, and can currently be accessed under the 'Image' panel in the Scene settings. 

As in the old code, image types are only included if they are enabled when compiling. Also note that image-type specific settings have not been wrapped yet.
2009-05-01 11:57:14 +00:00
Campbell Barton
3bc02088e8 remove uneeded checks and testMethod from KX_ConstraintWrapper, typo in import_obj 2009-04-29 10:24:12 +00:00
Matt Ebb
a010139085 * Updated icons from Jendryzch. Thanks! 2009-04-29 02:47:28 +00:00
Brecht Van Lommel
58cdd37f52 UI:
* Made separator item work horizontal & vertical.
* Add colon (:) automatic for int/float/enum/string.
* Added space variables to uiStyle and use them in the
  layout engine.

* Added initial World buttons by Thomas Dinges, thanks!
* Added some code for modifiers in the Object Data context.
  This will become a template though.
* Use a common poll() callback in the scripts to reduce code.
2009-04-27 18:05:58 +00:00
Campbell Barton
dd21e9b626 patch from michael williamson, export multiple UV layers to lightwave
[#18575] remove unused local variables
2009-04-25 17:52:04 +00:00
Campbell Barton
113b438dce [#18611] console.py linewrap
from Jim Hi8ll (jthill)
2009-04-25 17:41:17 +00:00
Michael Fox
119d0e9145 Small comit, added the colour mode (BW,RGB,RGBA) and object type to rna, and added appropriate entries to the UI 2009-04-24 01:17:54 +00:00
Remigiusz Fiedler
b4abca0daa patch for paths_svg2obj.py by author J.M.Soler:
http://jmsoler.free.fr/didacticiel/blender/tutor/cpl_import_svg_en.htm
This patch adds support for Patterns.
2009-04-23 23:44:43 +00:00
Campbell Barton
0d347e12ea [#11172] md2 export bug(s)
export with object transformations applied.
2009-04-23 11:59:13 +00:00
Brecht Van Lommel
af02a0aa4e UI
* Headers and menus can now be created in python.
* Replaced the uiMenuItem functions to create menus with equivalent
  uiItem functions using a layout, removing duplicated code.
* More uiItem functions are now exposed to python.
* The text editor header, panels and one of its menus are now created
  in space_text.py.
* Buttons window data context icon new changes depending on active
  object.

Issues
* Icons are not wrapped yet, hardcoded ints at the moment.
* The ID browse template is unfinished.
2009-04-22 18:39:44 +00:00
Campbell Barton
95038048a2 [#18577] LightWave (.lwo) Exporter Object Names are Incorrect
patch from Philip Alldredge (cilcoder), slightly modified
2009-04-22 09:08:57 +00:00
Brecht Van Lommel
60867ff106 2.5:
* Changed the buttons window contexts to be like the mockups:
  scene, world, object, data, material, texture, particles, physics
* Removed temporary C layout code for buttons and scene.
2009-04-21 15:30:54 +00:00
Daniel Genrich
cf9886b0d0 2nd try to merge sim_physics with trunk rev 19825
Please check if volumetrics are yet working
2009-04-21 08:49:06 +00:00
Brecht Van Lommel
ea51d03be8 UI: more scene buttons tweaks by Thomas Dinges. 2009-04-20 16:53:50 +00:00
Martin Poirier
141a229a79 Merge ICON_SNAP_PEEL_OBJECT and corresponding icon in blenderbuttons (need new icon though) 2009-04-20 16:31:46 +00:00
Brecht Van Lommel
874c29cea8 2.50: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r19323:HEAD
Notes:
* blenderbuttons and ICON_SNAP_PEEL_OBJECT were not merged.
2009-04-20 15:06:46 +00:00
Brecht Van Lommel
7555bfa793 UI: fix for back buffer option in scene buttons, by Thomas Dinges. 2009-04-20 13:16:17 +00:00
Michael Fox
6482206078 Added some missing rna entries for scene, and added them to the scene buttons with some missing elements aswell 2009-04-20 04:58:22 +00:00
Daniel Genrich
8a0a557294 Hopefully a working merge with trunk (could be one error left in raytrace.c - will check afterwards)
Merging 18706 - 19804
2009-04-20 00:19:16 +00:00