Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Live Blender Game Sync #14

Open
zicklag opened this issue Jun 16, 2019 · 6 comments
Open

Live Blender Game Sync #14

zicklag opened this issue Jun 16, 2019 · 6 comments
Labels
enhancement New feature or request

Comments

@zicklag
Copy link
Member

zicklag commented Jun 16, 2019

In order to decrease iteration time and facilitate rapid development

As a game developer

I want to be able to tell Blender to sync objects in the Blender interface live with the running game during development. I should be able to select which objects are synchronized with a checkbox for each object in the properties panel.


The synchronization could be one-way from Blender to the game, or it could be two-way. This will require planning and testing to figure out exactly how we want to do it.

This is somewhat related to #15.

@zicklag zicklag added the enhancement New feature or request label Jun 16, 2019
@zicklag zicklag added this to the 0.4 milestone Jun 16, 2019
@Raj2032
Copy link

Raj2032 commented Jun 16, 2019

#4 (comment)

The difficulty with displaying it in the viewport is that we may not be able to get Blender to render the viewport so that it looks exactly like the game. Its one of the trad-offs of using Blender as the primary game building interface.

Isn't it possible to integrate another interface from another game engine and the user can switch between the two interfaces. So for example if in object mode, then the user can use Godot's or some other game engine's interface when moving objects around. But if in edit mode then it uses Blender's interface?

@fu5ha
Copy link

fu5ha commented Jun 16, 2019

Isn't it possible to integrate another interface from another game engine and the user can switch between the two interfaces. So for example if in object mode, then the user can use Godot's or some other game engine's interface when moving objects around. But if in edit mode then it uses Blender's interface?

This seems needlessly complicated and counter-productive, and I'm not sure what you'd really gain since you'd still be switching windows all the time. IMO, we should either try to draw it in Blender (which will probably be non-optimal, though maybe doable and useful in some circumstances), or just make it possible to have a floating window of some sort. Perhaps an always-on-top window so that you can move things in Blender and have the 'live view' window over top of another part of Blender's interface. Alternatively, just get another monitor or more screen space so you can have both open at once ;p

@Raj2032
Copy link

Raj2032 commented Jun 16, 2019

@termhn

This seems needlessly complicated and counter-productive, and I'm not sure what you'd really gain since you'd still be switching windows all the time.

With my proposed idea how would I be switching Windows all the time? May I understand?

@fu5ha
Copy link

fu5ha commented Jun 16, 2019

Well, it would be quite common that you'd want to move something, then modify its properties, then move it again, then change its shape, then move it again, etc, no? So you'd be changing windows each time.

Plus pulling in a whole other game engine's editor just for this seems very overkill and probably not even possible. It would probably be easier and better to just create some manipulation widgets and systems to go with it of our own that could be easily integrated natively into a game

@zicklag
Copy link
Member Author

zicklag commented Jun 16, 2019

You could potentially integrate the engine directly into a Blender space or something like that if you re-compiled Blender from source, but I really want to avoid that if possible because I don't want users to have to download our custom build of Blender to use the engine.

We could ship some edit widget components, that you could enable on objects with a checkbox in Blender, to give you control over the objects live in the game like @termhn said. We could also sync those changes that you make with the widgets in the game back into Blender. That might be the best middleground.

@erlend-sh
Copy link

@chr15m and @nathankidd appear to have a version of this working in the px3d engine:

https://mccormick.cx/news/entries/clojurescript-pixel-game-engine-with-blender-live-reloading

@zicklag zicklag removed this from the 0.4 milestone Oct 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants