Plugin Floor Generator

0 views
Skip to first unread message

Jupiter Fuerst

unread,
Aug 5, 2024, 1:38:58 AM8/5/24
to terbrodwollcho
Hithere! Last week I uploaded a FloorGenerator - geometry node that allows to create flooring/tiles on any shape flat surface and also use multitexture material.

It works similar to floor generator for 3ds max

Review video:


Does the multi-texture randomly assign the values on render time? I'm not sure how the whole thing works, but if it is assigned at render time then the different nodes will have different values as each machine is doing things differently.


Hmm, good question. I don't know either. Here's a screenshot of what it looks like. You can clearly see the areas that have been rendered by the nodes vice the workstation. In this screen capture parts of the wall and bookcase were rendered by the nodes. All fine.


I looked at different render elements...Diffuse filter and global illumination were all black on the node buckets. Raw Reflection looked fine, and it appears that's what's showing up in the final render. Two extra_tex passes were fine (dirt map and edge tex) and things like wire color and render id were also fine. This leads me to believe it's a problem with the Multi-Texture not assigning the bitmaps in a way the nodes can understand. The reflection was just a greyscale color and not a multi-texture map.


The tests were done in the same file, same geometry. The bitmaps were in the same directory, both accessible to the nodes. I created the first material and did a render, then copied the material to a new slot, changed the bitmaps and applied it to the floor.


I had this problem a few weeks back, even though i thought i had installed multi texture on the nodes. Turns out i had put it in the wrong folder, i know it sounds silly but double check which folder you installed it to. I think it has to be installed to the root max folder, not the plugins folder... I think.


I moved the plugin to the root folder and it immediately got worse. Returned the diffuse color only, so I put it back into the plugins folder and it seems, slightly better, maybe? Seems to randomly get better and worse with each new render and/or bitmap group.


Choose your floor generator pattern - go to it's parameters (in the modify section) - "Warnings" and change "Max boards" number, increase it to a higher number of boards and that should solve the problem.


I wish to add hereby that : After entering some "big value" for the Maximum Boards under the Warnings dropdown... You must change the value/values that you might have reduced or increased before. Most probably changing the value of the Len/Width under the Board size dropdown. Hope it works for you too Happy creativity guys!


Hi, please help. I'm having the same issue as I have tried to increase the Max Board number, and it is not working, also the floor pattern doesn't show as normal, it caused my PC crushed a couple of times.




WHAT IS FLOOR GENERATOR PLUGIN?

Floor Generator is an amazing plugin for build floor or wall with 3D tiles. With the possibility of own tile creation you can make all kind of floor or wall coverages: parquet, tiles and much more.

With its flexibility you can cover your floor with a single tile and avoid to use big textures. You can randomise texture applied with a speed of light by using more than one mat applied on it.

You can cut the external floor with a click and cover exactly what you need according to the "source" object.

You can also create two kind of raws by using the TILE A and TILE B slots for staggered boards and other kind of floors.

Download pack of 5 oak floors for Floor Generator




PLUGIN FEATURES

- Works with all Cinema 4D releases (No Mograph module needed)

- Automatic arrangement of the tile according to the its size

- Automatic placing on the selected source

- Material randomisations with a drag and drop

- Own tile linking from the scene

- Own tile recall stored on plugin directory

- Preset save and recall for particular wall or floor settings

- Copy and paste plugin settings

- Random Raw Offset for staggered boards

- Offset, spacing and rotation of all tiles

- You can generate tiles on rotated surface or flat surface as well




PLUGIN ACTIVATION LICENSE

Important: with the purchase of the plug-in you are eligible for 3 activations license. This means that you can activate this plugin on:

- 3 cinema 4d releases on 3 different workstations, (be careful so you immediately run out of licences)

- 3 different versions of Cinema 4D on the same workstation, so that you consume 1 activation each time you update the software (e.g. R22-23-24).

