@galacean/effects-threejs 1.2.2 → 1.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +43 -14
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +4 -4
- package/dist/index.min.js.map +1 -1
- package/dist/index.mjs +43 -14
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Description: Galacean Effects runtime threejs plugin for the web
|
|
4
4
|
* Author: Ant Group CO., Ltd.
|
|
5
5
|
* Contributors: 燃然,飂兮,十弦,云垣,茂安,意绮
|
|
6
|
-
* Version: v1.2.
|
|
6
|
+
* Version: v1.2.4
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import * as THREE from 'three';
|
|
@@ -9245,10 +9245,10 @@ var VFXItem = /** @class */ (function () {
|
|
|
9245
9245
|
};
|
|
9246
9246
|
VFXItem.prototype.translateByPixel = function (x, y) {
|
|
9247
9247
|
if (this.composition) {
|
|
9248
|
+
// @ts-expect-error
|
|
9249
|
+
var _a = this.composition.renderer.canvas.getBoundingClientRect(), width = _a.width, height = _a.height;
|
|
9248
9250
|
var z = this.transform.getWorldPosition().z;
|
|
9249
|
-
var
|
|
9250
|
-
var width = this.composition.renderer.getWidth() / 2;
|
|
9251
|
-
var height = this.composition.renderer.getHeight() / 2;
|
|
9251
|
+
var _b = this.composition.camera.getInverseVPRatio(z), rx = _b.x, ry = _b.y;
|
|
9252
9252
|
this.transform.translate(2 * x * rx / width, -2 * y * ry / height, 0);
|
|
9253
9253
|
}
|
|
9254
9254
|
};
|
|
@@ -21354,8 +21354,9 @@ var Camera = /** @class */ (function () {
|
|
|
21354
21354
|
Camera.prototype.getInverseVPRatio = function (z) {
|
|
21355
21355
|
var pos = new Vector3(0, 0, z);
|
|
21356
21356
|
var mat = this.getViewProjectionMatrix();
|
|
21357
|
-
var
|
|
21358
|
-
|
|
21357
|
+
var inverseVP = this.getInverseViewProjectionMatrix();
|
|
21358
|
+
var nz = mat.projectPoint(pos).z;
|
|
21359
|
+
return inverseVP.projectPoint(new Vector3(1, 1, nz));
|
|
21359
21360
|
};
|
|
21360
21361
|
/**
|
|
21361
21362
|
* 设置相机的旋转四元数
|
|
@@ -21367,7 +21368,6 @@ var Camera = /** @class */ (function () {
|
|
|
21367
21368
|
this.dirty = true;
|
|
21368
21369
|
}
|
|
21369
21370
|
else {
|
|
21370
|
-
this.options.quat;
|
|
21371
21371
|
if (!this.options.quat.equals(value)) {
|
|
21372
21372
|
this.options.quat.copyFrom(value);
|
|
21373
21373
|
this.dirty = true;
|
|
@@ -23468,6 +23468,26 @@ var AssetManager = /** @class */ (function () {
|
|
|
23468
23468
|
var _a = options.timeout, timeout = _a === void 0 ? 10 : _a;
|
|
23469
23469
|
this.timeout = timeout;
|
|
23470
23470
|
};
|
|
23471
|
+
/**
|
|
23472
|
+
* 根据用户传入的参数修改场景数据
|
|
23473
|
+
*/
|
|
23474
|
+
AssetManager.prototype.updateSceneData = function (compositions) {
|
|
23475
|
+
var variables = this.options.variables;
|
|
23476
|
+
if (!variables || Object.keys(variables).length <= 0) {
|
|
23477
|
+
return compositions;
|
|
23478
|
+
}
|
|
23479
|
+
compositions.forEach(function (composition) {
|
|
23480
|
+
composition.items.forEach(function (item) {
|
|
23481
|
+
if (item.type === ItemType$1.text) {
|
|
23482
|
+
var textVariable = variables[item.name];
|
|
23483
|
+
if (textVariable) {
|
|
23484
|
+
item.content.options.text = textVariable;
|
|
23485
|
+
}
|
|
23486
|
+
}
|
|
23487
|
+
});
|
|
23488
|
+
});
|
|
23489
|
+
return compositions;
|
|
23490
|
+
};
|
|
23471
23491
|
/**
|
|
23472
23492
|
* 场景创建,通过 json 创建出场景对象,并进行提前编译等工作
|
|
23473
23493
|
* @param url - json 的 URL 链接或者 json 对象
|
|
@@ -23559,6 +23579,7 @@ var AssetManager = /** @class */ (function () {
|
|
|
23559
23579
|
for (i = 0; i < scene.images.length; i++) {
|
|
23560
23580
|
scene.textureOptions[i].image = scene.images[i];
|
|
23561
23581
|
}
|
|
23582
|
+
scene.jsonScene.compositions = this.updateSceneData(scene.jsonScene.compositions);
|
|
23562
23583
|
_e.label = 5;
|
|
23563
23584
|
case 5: return [3 /*break*/, 12];
|
|
23564
23585
|
case 6: return [4 /*yield*/, hookTimeInfo('processJSON', function () { return _this.processJSON(rawJSON); })];
|
|
@@ -23578,6 +23599,7 @@ var AssetManager = /** @class */ (function () {
|
|
|
23578
23599
|
return [4 /*yield*/, hookTimeInfo('processTextures', function () { return _this.processTextures(loadedImages_1, loadedBins_1, jsonScene_1); })];
|
|
23579
23600
|
case 10:
|
|
23580
23601
|
loadedTextures = _e.sent();
|
|
23602
|
+
jsonScene_1.compositions = this.updateSceneData(jsonScene_1.compositions);
|
|
23581
23603
|
scene = {
|
|
23582
23604
|
url: url,
|
|
23583
23605
|
renderLevel: this.options.renderLevel,
|
|
@@ -23677,16 +23699,17 @@ var AssetManager = /** @class */ (function () {
|
|
|
23677
23699
|
};
|
|
23678
23700
|
AssetManager.prototype.processBins = function (bins) {
|
|
23679
23701
|
return __awaiter(this, void 0, void 0, function () {
|
|
23680
|
-
var renderLevel, jobs;
|
|
23702
|
+
var renderLevel, baseUrl, jobs;
|
|
23681
23703
|
var _this = this;
|
|
23682
23704
|
return __generator(this, function (_a) {
|
|
23683
23705
|
renderLevel = this.options.renderLevel;
|
|
23706
|
+
baseUrl = this.baseUrl;
|
|
23684
23707
|
jobs = bins.map(function (bin) {
|
|
23685
23708
|
if (bin instanceof ArrayBuffer) {
|
|
23686
23709
|
return bin;
|
|
23687
23710
|
}
|
|
23688
23711
|
if (passRenderLevel(bin.renderLevel, renderLevel)) {
|
|
23689
|
-
return _this.loadBins(bin.url);
|
|
23712
|
+
return _this.loadBins(new URL(bin.url, baseUrl).href);
|
|
23690
23713
|
}
|
|
23691
23714
|
throw new Error("Invalid bins source: ".concat(JSON.stringify(bins)));
|
|
23692
23715
|
});
|
|
@@ -23704,13 +23727,14 @@ var AssetManager = /** @class */ (function () {
|
|
|
23704
23727
|
return [2 /*return*/];
|
|
23705
23728
|
}
|
|
23706
23729
|
jobs = fonts.map(function (font) { return __awaiter(_this, void 0, void 0, function () {
|
|
23707
|
-
var fontFace;
|
|
23730
|
+
var url, fontFace;
|
|
23708
23731
|
var _a;
|
|
23709
23732
|
return __generator(this, function (_b) {
|
|
23710
23733
|
switch (_b.label) {
|
|
23711
23734
|
case 0:
|
|
23712
23735
|
if (!(font.fontURL && !AssetManager.fonts.has(font.fontFamily))) return [3 /*break*/, 4];
|
|
23713
|
-
|
|
23736
|
+
url = new URL(font.fontURL, this.baseUrl).href;
|
|
23737
|
+
fontFace = new FontFace((_a = font.fontFamily) !== null && _a !== void 0 ? _a : '', 'url(' + url + ')');
|
|
23714
23738
|
_b.label = 1;
|
|
23715
23739
|
case 1:
|
|
23716
23740
|
_b.trys.push([1, 3, , 4]);
|
|
@@ -23723,7 +23747,7 @@ var AssetManager = /** @class */ (function () {
|
|
|
23723
23747
|
return [3 /*break*/, 4];
|
|
23724
23748
|
case 3:
|
|
23725
23749
|
_b.sent();
|
|
23726
|
-
logger.warn("Invalid fonts source: ".concat(JSON.stringify(
|
|
23750
|
+
logger.warn("Invalid fonts source: ".concat(JSON.stringify(url)));
|
|
23727
23751
|
return [3 /*break*/, 4];
|
|
23728
23752
|
case 4: return [2 /*return*/];
|
|
23729
23753
|
}
|
|
@@ -23955,7 +23979,7 @@ function createTextureOptionsBySource(image, sourceFrom) {
|
|
|
23955
23979
|
return image.source;
|
|
23956
23980
|
}
|
|
23957
23981
|
else if (image instanceof HTMLImageElement ||
|
|
23958
|
-
image
|
|
23982
|
+
isCanvas(image)) {
|
|
23959
23983
|
return {
|
|
23960
23984
|
image: image,
|
|
23961
23985
|
sourceType: TextureSourceType.image,
|
|
@@ -23992,6 +24016,11 @@ function createTextureOptionsBySource(image, sourceFrom) {
|
|
|
23992
24016
|
}
|
|
23993
24017
|
throw new Error('Invalid texture options');
|
|
23994
24018
|
}
|
|
24019
|
+
function isCanvas(cavnas) {
|
|
24020
|
+
var _a;
|
|
24021
|
+
// 小程序 Canvas 无法使用 instanceof HTMLCanvasElement 判断
|
|
24022
|
+
return typeof cavnas === 'object' && cavnas !== null && ((_a = cavnas.tagName) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === 'CANVAS';
|
|
24023
|
+
}
|
|
23995
24024
|
|
|
23996
24025
|
var CompVFXItem = /** @class */ (function (_super) {
|
|
23997
24026
|
__extends(CompVFXItem, _super);
|
|
@@ -26889,7 +26918,7 @@ Geometry.create = function (engine, options) {
|
|
|
26889
26918
|
Mesh.create = function (engine, props) {
|
|
26890
26919
|
return new ThreeMesh(engine, props);
|
|
26891
26920
|
};
|
|
26892
|
-
var version = "1.2.
|
|
26921
|
+
var version = "1.2.4";
|
|
26893
26922
|
logger.info('THREEJS plugin version: ' + version);
|
|
26894
26923
|
|
|
26895
26924
|
export { AbstractPlugin, AssetManager, BYTES_TYPE_MAP, BezierSegments, COMPRESSED_TEXTURE, CONSTANT_MAP_BLEND, CONSTANT_MAP_DEPTH, CONSTANT_MAP_STENCIL_FUNC, CONSTANT_MAP_STENCIL_OP, COPY_FRAGMENT_SHADER, COPY_MESH_SHADER_ID, COPY_VERTEX_SHADER, CalculateItem, CalculateLoader, CalculateVFXItem, Camera, CameraController, CameraVFXItem, CameraVFXItemLoader, Composition, CompositionSourceManager, CurveValue, DEFAULT_FONTS, DestroyOptions, Downloader, EFFECTS_COPY_MESH_NAME, EVENT_TYPE_CLICK, EVENT_TYPE_TOUCH_END, EVENT_TYPE_TOUCH_MOVE, EVENT_TYPE_TOUCH_START, Engine, EventSystem, FILTER_NAME_NONE, FilterMode, FilterSpriteVFXItem, Float16ArrayWrapper, FrameBuffer, GLSLVersion, GPUCapability, Geometry, GlobalUniforms, GradientValue, HELP_LINK, HitTestType, InteractBehavior$1 as InteractBehavior, InteractItem, InteractLoader, InteractMesh, InteractVFXItem, Item, KTXTexture, LineSegments, LinearValue, Material, MaterialDataBlock, MaterialRenderType, Mesh, OrderType, PLAYER_OPTIONS_ENV_EDITOR, POST_PROCESS_SETTINGS, ParticleLoader, ParticleMesh, ParticleSystem, ParticleVFXItem, PassTextureCache, PathSegments, PluginSystem, QCanvasViewer, QText, QTextWrapMode, RENDER_PASS_NAME_PREFIX, RENDER_PREFER_LOOKUP_TEXTURE, RUNTIME_ENV, RandomSetValue, RandomValue, RandomVectorValue, RenderBuffer, RenderFrame, RenderPass, RenderPassAttachmentStorageType, RenderPassDestroyAttachmentType, RenderPassPriorityNormal, RenderPassPriorityPostprocess, RenderPassPriorityPrepare, RenderTargetHandle, RenderTextureFormat, Renderer, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_0, SEMANTIC_MAIN_PRE_COLOR_ATTACHMENT_SIZE_0, SEMANTIC_PRE_COLOR_ATTACHMENT_0, SEMANTIC_PRE_COLOR_ATTACHMENT_SIZE_0, SPRITE_VERTEX_STRIDE, SemanticMap, Shader, ShaderCompileResultStatus, ShaderType, SpriteItem, SpriteLoader, SpriteMesh, SpriteVFXItem, StaticValue, TEMPLATE_USE_OFFSCREEN_CANVAS, TEXTURE_UNIFORM_MAP, TextItem, TextLoader, TextMesh, TextVFXItem, Texture, TextureFactory, TextureLoadAction, TextureSourceType, TextureStoreAction, ThreeComposition, ThreeDisplayObject, ThreeMaterial, ThreeTexture, Ticker, TimelineComponent, Transform, VFXItem, ValueGetter, addByOrder, addItem, addItemWithOrder, alphaFrameFrag, alphaMaskFrag, assertExist, asserts, blend, bloomMixVert, bloomThresholdVert, calculateTranslation, cameraMove_frag as cameraMoveFrag, cameraMoveVert, canvasPool, colorGradingFrag, colorStopsFromGradient, colorToArr$1 as colorToArr, combineImageTemplate, combineImageTemplate1, combineImageTemplate1Async, combineImageTemplate2, combineImageTemplate2Async, combineImageTemplateAsync, compatible_frag as compatibleFrag, compatible_vert as compatibleVert, convertAnchor, copyFrag, createCopyShader, createFilter, createFilterShaders, createGLContext, createKeyFrameMeta, createShaderWithMarcos, createShape, createVFXItem, createValueGetter, deepClone, defaultGlobalVolume, defaultPlugins, delayFrag, deserializeMipmapTexture, distortionFrag, distortionVert, earcut, enlargeBuffer, ensureVec3, filters, findPreviousRenderPass, gaussianDown_frag as gaussianDownFrag, gaussianDownHFrag, gaussianDownVFrag, gaussianUpFrag, generateEmptyTypedArray, generateHalfFloatTexture, getBackgroundImage, getColorFromGradientStops, getConfig, getDefaultTemplateCanvasPool, getDefaultTextureFactory, getGeometryByShape, getGeometryTriangles, getImageItemRenderInfo, getKTXTextureOptions, getKeyFrameMetaByRawValue, getParticleMeshShader, getPixelRatio, getPreMultiAlpha, getStandardComposition, getStandardImage, getStandardItem, getStandardJSON, getTextureSize, glContext, gpuTimer, imageDataFromColor, imageDataFromGradient, initErrors, initGLContext, integrate, interpolateColor, isAndroid, isArray, isFunction, isIOS, isObject, isScene, isSimulatorCellPhone, isString, isUniformStruct, isUniformStructArray, isWebGL2, item_define as itemDefine, itemFrag, itemFrameFrag, itemVert, loadBinary, loadBlob, loadImage, loadVideo, loadWebPOptional, logger, index as math, maxSpriteMeshItemCount, maxSpriteTextureCount, modifyMaxKeyframeShader, nearestPowerOfTwo, noop, parsePercent$1 as parsePercent, particleFrag, particleOriginTranslateMap, particleVert, pluginLoaderMap, random, registerFilter, registerFilters, registerPlugin, removeItem, requestAsync, rotateVec2, screenMeshVert, setBlendMode, setConfig, setDefaultTextureFactory, setMaskMode, setMaxSpriteMeshItemCount, setRayFromCamera, setSideMode, setSpriteMeshMaxFragmentTextures, setSpriteMeshMaxItemCountByGPU, setUniformValue, sortByOrder, index$1 as spec, spriteMeshShaderFromFilter, spriteMeshShaderFromRenderInfo, spriteMeshShaderIdFromRenderInfo, thresholdFrag, throwDestroyedError, trailVert, translatePoint, trianglesFromRect, unregisterPlugin, valIfUndefined, value, valueDefine, vecAssign, vecFill, vecMulCombine, vecNormalize, version };
|