비상업용 Plugin이나 Script, Demo 파일을 다운받으실 수 있습니다. JOYCG에서 배포하는 비상업적 자료도 다운받으실 수 있습니다.

Building Generator 0.7
7512 Views,   0 Replies,   Lastest reply : 2009. 11. 25 19:33:13  
 
SKY  2009/11/25 19:33:13

 


Building Generator 0.7
Via. tysonibele


Download the script here: Building Generator v.7

If you have feedback or suggestions for the script, don't hesitate to email me.

Also, if you've found a bug, please email me a clear description of the error, as well as the settings you were using when the error occurred

Custom object support! Yep....that's right. You can now add custom objects to your wall/door facades! Each custom object you add can be easily modified and placed on your facades, by tweaking the settings in the custom object rollouts that appear in the wall/door layer managers. You can add as many custom objects to a facade design as you like, and each custom object has orientation/position/scale offset controls, as well as material and distribution controls. Also, you can specify whether or not a custom object will adopt a Building Generator material, or retain its original material. If you choose to retain the original material, you can easily model and texture the objects on your own and then add them to the facade of your choice without problem. Also, if a custom object is set to retain its original material, Building Generator will sample that material once it generates the building and add it to the BG mutli-sub material where all the other building materials are stored (the custom object's mat ID will be changed to match up with the placement of its original material in the list). This way, you can easily keep each BG material organized because ALL materials (even those for custom objects scattered on a building) are stored together.

Here's an example image, showing a simple "Christmas light" object I added as a custom object to a wall facade, and the BG preview window showing what it looks like on the facade, when it's set to be distributed twice on each facade, and scaled to fit horizontally:

 

 

I should note as well, that custom geometry will be listed as "found" by BG even if you change its name, or its topology. So you don't have to worry about BG not being able to find your geometry if you modify it in any way (unless of course, if you delete it).

Now....custom objects are great and all....but what happens when you save a BG preset that had custom objects applied, and want to load it on another computer or in a different scene file? Well.............

