浏览代码

Minor fix

master
Palash Bansal 11 个月前
父节点
当前提交
c3aa236f92
没有帐户链接到提交者的电子邮件
共有 2 个文件被更改,包括 16 次插入4 次删除
  1. 15
    4
      plugins/blend-importer/src/js-blend/parser/parser.js
  2. 1
    0
      plugins/blend-importer/src/loader/material.ts

+ 15
- 4
plugins/blend-importer/src/js-blend/parser/parser.js 查看文件

@@ -366,6 +366,9 @@ function worker_code () {
blen_struct.prototype.__pointers = [];
blen_struct.prototype.__list__ = [];

const DNA = this.SDNA[name] = {
constructor: blen_struct,
};
let offset = 0;
// Create properties of struct
for (let i = 0; i < struct.length; i += 3) {
@@ -379,9 +382,6 @@ function worker_code () {
Suparray_match = 1,
PointerToArray = false,
Pointer_Match = 0;
const DNA = this.SDNA[name] = {
constructor: blen_struct,
};


let original_name = _name;
@@ -726,10 +726,21 @@ function worker_code () {
}

data_offset = offset;

if (offset + pointer_size + 12 >= data.byteLength) {
return ERROR = 'Unexpected end of file while parsing';
}

sdna_index = data.getInt32(offset + pointer_size + 8, BIG_ENDIAN);
let code_uint = data.getUint32(offset, BIG_ENDIAN);
offset2 = offset + 16 + (pointer_size);
offset += data.getInt32(offset + 4, true) + 16 + (pointer_size);

const blockLength = data.getInt32(offset + 4, true);
if (blockLength < 0 || offset + blockLength + 16 + pointer_size > data.byteLength) {
return ERROR = 'Invalid block length detected';
}

offset += blockLength + 16 + (pointer_size);

if (code_uint === DNA1); // skip - already processed at this point
else if (code_uint === ENDB) break; // end of __blender_file__ found

+ 1
- 0
plugins/blend-importer/src/loader/material.ts 查看文件

@@ -1,6 +1,7 @@
import {MeshPhysicalMaterial} from 'threepipe'

// todo see blender gltf exporter and convert to js. structure is the same
// https://github.com/KhronosGroup/glTF-Blender-IO/blob/ed5100ab6c40472b7c3254fddfe0dd0d76d60644/addons/io_scene_gltf2/blender/exp/material/materials.py#L60
export function createMaterial(mat: any) {
const material = new MeshPhysicalMaterial()
material.color.setRGB(mat.r, mat.g, mat.b)

正在加载...
取消
保存