Cooperative online modeling
-
Search didn't yield any topics on this so forgive me if I missed it.
The idea is to have several people working on the same model at the same time through an internet connection.
I always thought such a thing is not feasible due to Ruby not having access to all Sketchup tools, but maybe it could work in a limited capacity (no text, no textures and simple geometry), or maybe I can't see the full picture of what it would take to make it work.
A couple of essential elements:
- with an added network file from basic Ruby files SU can gain UDP and TCP communication (used it for small multiplayer games before)
- all the geometry from your modeling partner would go into a locked group in your model(or several groups for more people), this way you can't interfere with eachoters work but can still build on top of it
- the models would synchronize every second/few seconds/maybe minutes
- synchronizing would keep track then move/create/color geometry that changed since the last update
I think all this is possible through Ruby commands and a smart change tracking system could keep the data transfer minimal.
Am I still missing something that would make this useless?
Would the community want/use such a plugin?
-
If I understand your proposal, when I select a face (or any other entity) to edit, that face and all its connected entities would be locked up for my use. As I edit that face, the connecting geometry would adjust, and from time to time the model updated.
Can't be simple and exclude textures, if the face had a texture, all other faces with that texture must be locked up for my use since I could modify that texture, but problem is that its instances through our the model would change. If someone else were already editing another face with that texture, I would then be locked out. If you allowed textures to be an exemption, when and by whom can it be changed? How about components, would you not permit components to be modified?
Sounds difficult. The connecting entities would be changing in a indirect manner (potentially having impact on the design decisions of another modeler), and the locking of entities with multiple instances could result in locking out a large part of the model.
But, I have never worked on a multi user Cad system, any ideas from those that have?
-
Have you ever heard of a game called the exquisite corpse?
"Le cadavre / exquis / boira / le vin / nouveau" (The exquisite corpse will drink the young wine).
It was a game played by the surrealist art community. Fold a sheet of paper into a number of parts as determined by the number of players. The first player draws the head and then folds the paper so the next player can not see the head. However little tick marks show where the the neck starts on the next panel. Player two draws the neck and leaves tick marks on the third panel showing where the neck stopped. This process is repeated until a whole body is completed.
This has certain similarities to any large complex design project. The designer of the pilots yoke on a 747 was probably not the same person that designed the seats in the lavatory.
I could easily ask you to create a Corinthian column 12 feet high two feet wide with a few other specifications thrown in and use the result in a building without you knowing anything more about the building. You ship me the component and I plug it into my model. You are actually doing this anytime you use something from the 3D warehouse.
-
Actually I meant all the geometry created by others would appear in a locked group, so everyone has their own little bubble.
Example, you make the first floor of a house and the other person builds the second floor on top of it, the second floor would just be a locked group that doesn't mess with your geometry.
For starters I would exclude all textures because they can be way too big to transfer not to mention all the setting that revolve around them.
Instead all the textures would just be presented as RGB colors on the other end.Not sure on components tho, they probably need to be unique for every user, maybe later on add some feature to allow common components and editing.
Could get very annoying if someone messes it up.Added a very simple example
-
@unknownuser said:
......Example, you make the first floor of a house and the other person builds the second floor on top of it, the second floor would just be a locked group that doesn't mess with your geometry........
What happens when you decide to move the stairway, or a plumbing stack independently?
-
You are referring to a type of reference modeling, I can't think of any way to do this with SU unless you broke the model up and assigned the parts to the people needed for the work. The parts could then be submitted on a time basis to one person who would then upload the assembled components to the warehouse or wherever it was being stored so that participants could access and see the changes. This unfortunately doesn't allow individuals to save out their assigned parts directly to the scene being worked on so that everyone can see the progress - which is what I'm guessing you're after. SU isn't really set up to do this kind of thing, that's something usually found in higher end apps like Maya or 3DS Max. If it could be done I'm sure folks would find it useful, especially in offices where one model might be worked on in several ways, i.e. interior, exterior, landscaping, etc...
-
You each work on various sub-skp components which are assembled into a master skp model... You all have occasional access to that and can update your own sub-skp by reloading it when needed. To coordinate sub-skps you then need to edit one or more in the master model... Then you need to update the sub-skp component[s] because it's been affected by another - there's no equivalent of ACAD's xref 'edit in place' - you could have a complex 'locking' read-only type system for sub-skps / master skp and when you wanted to edit one 'in place' you then had the equivalent of 'update external skp' where the component in the master model was saved out as the updated skp. Only one user will be able edit the master model skp at any time and all others need to reload their sub-skps if the model is changed, as there might be associated sub-skp updates to reload locally affecting them... all far too complex for normal use ??
-
Alright I can see the errors of my ways, would be a neat party trick and not much more.
Thanks for the insight guys.
-
This discussion reminds me of a modeling program called TrueSpace. It had interesting capabilities. One of the features of this program was a realtime sharing "forum" probably like a multiuser online game. I don't know the current status of this program, but I think it closed down.
-
I looked it up and TrueSpace is still available for free, but the company was bought and dissected by Microsoft so they are not working on it anymore.
It has Blender level capabilities, just their shared model system doesn't look that good.
From the youtube videos it seems like every change takes 5-20 seconds between performing an action an that action affecting the model, surely this is a secure system but that is in no way usable (could just be a bad video).But I'll still check how that all works, thank you for bringing it up.
Advertisement