Preset files are now able to store custom geometry. I wrote a simple geometry storage system that will save/load custom geometry to and from preset files. UVs, smoothing groups, Mat IDs and other data is also saved with the custom geometry, meaning that the only thing required for custom geometry once you import them into the scene (they're loaded automatically once you import a preset into the preset manager) is to apply materials to them (materials are not stored with the custom geometry).

Also, custom geometry that is imported from a preset is put in a special layer within max's layer system....for easy hiding/selecting/etc.

Preset files have been re-coded, this time as binary files for faster input/output and slightly smaller file sizes. Now, you might be thinking "well shit, you said last time that preset files would remain backwards compatible from version .6 and onward....but now you've gone and changed them again!" Well, never fear because BG .7 will automatically re-code .6 preset files into binary files during the import process. And, in case anything goes wrong during that re-coding process, BG will save the original .6 version as a ".old" file in the same directory....so you can always re-access it in case you need the older non-binary version again.

Also, material settings (MatID assignments, and UV settings for buildings) save with preset files now. The only thing that doesn't save with preset files are texture assignments, because of the problems that could arise if textures are missing. This might be something I'll work on in a future version.

A brand new randomization system has been added to Building Generator....allowing for super-quick generation of randomized floor layers, wall layers, door layers and roof layers. This fairly-robust randomization system has lots of tweakable settings, allowing you to customize exactly which types of details and object types the randomizer can choose from while creating layers. A min/max settings for random building height is also available...as well as options to only randomize certain aspects of the building. So...for example, instead of randomization ALL of the building settings, you can choose only to randomize settings in the floor layer manager....or settings in the wall layer manager, etc. This is handy in case you have a particular style of building you want to generate, and just want to randomize the height or roof.

Here is an example of a set of buildings made in conjunction with the randomization system. Note that no user input was required for any of these settings. I literally just hit the randomize button in the randomize rollout (accessed by clicking the "Randomize" tab on the right of the BG UI), and then hit generate:

The new randomization system has been implemented in the path/surface generators. By turning on the randomization options in the path/surface generators, you can have random buildings generated over your surfaces/paths. Options to isolate the type of randomization are available in here as well.....in case you don't want all of the settings to be random. So, for example....if you have a bunch of building presets that you've loaded into the preset manager, and want to scatter them over a surface with randomized floor/height values while maintaining their window/door/roof settings, you can simply exclude window/door/roof settings from the list of things to randomize in the path/surface generation rollouts.

Here's an example of some buildings generated on a plane with the randomization system in combination with the surface generation system. In this examples, the "quick build" value of the surface generator was set to 5 (meaning that 5 unique buildings were created, then copied randomly throughout the remaining faces) so you can see some repeating buildings, but we're still getting some really nice designs overall. Generation time was about 5 minutes in max 9 (as you can see, there's a lot of hefty details).

 

 


A new tools drop-down menu has been added to the top of the UI. Options available in the drop-down menu include a button to reset BG settings to their defaults, as well as a "quick generate" feature, with a list of floor-types to generate on the fly (example: randomized 4 story building, randomized 6 story building, etc). These are helpful if you need a building fast without fuss....just goto tool-->quick generate, and choose the building type you need and BG will automatically pump out that building for you right away.

Doors can now be created on non-ground-level floors. This is pretty self-explanatory.

The Building Generator UI floater can now be resized. I had several messages from people saying that the BG floater was simply too big for their screens. Now it can be resized vertically.

Object G-Buffer ID now corresponds to Object type #. Someone requested this feature to aid in rendering out passes or something, so I added it. You'll need combine meshes turned off for it to work though, of course. To find out exactly which # corresponds to which object type, the g-buffer ID is displayed for each selected object type in the Mat IDs rollout under the "Materials" tab.

We all know that BG isn't perfectly bug free (although, I'm working on that )....and it's frustrating having it crash on us during generation which results in the current settings being erased.....well, in v.7 I've added a simple bug-handling interface that should prevent BG from crashing maxscript during generation if a bug occurs. Now, if a bug occurs...BG will stay running and open, and instead a little pop-up will provide an error report (the report is also printed into the maxscript listener). Probably the most helpful part of this feature is, if a "crash" occurs during generation, BG won't stop responding or anything so you'll be able to save a preset file of the current settings which are causing the bug, along with the error report that gets printed out....then send them to me and I'll be able to fix the bugs more efficiently because I'll have the exact settings you were using when the bug occurred in that preset file. This error handling method has only been added to the "Generate!" process though, so if an error occurs elsewhere in the script (ie, anywhere outside the main generation algorithm(s)), BG will still crash right out of maxscript.

Building Interiors can now be created with light objects. Instead of having to fake lights with a texture, you can now generate simple geometry lights on the ceilings of interiors. To keep things varied, BG will choose from a variety of light styles when creating the lights, as seen in this image. ALSO, there are settings allowing you to tweak the intensity of the lights. The intensity corresponds to the RGB levels of an output map placed on the diffuse channel of the interior-light texture....what does this mean? It means that if you turn up the intensity, the light objects can generate enough GI (if you use either MR or Vray, with GI on)...to light up the interiors. This will give your buildings a lot nicer look than if you were to just use the vertex-color illumination method (the same one that was available in the previous release).

 

There is now a noticable improvement in the speed of creating very heavily detailed buildings, when "combine meshes" is turned on. In the previous versions of BG, the "combine meshes" process that occurs after buildings are generated (to attach all the parts together) could be very slow. In this version, I've optimized the attach algorithms to create a 10-20% speed increase. Generating with "combine meshes" turned on will still be slower than generating without (because maxscript attach functions are slow)....but now it won't be as slow.

All of the layer managers have been tweaked a bit. The "apply" and "auto apply" settings have been removed (I found them to be fairly redundant, as I never saw a use in turning them off...even though I anticipated a need to be able to turn them off when I first created them). Also, if you have NO layers in either the floor/wall/door layer managers, all of the detail settings will disappear (just try it and you'll see what I mean...goto any of the layer managers and delete all of the active layers). I think this might help make the layer managers a bit less confusing...because now it's obvious what the settings correspond to (whereas in the previous version it could be a bit confusing having all of the detail settings available yet no active layers to apply those settings to).

New settings have been added for wall types. This is just kind of a fun feature, that isn't all that practical (because it's better to achieve this with textures than geometry)...but you can now generate walls made of actual geometry bricks. The settings for this feature are available in the wall/door layer manager rollouts. NOTE: due to some weirdness with boolean operations on complex geometry, users might see some weird behavior happening to walls....like walls disappearing in some areas. I'll be working on a fix for this, so for now use this feature at your own risk

 

 

 

A user previously noted that building floors were created in some buildings that didn't need them, so in the floor layer manager you can now opt-out of capping the top/bottom of each floor by unchecking the "cap top" and "cap bottom" checkboxes.

Re-loading files in the preset manager now updates their settings. Previously, if you tried to import a .bgp file into the preset manager that was already imported, BG would just skip the file....but now it will ask you if you want to update the imported file instead.

Notable Bug Fixes:

-Fixed bug with randomize/normalize UV parameters not working properly
-Fixed crashing bug when door covers were set to "planar"
-Fixed bug where ledge joints would be created on the ground plane with a height of 0.
-Fixed surface generation bug where buildings would be the wrong scale and where the "affect height" option would give strange results
-Fixed a problem with coincident faces on building interior walls.



IP. 59.10.49.XXX
TAGS.
Forum Guide
도움이 된 댓글을 'Correct Answer'로 채택해 주세요.

게시물 작성전에 검색기능을 이용해 보세요.

가장 최근에 작성하거나 최신 댓글이 달린 순서대로 보여집니다.

불필요한 비공개 설정은 피해주세요.
회원간의 정보 공유를 지향합니다.

좋은 게시글에는 댓글로 감사한 마음을 표현해 보세요.
My Posts
Tags

spline   mentalray   Utils   rendermask   script   3dsmax   Plugins   Scripts   vray   modeling   plugin   camera   Program   mask   Etc  

Top Participants
정소미
ljmwww
kjgsgi
terran762000
idobj
COPYRIGHT ⓒ 2012 JOYCG SINCE 2006. ALL RIGHTS RESERVED.   facebook
Term of Use   |   Online Privacy Policy   |   JOYCG News   |   Contact Us
상호 : 조이씨지 | 사업자등록번호 : 214-09-17670 | 통신판매업 신고번호 : 제2009-서울서초-1428호 | 대표자 : 안재문, 권미진