mirror of
https://github.com/overte-org/overte.git
synced 2025-04-20 03:24:00 +02:00
bake particles and polylines
This commit is contained in:
parent
1a1277e9e7
commit
168e47aa62
2 changed files with 13 additions and 5 deletions
|
@ -182,12 +182,12 @@ void MaterialBaker::handleFinishedTextureBaker() {
|
|||
|
||||
void MaterialBaker::outputMaterial() {
|
||||
if (_materialResource) {
|
||||
QJsonDocument json;
|
||||
QJsonObject json;
|
||||
if (_materialResource->parsedMaterials.networkMaterials.size() == 1) {
|
||||
auto networkMaterial = _materialResource->parsedMaterials.networkMaterials.begin();
|
||||
auto scriptableMaterial = scriptable::ScriptableMaterial(networkMaterial->second);
|
||||
QVariant materialVariant = scriptable::scriptableMaterialToScriptValue(&_scriptEngine, scriptableMaterial).toVariant();
|
||||
json = QJsonDocument::fromVariant(materialVariant);
|
||||
json.insert("materials", QJsonDocument::fromVariant(materialVariant).object());
|
||||
} else {
|
||||
QJsonArray materialArray;
|
||||
for (auto networkMaterial : _materialResource->parsedMaterials.networkMaterials) {
|
||||
|
@ -195,10 +195,10 @@ void MaterialBaker::outputMaterial() {
|
|||
QVariant materialVariant = scriptable::scriptableMaterialToScriptValue(&_scriptEngine, scriptableMaterial).toVariant();
|
||||
materialArray.append(QJsonDocument::fromVariant(materialVariant).object());
|
||||
}
|
||||
json.setArray(materialArray);
|
||||
json.insert("materials", materialArray);
|
||||
}
|
||||
|
||||
QByteArray outputMaterial = json.toJson(QJsonDocument::Compact);
|
||||
QByteArray outputMaterial = QJsonDocument(json).toJson(QJsonDocument::Compact);
|
||||
if (_isURL) {
|
||||
auto fileName = QUrl(_materialData).fileName();
|
||||
auto baseName = fileName.left(fileName.lastIndexOf('.'));
|
||||
|
|
|
@ -288,6 +288,8 @@ void DomainBaker::addMaterialBaker(const QString& property, const QString& data,
|
|||
// All the Entity Properties that can be baked
|
||||
// ***************************************************************************************
|
||||
|
||||
const QString TYPE_KEY = "type";
|
||||
|
||||
// Models
|
||||
const QString MODEL_URL_KEY = "modelURL";
|
||||
const QString COMPOUND_SHAPE_URL_KEY = "compoundShapeURL";
|
||||
|
@ -349,7 +351,13 @@ void DomainBaker::enumerateEntities() {
|
|||
|
||||
// Textures
|
||||
if (entity.contains(TEXTURES_KEY)) {
|
||||
// TODO: the textures property is treated differently for different entity types
|
||||
if (entity.contains(TYPE_KEY)) {
|
||||
QString type = entity[TYPE_KEY].toString();
|
||||
// TODO: handle textures for model entities
|
||||
if (type == "ParticleEffect" || type == "PolyLine") {
|
||||
addTextureBaker(TEXTURES_KEY, entity[TEXTURES_KEY].toString(), image::TextureUsage::DEFAULT_TEXTURE, *it);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (entity.contains(IMAGE_URL_KEY)) {
|
||||
addTextureBaker(IMAGE_URL_KEY, entity[IMAGE_URL_KEY].toString(), image::TextureUsage::DEFAULT_TEXTURE, *it);
|
||||
|
|
Loading…
Reference in a new issue