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

Import Static Props #7

Open
4 tasks
snake-biscuits opened this issue Aug 12, 2023 · 3 comments
Open
4 tasks

Import Static Props #7

snake-biscuits opened this issue Aug 12, 2023 · 3 comments
Assignees
Labels
enhancement New feature or request Fanart feature related to making fanart
Milestone

Comments

@snake-biscuits
Copy link
Owner

Should collab w/ other addons like Perimeter
.rpak tools will be a must

Formats

  • Titanfall: Source Engine .mdl v46
  • Titanfall | 2: Titanfall Engine .mdl
  • Apex Legends: Titanfall Engine .rmdl

Settings

  • Physics Model Only
  • Maximum LoD level
  • Can we do multiple LoD per-instance?
    • Simulate LoD switching?

Prerequisites

@snake-biscuits snake-biscuits added the enhancement New feature or request label Aug 12, 2023
@snake-biscuits snake-biscuits self-assigned this Aug 12, 2023
@snake-biscuits snake-biscuits added this to the 1.3.0 milestone Aug 12, 2023
@snake-biscuits snake-biscuits added the Fanart feature related to making fanart label Aug 25, 2023
@snake-biscuits
Copy link
Owner Author

It's possible to import SourceIO in Blender Python, provided it's installed & available
We could probably rig up a bulk asset importer for Titanfall that hooks that

try:
    import SourceIO
except ImportError:
    pass  # switch to our own implementation / disable feature

# OR

import importlib
if importlib.util.find_spec("SourceIO") is None:
    ...  # disable prop loading feature

imo option 2 is better, as we can use a is_SourceIO_available global

Titanfall 2 .mdl / Apex .rmdl support might require collabing w/ SourceIO devs
A fork or PR of SourceIO is an idea, but I'd want to check w/ the devs first to make sure they'd be OK with that

Otherwise we just build our own importer

availability could get wierd depending on the order addons are initialised & cached in
I haven't encountered inter-addon dependencies before so idk

@snake-biscuits
Copy link
Owner Author

To figure out what parts of SourceIO to use, I'd trace backwards from operators
e.g. SOURCEIO_OT_BSPImport
We'd have to implement our own content manager for Titanfall Engine assets
I still think hooking the .mdl importer would be less work than building our own

@snake-biscuits
Copy link
Owner Author

nvm, SourceIO doesn't bulk load static props like I thought it did
we'd be better off w/ our own importer:

  • Instanced props
  • Blender Asset System
  • Less debugging nightmares

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Fanart feature related to making fanart
Projects
Status: Todo: Research
Development

No branches or pull requests

1 participant