diff --git a/MCprep_addon/conf.py b/MCprep_addon/conf.py index ebe7d4e9..135cb6af 100644 --- a/MCprep_addon/conf.py +++ b/MCprep_addon/conf.py @@ -36,7 +36,7 @@ def init(): # Used to print out extra information, set false with distribution # ----------------------------------------------- global dev - dev = True + dev = False global v v = True # $VERBOSE, UI setting diff --git a/MCprep_addon/mcprep_ui.py b/MCprep_addon/mcprep_ui.py index 6929fd4a..819a74e9 100755 --- a/MCprep_addon/mcprep_ui.py +++ b/MCprep_addon/mcprep_ui.py @@ -57,8 +57,7 @@ class showMCprefs(bpy.types.Operator): tab = bpy.props.EnumProperty( items = [('settings', 'Open settings', 'Open MCprep preferences settings'), ('tutorials', 'Open tutorials', 'View tutorials'), - ('tracker', 'Open tracker settings', 'Open user tracking settings'), - ('updates', 'Open updater settings', 'Open addon updater settings')], + ('tracker_updater', 'Open tracker/updater settings', 'Open user tracking & addon updating settings')], name = "Exporter") def execute(self,context): @@ -249,8 +248,7 @@ def change_verbose(self, context): preferences_tab = bpy.props.EnumProperty( items = [('settings', 'Settings', 'Change MCprep settings'), ('tutorials', 'Tutorials', 'View MCprep tutorials & other help'), - ('tracking', 'Tracking', 'Change anonymous tracking settings'), - ('updates', 'Updater', 'Check for update and adjust auto-check settings')], + ('tracker_updater', 'Tracking/Updater', 'Change tracking and updating settings')], name = "Exporter") verbose = bpy.props.BoolProperty( name = "Verbose", @@ -274,7 +272,7 @@ def change_verbose(self, context): updater_intrval_days = bpy.props.IntProperty( name='Days', description = "Number of days between checking for updates", - default=14, + default=7, min=0, ) updater_intrval_hours = bpy.props.IntProperty( @@ -381,18 +379,33 @@ def draw(self, context): "https://youtu.be/C3YoZx-seFE?list=PL8X_CzUEVBfaajwyguIj_utPXO4tEOr7a" row = layout.row() - elif self.preferences_tab == "tracking": + elif self.preferences_tab == "tracker_updater": layout = self.layout - split = layout.split(percentage=0.5) - col = split.column() row = layout.row() + box = row.box() + brow = box.row() + brow.label("Anonymous user tracking settings") + + + brow = box.row() + bcol = brow.column() + bcol.scale_y = 2 if tracking.Tracker.tracking_enabled == False: - row.operator("mcprep.toggle_enable_tracking", - "Opt into anonymous usage tracking") + bcol.operator("mcprep.toggle_enable_tracking", + "Opt into anonymous usage tracking", + icon = "HAND") else: - row.operator("mcprep.toggle_enable_tracking", - "Opt OUT of anonymous usage tracking") + bcol.operator("mcprep.toggle_enable_tracking", + "Opt OUT of anonymous usage tracking", + icon = "CANCEL") + + bcol = brow.column() + bcol.label("For info on anonymous usage tracking:") + bcol.operator("wm.url_open", + text="Open the Privacy Policy").url = \ + "http://theduckcow.com/privacy-policy" + # row.operator(//url,"Read the privacy policy/terms") # UI list this info? @@ -419,9 +432,9 @@ def draw(self, context): # additional tracking info - elif self.preferences_tab == "updates": # updater draw function addon_updater_ops.update_settings_ui(self,context) + layout.label("Don't forget to save user preferences!") @@ -458,10 +471,12 @@ def draw(self, context): text="Prep Materials", icon='MATERIAL') col.operator("mcprep.combine_materials", - text="Combine Materials").selection_only=True + text="Combine Materials", + icon="GHOST").selection_only=True if (bpy.app.version[0] ==2 and bpy.app.version[1] > 77) or (bpy.app.version[0]>2): col.operator("mcprep.combine_images", - text="Combine Images") + text="Combine Images", + icon="GHOST") if context.space_data.show_textured_solid == True and \ context.user_preferences.system.use_mipmaps == False: diff --git a/README.md b/README.md index 23712505..3ce71051 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,15 @@ TO INSTALL MCprep ====== -*[Go to the releases page and download the addon](https://github.com/TheDuckCow/MCprep/releases),* and [watch this video on how to install.](https://drive.google.com/open?id=0B-TBqajNaIexZ2dscF9KT1p1bWs) +### [Click here](http://theduckcow.com/dev/blender/mcprep-download/) and download the .zip file (re-zip if necessary), install into blender. +*By downloading and installing, you agree to the following [privacy policy](http://theduckcow.com/privacy-policy).* -It should remain a zip folder. In blender, go to preferences, then the addons tab, and at the bottom of the window install from file. Select the .zip file. **NOTE:** _Blender may not automatically enable the addon. If the MCprep addon is not already shown in the window after installing, search for it at left and then ensure the checkbox is enabled._ **Save user preferences** to keep it enabled next time blender opens. +[Watch this video](https://www.youtube.com/watch?v=i6Ne07-eIyI) on how to install if running into troubles. -Again, please download on the release page, **not** by clicking download zip at right. -![Install MCprep](/visuals/whereToDownload.jpg?raw=true) + +It should remain a zip folder. In blender, go to preferences, then the addons tab, and at the bottom of the window install from file. Select the .zip file. **NOTE:** _Blender may not automatically enable the addon. If the MCprep addon is not already shown in the window after installing, search for it at left and then ensure the check box is enabled._ **Save user preferences** to keep it enabled next time blender opens. + +*Again, please download from the link above or the releases page, **not** by clicking `download zip` button.* *The preferences panel should look like this after installing the zip file* ![Install MCprep](/visuals/install.png?raw=true) @@ -37,37 +40,53 @@ While this addon is released as open source software, the assets are being relea Block models developed by [Patrick W. Crawford](https://twitter.com/TheDuckCow), [SilverC16](http://youtube.com/user/silverC16), and [Nils Söderman (rymdnisse)](http://youtube.com/rymdnisse). -Rig models credits below, provided with explicit permission: -- PLAYER-LIKE RIGS - - Fancy Feet Steve: [Patrick W. Crawford](http://www.youtube.com/TheDuckCow) ([Rig link](http://bit.ly/MinecraftRig)) - - Fancy Feet Alex: Modified by [Jeremy Putnam](http://www.blendswap.com/user/lorddon) (MCprep exclusive) - - Villager: [Patrick W. Crawford](http://www.youtube.com/TheDuckCow) ([Rig link](http://www.blendswap.com/blends/view/73063)) - - VMcomix Steve (rounded): [VMcomix](https://www.youtube.com/user/VMComix) ([Rig link](http://vmcomix.blogspot.com/)) -- PASSIVE RIGS - - Bat: [Patrick W. Crawford](http://www.youtube.com/TheDuckCow) (MCprep exclusive) - - Chicken: [Nils Söderman (rymdnisse)](http://youtube.com/rymdnisse) ([Rig link](http://rymdnisse.net/downloads/minecraft-blender-rig.html)) - - Cow: [Nils Söderman (rymdnisse)](http://youtube.com/rymdnisse) ([Rig link](http://rymdnisse.net/downloads/minecraft-blender-rig.html)) - - Squid: [Nils Söderman (rymdnisse)](http://youtube.com/rymdnisse) ([Rig link](http://rymdnisse.net/downloads/minecraft-blender-rig.html)) - - Pig: [Trainguy9512](https://www.youtube.com/channel/UCktn-etC2h25hMTk1tIz7IQ) (No direct link yet) - - Rabbit: [HissingCreeper](https://www.youtube.com/channel/UCHV3_5kFI93fFOl6KbmhkQA) (No direct link yet) - - Sheep: [HissingCreeper](https://www.youtube.com/channel/UCHV3_5kFI93fFOl6KbmhkQA) (No direct link yet) -- HOSTILE RIGS - - Creeper: [Patrick W. Crawford](http://www.youtube.com/TheDuckCow) (MCprep exclusive) - - Enderman: [Trainguy9512](https://www.youtube.com/channel/UCktn-etC2h25hMTk1tIz7IQ) ([Rig link](http://www.blendswap.com/blends/view/79750)) - - Endermite: [Nils Söderman (rymdnisse)](http://youtube.com/rymdnisse) ([Rig link](http://rymdnisse.net/downloads/minecraft-blender-rig.html)) - - Guardian rig: [Trainguy9512](https://www.youtube.com/channel/UCktn-etC2h25hMTk1tIz7IQ) ([Rig link](http://www.blendswap.com/blends/view/79729)) - - Silverfish: [Nils Söderman (rymdnisse)](http://youtube.com/rymdnisse) ([Rig link](http://rymdnisse.net/downloads/minecraft-blender-rig.html)) - - Skeleton Rig: [Trainguy9512](https://www.youtube.com/channel/UCktn-etC2h25hMTk1tIz7IQ) ([Rig link](http://www.blendswap.com/blends/view/79495)) - - Slime: [Patrick W. Crawford](http://www.youtube.com/TheDuckCow) (MCprep exclusive) - - Spider: [Nils Söderman (rymdnisse)](http://youtube.com/rymdnisse) ([Rig link](http://rymdnisse.net/downloads/minecraft-blender-rig.html)) - - Zombie: [HissingCreeper](https://www.youtube.com/channel/UCHV3_5kFI93fFOl6KbmhkQA) (No direct link yet) -- FRIENDLY RIGS (e.g. tamable or utility) - - Horse: [Patrick W. Crawford](http://www.youtube.com/TheDuckCow) ([Rig link](http://www.blendswap.com/blends/view/73064)) - - Wolf: [Trainguy9512](https://www.youtube.com/channel/UCktn-etC2h25hMTk1tIz7IQ) ([Rig link](http://www.blendswap.com/blends/view/79628)) - - Iron Golem: [Trainguy9512](https://www.youtube.com/channel/UCktn-etC2h25hMTk1tIz7IQ) ([Rig link](http://www.blendswap.com/blends/view/79455)) - - Snow Golem: [Nils Söderman (rymdnisse)](http://youtube.com/rymdnisse) ([Rig link](http://rymdnisse.net/downloads/minecraft-blender-rig.html)) -- CUSTOM RIGS: - - None yet! But in the future, may include non-standard rigs. + +| Player Rigs | Creator | +|----------|:-------------:| +| Fancy Feet Generic Player (ideal for skinswapping) | [Patrick W. Crawford](http://www.youtube.com/TheDuckCow) ([Rig link](http://bit.ly/MinecraftRig)) | +| Fancy Feet Steve | [Patrick W. Crawford](http://www.youtube.com/TheDuckCow) ([Rig link](http://bit.ly/MinecraftRig)) | +| Fancy Feet Alex | Modified by [Jeremy Putnam](http://www.blendswap.com/user/lorddon) (MCprep exclusive) | +| Vilalger | [Patrick W. Crawford](http://www.youtube.com/TheDuckCow) ([Rig link](http://www.blendswap.com/blends/view/73063)) | +| VMcomix Steve (rounded) | [VMcomix](https://www.youtube.com/user/VMComix) ([Rig link](http://vmcomix.blogspot.com/)) | +| Story Mode Rig | [Trainguy9512](https://www.youtube.com/channel/UCktn-etC2h25hMTk1tIz7IQ) (No direct link yet) | + + +| Passive Rigs | Creator | +|----------|:-------------:| +| Bat | [Patrick W. Crawford](http://www.youtube.com/TheDuckCow) (MCprep exclusive) | +| Chicken | [Trainguy9512](https://www.youtube.com/channel/UCktn-etC2h25hMTk1tIz7IQ) (No direct link yet) | +| Cow | [Nils Söderman (rymdnisse)](http://youtube.com/rymdnisse) ([Rig link](http://rymdnisse.net/downloads/minecraft-blender-rig.html)) | +| Pig | [Trainguy9512](https://www.youtube.com/channel/UCktn-etC2h25hMTk1tIz7IQ) (No direct link yet) | +| Rabbit | [HissingCreeper](https://www.youtube.com/channel/UCHV3_5kFI93fFOl6KbmhkQA) (No direct link yet) | +| Sheep | [HissingCreeper](https://www.youtube.com/channel/UCHV3_5kFI93fFOl6KbmhkQA) (No direct link yet) | +| Squid | [Nils Söderman (rymdnisse)](http://youtube.com/rymdnisse) ([Rig link](http://rymdnisse.net/downloads/minecraft-blender-rig.html)) | + + +| Hostile Rigs | Creator | +|----------|:-------------:| +| Blaze | [Trainguy9512](https://www.youtube.com/channel/UCktn-etC2h25hMTk1tIz7IQ) (No direct link yet) | +| Creeper | [Patrick W. Crawford](http://www.youtube.com/TheDuckCow) (MCprep exclusive) | +| Enderman | [Trainguy9512](https://www.youtube.com/channel/UCktn-etC2h25hMTk1tIz7IQ) ([Rig link](http://www.blendswap.com/blends/view/79750)) | +| Endermite | [Nils Söderman (rymdnisse)](http://youtube.com/rymdnisse) ([Rig link](http://rymdnisse.net/downloads/minecraft-blender-rig.html)) | +| Ghast | [Trainguy9512](https://www.youtube.com/channel/UCktn-etC2h25hMTk1tIz7IQ) (No direct link yet) | +| Guardian | [Trainguy9512](https://www.youtube.com/channel/UCktn-etC2h25hMTk1tIz7IQ) ([Rig link](http://www.blendswap.com/blends/view/79729)) | +| Shulker | [Trainguy9512](https://www.youtube.com/channel/UCktn-etC2h25hMTk1tIz7IQ) ([Rig link](http://www.blendswap.com/blends/view/79729)) | +| Silverfish | [Nils Söderman (rymdnisse)](http://youtube.com/rymdnisse) ([Rig link](http://rymdnisse.net/downloads/minecraft-blender-rig.html)) | +| Skeleton | [Trainguy9512](https://www.youtube.com/channel/UCktn-etC2h25hMTk1tIz7IQ) ([Rig link, outdated](http://www.blendswap.com/blends/view/79495)) | +| Slime | [Patrick W. Crawford](http://www.youtube.com/TheDuckCow) (MCprep exclusive) | +| Spider | [Nils Söderman (rymdnisse)](http://youtube.com/rymdnisse) ([Rig link](http://rymdnisse.net/downloads/minecraft-blender-rig.html)) | +| Zombie | [HissingCreeper](https://www.youtube.com/channel/UCHV3_5kFI93fFOl6KbmhkQA) (No direct link yet) | + + +| Friedly/Utility Rigs | Creator | +|----------|:-------------:| +| Horse | [Patrick W. Crawford](http://www.youtube.com/TheDuckCow) ([Rig link](http://www.blendswap.com/blends/view/73064)) | +| Iron Golem | [Trainguy9512](https://www.youtube.com/channel/UCktn-etC2h25hMTk1tIz7IQ) ([Rig link](http://www.blendswap.com/blends/view/79455)) | +| Ocelot | [HissingCreeper](https://www.youtube.com/channel/UCHV3_5kFI93fFOl6KbmhkQA) (No direct link yet) | +| Snow Golem | [Nils Söderman (rymdnisse)](http://youtube.com/rymdnisse) ([Rig link](http://rymdnisse.net/downloads/minecraft-blender-rig.html)) | +| Wolf | [Trainguy9512](https://www.youtube.com/channel/UCktn-etC2h25hMTk1tIz7IQ) ([Rig link, outdated](http://www.blendswap.com/blends/view/79628)) | + + If you use any of these rigs in your animation, give credit to the according creator or by directly referring back to this readme file which contains all the credits. *Models have been slightly modified to function best and consistently with the MCprep addon.* @@ -79,11 +98,40 @@ Thank you to all the contributors to this project! It will continue to grow and About MCprep ====== -This is a blender python addon to increase workflow for creating Minecraft renders and animations, by automatically setting up better materials, importing library models and groups, and setting up proxy characters for animation and default animations for regular features like grass and leaves on imported 3D minecraft worlds. This addon assumes you have already imported the minecraft world. While the script should work for any world importer, it has been tested and developed based on the jmc2obj minecraft world to obj file converted. The addon now also comes with built-in rigs, including characters and mobs, and allows you to quickly place them into your worlds. +This is a blender python addon to increase workflow for creating Minecraft renders and animations, by automatically setting up better materials, importing library models and groups, and setting up proxy characters for animation and default animations for regular features like grass and leaves on imported 3D Minecraft worlds. This addon assumes you have already imported the Minecraft world. While the script should work for any world importer, it has been tested and developed based on the jmc2obj Minecraft world to obj file converted. The addon now also comes with built-in rigs, including characters and mobs, and allows you to quickly place them into your worlds. This addon is made to work with an asset library directory, from which models and groups are linked or imported from. This library blend file is included, but does not have all types of blocks generated yet. This will be improved in the future. -This script is now compatible for both pre-2.71 (tested down to 2.69) and for 2.72+ official builds, up to blender 2.75. +This addon is compatible officially down to 2.72 official builds, up to blender 2.78+. Not all features are available in all versions, try to use the latest available blender. *Run into any problems? [Submit bugs/issues here](https://github.com/TheDuckCow/MCprep/issues).* + + +Feature list +====== + +| World Imports | Description | +|----------|:-------------:| +| Prep Materials | Improves materials from world imports, and allows one-click switching from cycles & blender internal materials. *Note, this does not* create *materials, only modifies existing ones.* | +| Combine materials/images | Consolidates duplicate materials and images down to the smallest number of unique datablocks. *Note: combine images is only available on blender 2.78+* | +| Improve UI | A shortcut to quickly improve viewport settings for Minecraft sets. Sets textured solid mode & turns off mipmaps | +| Mesh Swap | Allows you to replace simple models from 3D exported worlds with more intricate 3D models | + + + +| Skin Swapper | Description | +|----------|:-------------:| +| Apply [skin] | Applies the currently list-selected skin to the actively selected rigs. | +| Skin from file | Loads in a skin texture from file and applies to the actively selected rigs. *Note: Also gets added to skin list* | +| Skin from username | Downloads a skin based on a play name and applies to the actively selected rigs. *Note: Also gets added to skin list* | +| + sign | Install a custom skin into the list without applying to a rig | + +*Note: only 1.8 skin layouts are supported at this time, in the future an auto-conversion feature will likely be implemented* + + +| Spawner | Description | +|----------|:-------------:| +| Spawn: [rig] | Based on the actively selected rig, from an according spawning rig category, add the mob/character into the scene. These are fully rigged characters | +| + sign | Install a custom rig into the 'custom' category for personal use | + How to use this addon @@ -91,11 +139,11 @@ How to use this addon **Setup materials:** -- **Purpose:** To automatically setup better, crisp materials for rendering Minecraft, low resolution textures. It works for both Blender internal as well as cycles. It will even selectively turn 'shiny' materials into reflecting materials accordingly as well as 'bright' materials into emitting materials. Currently, the list of these materials is hardcoded in. +- **Purpose:** To automatically setup better, crisp materials for rendering Minecraft, low resolution textures. It works for both Blender internal as well as cycles. It will even selectively turn 'shiny' materials into reflecting materials accordingly as well as 'bright' materials into emitting materials. Currently, the list of these materials is hard-coded in. - **Step 1:** Export your world to an OBJ or other general 3D formats. I use jmc2obj, but Mineways or other such formats should be fine as well. - **Step 2:** Import the world into blender (e.g. via file > import > obj, or whatever according format) - **Step 3:** Select all, or select the objects that have the material you want to fix. Materials can be all separate objects or the same object, it does not matter. -- **Step 4:** Under the MCprep panl, press "Prep Materials". +- **Step 4:** Under the MCprep panel, press "Prep Materials". **Meshswap:** @@ -111,7 +159,7 @@ How to use this addon **Mob Spawner (new!)** - **Purpose:** -- **Step 0:** By default this is already done for you; make sure the mob spawner path is a directory with valid blend files setup for linkining (addon preferences > MCprep). When installed, this path will already be setup and valid pointing to the included rigs with this release, as defined in the credits section above. This rigs are place in the addon's local directory provided by blender and will not be placed anywhere else on the user's machine. +- **Step 0:** By default this is already done for you; make sure the mob spawner path is a directory with valid blend files setup for linking (addon preferences > MCprep). When installed, this path will already be setup and valid pointing to the included rigs with this release, as defined in the credits section above. This rigs are place in the addon's local directory provided by blender and will not be placed anywhere else on the user's machine. - **Step 1:** Either press the "mob spawner" button in the MCprep panel, or go to the shift-a menu: armature > mob spawner > [mob name] to instantly append or link in a rig. - **Step 2:** Check the redo last menu for additional settings, such as relocation of the rig, library linking, and even changing which rig to spawn. These are the following options: - mcmob_type: Change the mob spawned, e.g. from a creeper to a wolf @@ -119,9 +167,9 @@ How to use this addon - Cursor (default): Place the rig at the cursor's location - Origin: Move the rig to the origin - Offset root: Move the rig to the origin, but offset the root bone to the cursor's location (note: doesn't work with all rigs correctly right now, will be improved in the future) - - Library Link mob: If disbaled, the group is appended (the groups is not kept so it can be appended multiple tiems), if enabled, the rig will be linked in and armatures auto-proxied. + - Library Link mob: If disabled, the group is appended (the groups is not kept so it can be appended multiple times), if enabled, the rig will be linked in and armatures auto-proxied. - Be careful! If the blend file moves, the libraries will likely get broken unless a custom rigs folder is used with a local-relative path. - - Clear pose: clear to pose to rest. If false, the initial pose will be that found in the rig's source blend file. Note: some rigs have animations already setup, clear pose in the future will also automatically clear an action and remove the pre-aniamted figures. + - Clear pose: clear to pose to rest. If false, the initial pose will be that found in the rig's source blend file. Note: some rigs have animations already setup, clear pose in the future will also automatically clear an action and remove the pre-animated figures. *Mob Spawner Options* ![Meshswap options](/visuals/spawnOptions.png?raw=true) @@ -133,9 +181,9 @@ To add your own objects to meshswap (or groupswap): * So the MATERIAL name found in the 3D imported world should match the OBJECT name of the model in the meshswap file to work * Note if both a group and an object have matching names, the script will prefer the group and meswap that over the object. - **Step 4:** Add necessary properties to special blocks as needed. See the meshSwap file included for examples, but the properties to add are: - * "varaince": Objects with this property when meshswapped will have some x/y variance added. If the property is set to 1, it will also have (only negative) z variance. If it is set to 0, it will only have xy variance. For instance, tall_grass is given a value of 1 so some grass is shorter than others, but flowers are given a value of 0 so they always have the same height but still have some variance in placement. + * "variance": Objects with this property when meshswapped will have some x/y variance added. If the property is set to 1, it will also have (only negative) z variance. If it is set to 0, it will only have xy variance. For instance, tall_grass is given a value of 1 so some grass is shorter than others, but flowers are given a value of 0 so they always have the same height but still have some variance in placement. * "edgeFloat": objects like vines, ladders, and lillypads which float off the edge of other blocks. - * "tochlike": objects that can have rotations like a torch on a wall. Objects with this property will be determined to be either on top of a block or placed on the side of another block according to the mesh. + * "torchlike": objects that can have rotations like a torch on a wall. Objects with this property will be determined to be either on top of a block or placed on the side of another block according to the mesh. * **Note:** there is no UI for adding properties to a group, so if you want to add a property to a group (say a torch which has a pre-animated light and particle system, as the included blend file does) you must go into the python consol and add the property like so: bpy.data.groups['groupName']['propertyName'] = 1 (the value only matters for the variance property) * **Example:** bpy.data.groups['torch']['torchlike'] = 1 will add the torchlike property to the torch group, allowing it to have correct rotaitons when meshSwapped in. @@ -156,11 +204,11 @@ Known Bugs ====== - SOMETIMES UNDO (control/command z) MAY CRASH AFTER MESHSWAPPING, recommended to save before using to be safe but generally is fine. - Currently meshwapassumes that the block size is 1x1x1, note that by default Mineways has a block size 0.1x0.1x0.1, please set it to 1m or 100cm on export or use the upscale function. -- Motion blur glithces on wind-swaying elements, e.g. grass: This is a bug with blender, where solidify plus the displacement modifiers and split edges modifiers can create bad motion blur effects. The easy fix is to remove split edges and let the grass be shaded smoothly instead. +- Motion blur glitches on wind-swaying elements, e.g. grass: This is a bug with blender, where solidify plus the displacement modifiers and split edges modifiers can create bad motion blur effects. The easy fix is to remove split edges and let the grass be shaded smoothly instead. - **Both mineways and jmc2obj oddities:** - Redstone items like repeaters, dust, and so forth generally don't swap properly, and is a much more difficult problem to solve. - Rails: for jmc2obj, all rails should at least be placed in the correct position, but not necessarily rotated correctly. - - Some materials such as fire are pre-setup with animated image sequences (yay!), but blender cannot pack image sequences into a blend file. If aniamted textures go missing (e.g. after moving a blend file around), reconnect them back to the according folder/file, such as /textures/fire/fire_0001.png. Note this should not be a problem if the default meshwap path/file is used, provided the addon is not uninstalled. + - Some materials such as fire are pre-setup with animated image sequences (yay!), but blender cannot pack image sequences into a blend file. If animated textures go missing (e.g. after moving a blend file around), reconnect them back to the according folder/file, such as /textures/fire/fire_0001.png. Note this should not be a problem if the default meshwap path/file is used, provided the addon is not uninstalled. - **Mineways specific meshswap oddities:** - Mineways, unlike jmc2obj, replaces the face of a solid block with the object attached to it. For example, ladders and redstone dust when meshswapped will leave a hole in the block they were attached to. There is essentially nothing I can do about that. - In Mineways, many blocks simply cannot be meshswapped because of the way the exporter will group multiple objects (for example, all the flowers and double tall grass) into one material. For the time being, there is nothing I can do to resolve this. @@ -170,7 +218,7 @@ Known Bugs Future Plans ====== - Create a "solidify pixels" operator, where single-faced planes are converted into properly subdivided and extruded 3D planes according to the active texture, removing transparent areas accordingly. Should be able to apply to arbitrary objects -- Continue adding mroe blocks for meshswapping +- Continue adding more blocks for meshswapping - Add the ability to shift-A add objects in the library like other objects, not just via meshswapping - Create a "match external material" operator, where all materials in the set of selected objects are checked against an external library, and if any have matching names, the external material will overwrite the local one. This would allow one to quickly cycles between different styles, e.g. texture packs.