Once the 3 activations are used up, the plugin must be re-purchased as new, considering the low cost of the plugin it is a kind of subscription but you can manage it as you like. This plugin will be activated based on your Cinema4D serials or subscription license. There are important activation differences from other C4Dzone plugins so it doesn't automatically activated after download. Our office is located in Italy (GTM+1). We need at least 48 hours for the activation process.


C4Dzone is one of the most visited and accessible site for MAXON Cinema4D worldwide users. C4Dzone supports 3D artists by offering a range of services as: galleries, support forums, plugins, free downloads. We are also the MAXON ATC (Authorised Training Center) for Italy country.


Presented project can be considered as an exploration of various ways of generating floor plans for public buildings, which was followed by creating a new algorithm for solving that task. Public buildings were chosen as a main target of conducted research because of their complex and non-standardized structure. The aim was to try different previously described approaches, invent completely new techniques and methods, choose the best of them and incorporate them into my own algorithm.


Ease of use was considered as a crucial feature since the beginning of a project. Therefore, a simple solution for managing a room program of a house was created for the grasshopper environment. It enables user to set basic parameters, such as room name, area, room connections, entrance location, type of space (room/hall).


The statement was put on as a starting point: Each of the rooms in a building is somehow accessible from any other room. It means that the whole communication structure is interlinked and thus forms the core. It could be said that the first step of the generation would be developing an evacuation plan, which can later be converted into more intelligible communication network.


Every room is extended by a corridor, which goes along one, two or four of its sides. Rooms are placed one-by-one in such a way, that every placed room should be attached to the main corridor structure with its own corridor. Additionally, every room should be adjacent with all required rooms. This process continues until there is no suitable space left for the next room. After that the new iteration starts and a new variant is generated. Simultaneously previously computed solutions are developed with the help of quasi-evolutionary algorithm. Eventually, the generator produces a huge number of solutions and then the best one is chosen, according to the evaluation function (generally number of the rooms placed or the total area of the rooms placed provide the most comprehensible evaluation results).


Floor provides a neat SQLite abstraction for your Flutter applications inspired by the Room persistence library.It comes with automatic mapping between in-memory objects and database rows while still offering full control of the database with the use of SQL.As a consequence, it's necessary to have an understanding of SQL and SQLite in order to harvest Floor's full potential.


Add the runtime dependency floor as well as the generator floor_generator to your pubspec.yaml.The third dependency is build_runner which has to be included as a dev dependency just like the generator.


It will represent a database table as well as the scaffold of your business object.@entity marks the class as a persistent class.It's required to add a primary key to your table.You can do so by adding the @primaryKey annotation to an int property.There is no restriction on where you put the file containing the entity.


This component is responsible for managing access to the underlying SQLite database.The abstract class contains the method signatures for querying the database which have to return a Future or Stream.


It has to be an abstract class which extends FloorDatabase.Furthermore, it's required to add @Database() to the signature of the class.Make sure to add the created entity to the entities attribute of the @Database annotation.In order to make the generated code work, it's required to also add the listed imports.


Make sure to add part 'database.g.dart'; beneath the imports of this file.It's important to note that 'database' has to get exchanged with the filename of the database definition.In this case, the file is named database.dart.


For obtaining an instance of the database, use the generated $FloorAppDatabase class, which allows access to a database builder.The name is being composed by $Floor and the database class name.The string passed to databaseBuilder() will be the database file name.For initializing the database, call build() and make sure to await the result.


The library's name derives from the following.Floor as the bottom layer of a Room which points to the analogy of the database layer being the bottom and foundation layer of most applications.Where fl also gives a pointer that the library is used in the Flutter context.


Back in the old days, I always struggled to create hardwood parquet floors that would work in any situation. Either my texture maps were big enough to cover large expanses of floor without showing visible tiling but they would show some pixelization when zooming on individual floor planks. Or they were detailed enough to be seen up close but did not cover large enough areas, showing repetitive patterns over a certain distance.

3a8082e126
Reply all
Reply to author
Forward
0 new messages