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

Optimize the use of Transform API #638

Merged
merged 22 commits into from
Mar 2, 2022

Conversation

GuoLei1990
Copy link
Member

@GuoLei1990 GuoLei1990 commented Jan 26, 2022

Please check if the PR fulfills these requirements

  • The commit message follows our guidelines
  • Tests for the changes have been added (for bug fixes / features)
  • Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

When I designed the Transform API in the past, I always had a big problem, that is, there is no struct in JS.
Vector3 types like position and rotation in Oasis can only be class.

However, class is a reference type, so when modifying its sub attributes, developers usually think it has taken effect. This is difficult for the design.

After some trade-offs, I think we should make the use of API more natural (even if there is a slight loss of performance). It is not a good decision to blindly pursue performance and ignore ease of use. A good design will strike a balance between ease of use, performance and memory. So we added delegate callback inside vector3 to achieve a more natural design. Obviously, everyone will like the following improvements. In fact, this has a certain performance loss, but I think it has more advantages on the whole.

If we want to increase the Y axis by 0.1, we must do like this before:

const transform = rootEntity.transform;
const position = transform.position;
position.y += 0.1;
transform.position = position;

or

const transform = rootEntity.transform;
const position = transform.position;
transform.position.setValue(position.x, position.y + 0.1, position.z);

But now it has become so simple:

const transform = rootEntity.transform;
transform.position.y += 0.1;

@GuoLei1990 GuoLei1990 marked this pull request as draft January 26, 2022 09:50
@GuoLei1990 GuoLei1990 changed the title Optimation Transform API Optimize the use of ‘Transform’ API Jan 27, 2022
@GuoLei1990 GuoLei1990 changed the title Optimize the use of ‘Transform’ API Optimize the use of Transform API Jan 27, 2022
@GuoLei1990 GuoLei1990 self-assigned this Jan 27, 2022
@GuoLei1990 GuoLei1990 added design engine design performance Performance-related features labels Jan 27, 2022
@GuoLei1990 GuoLei1990 added this to the 0.7 milestone Jan 27, 2022
@GuoLei1990 GuoLei1990 marked this pull request as ready for review January 27, 2022 10:21
@GuoLei1990 GuoLei1990 added high priority High priority issue and removed performance Performance-related features labels Jan 28, 2022
@GuoLei1990 GuoLei1990 mentioned this pull request Mar 1, 2022
22 tasks
packages/math/src/Vector3.ts Outdated Show resolved Hide resolved
Copy link
Member

@singlecoder singlecoder left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Copy link
Member

@yangfengzzz yangfengzzz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@GuoLei1990 GuoLei1990 merged commit 1f621f1 into galacean:dev/0.7 Mar 2, 2022

public set x(value: number) {
this._x = value;
this._onValueChanged && this._onValueChanged();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it's better to call function later?

math.ts

set x(value: number){
   ...;
   this._isDirty = true;
}

transform.ts

get worldPosition(){
   if(this._position.isDirty){
       ...
   }
   ...
}

GuoLei1990 added a commit that referenced this pull request Apr 22, 2022
* refactor: delete deprecate code (#630)

* Optimize the use of `Transform` API (#638)

* refactor: opt transform API

* Merge latest main to dev/0.6 (#672)

* fix: normal attributer is need in unlit (#637)

* fix: normal attributer is need in unlit

* fix: physx bug (#651)

* fix: physx bug

* fix: opt collider shape scale

* v0.6.7

* fix: get pixel buffer use mip level should right shift (#656)

Co-authored-by: gz65555 <kevin.hs@antgroup.com>

* Update AnimatorState.ts (#657)

fix: fix comment

* Rename `ability` to `component`. (#608)

* fix: resize max uniform vector count (#660)

* fix: resize max uniform vector count

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* fix(2d): can not update world position for sprite renderer when call … (#635)

* fix(2d): can not update wrold position for sprite renderer when call bounds in the same frame

Co-authored-by: zhuxudong <callzhuxudong@163.com>
Co-authored-by: yangfengzzz <yangfengzzz@hotmail.com>
Co-authored-by: Hu Song <gz65555@gmail.com>
Co-authored-by: gz65555 <kevin.hs@antgroup.com>
Co-authored-by: luzhuang <364439895@qq.com>
Co-authored-by: Bob <768442443@qq.com>
Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>
Co-authored-by: singlecoder <singlecoder2014@gmail.com>

* fix: trigger event update (#673)

* fix: trigger event update

* fix: ignore scale (#670)

* fix: camera ignore scale

* Fix transform bug (#678)

* fix: transform

* Fix: ModelMesh._indicesChangeFlag (#685)


* Fix: ModelMesh._indicesChangeFlag

* feat: non-trigger script and dynamic collider (#680)

* feat: non-trigger script and dynamic collider

* fix: rotation not normalized bug (#693)

* Offscreen canvas requires no input interaction. (#689)

* fix:InputManager when use OffScreenCanvas

* feat: keyboardevent (#677)

* feat: keyboardevent

* feat: physics fix-time update (#700)

* feat: fix-time physics update

* feat: add physicsUpdate in Script

* Optimize: Optimize the lookat function of transform. (#701)

* fix:transform lookat

* fix: transoform `rotate` bug when `relativeToLocal` is true (#702)

* fix: wordRotationQuatenion bug (#703)

* Feat:The first version of text system (#686)

* feat(text): init TextRenderer

* fix: fix text renderer clone error (#716)

* fix(text): fix text renderer clone error

* Optimization texture structure (#715)

* feat: opt texture struct

* fix: script destroy bug (#720)

* fix: script destroy bug

* Feat: support multi-uv and occlusion texture coordinate (#683)

* feat: support multi uv and occlusion texture coord

* Optimization physics init (#722)

* refactor: opt physics int

* fix: physics update order and destroy method (#727)

* fix: physcis event remove when collider shape destroy (#738)

* fix: physcis event remove when collider shape destroy

* physics test (#742)

* Fix RenderTaget type problem (#741)

* Test: text system (#740)

* feat(text): test for text renderer

* Fix unit test and compile bug (#746)

* fix: component unit test

* test: test for text renderer (#745)

* feat(text): fix test for text renderer

* FloatTexture version Blendshape  (#737)

* feat: add texture-2d-array and rename TextureCubeMap to TextureCube

* feat: opt blendshape animation and improve attribute version

* Opt ModelMesh code (#739)

* refactor: opt `ModelMesh` code

* refactor: opt code

* refactor: opt code (#747)

* Feat: support load hdr to cubemap in RGBM format and invert x axis (#733)

* feat: add HDR loader

* Feat: support pbr clearcoat (#669)

* feat: support clearcoat

* feat: support  Specular  AA

* feat: animator play backwards (#730)

* feat: animator play backwward

* refactor: fix code

* refactor: opt code

* Merge latest `main` to `dev/0.7` (#751)

* refactor: merge latest `main` to `dev/0.7

* feat: update wasm version (#753)

* refactor:opt code

Co-authored-by: zhuxudong <callzhuxudong@163.com>
Co-authored-by: yangfengzzz <yangfengzzz@hotmail.com>
Co-authored-by: Hu Song <gz65555@gmail.com>
Co-authored-by: gz65555 <kevin.hs@antgroup.com>
Co-authored-by: luzhuang <364439895@qq.com>
Co-authored-by: Bob <768442443@qq.com>
Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>
Co-authored-by: singlecoder <singlecoder2014@gmail.com>
Co-authored-by: AZhan <njktsmshh@163.com>
gz65555 added a commit that referenced this pull request Jun 10, 2022
* Add color space (#543)

* feat: add engine settings

* fix: opt code (#519)

* feat: modify physics-related class for editor (#547)

* feat: modify physics-related class for editor

* Merge main to dev/0.6 (#553)

* refactor: merge main to dev/0.6

* fix(gl): fix gl error (#555)

* v0.5.7

* fix: bump verison (#557)

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* fix: shader error (#556)

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* feat/add AnimatorState script for handle animatorState's lifecycle (#552)

* feat: add `StateMachineScript`

* fix: onEndRender trigger error

* Fix Call EndRender Error (#563)

* fix: onEndRender trigger error

* feat: support skybox with hdr(rgbe) format (#567)

* feat: add rgbm decode mode

* fix: color space correction (#566)

* fix: color space correction

* fix: bump version (#568)

* feat: change clipTime to normalized as same as  transitionTime for mo… (#560)

* feat: change clipTime to normalized as same as  transitionTime for more understandable

* Update README.md

* Update README.md

* Update README.md

* feat: add method: addEvent overload (#559)

* feat: support ambient-light replacement (#569)

* feat: support ambient-light replacement

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>
Co-authored-by: GuoLei <gl3336563@163.com>

* Feat/ambient light adapter editor (#570)

* feat: adapter oasis editor with ambient light

* feat: add getCurrentAnimatorState API and fix crossfade time (#565)

* fix: use alipay cdn for physx wasm (#571)

* add wasm file (#572)

* fix: use alipay cdn for physx wasm

* fix: include wasm files

* Fix : the compatibility problem of IOS lower version (#573)

* fix: the compatibility problem of IOS lower version

* Merge dev/0.6 branch (#574)

* feat: solve math design circular dependency (#488)

* feat: solve math design cirular dependency

* PhysX based raycast and collider (#505)

* feat: add physx version raycast and trigger
* feat: add  trigger event in script

* feat: Add InputManager (#497)

* feat:  add InputManager

* Fix InputManager's Bug which will be triggered when there is no physics engine. (#524)

* fix:InputManager modify timing

* Lite Physics Package (#522)

* feat: add physics lite package

* Refactor: split pbr shader  (#514)

* refactor: pbr shader clean up

* feat: add createCapsule in PrimitiveMesh (#515)

* feat: add createCapsule in PrimitiveMesh

* Feat: support read/write mipmap data from textures and render target (#382)

* feat: support render to mip level

* feat: support reading from texture with mip level

* Feat: hdr runtime (#523)

* feat: support IBL  HDR Specular

* perf: plane horizontal default (#535)

* perf(plane): plane horizontal default

* fix(plane): fix cull face (#537)

* fix(plane): fix uv error (#538)

* feat: add more uv channel and color (#548)

* Feat: Sprite add clone function. (#532)

* feat: sprite add clone function

* Add color space (#543)

* feat: add engine settings

* fix: opt code (#519)

* feat: modify physics-related class for editor (#547)

* feat: modify physics-related class for editor

* Merge main to dev/0.6 (#553)

* refactor: merge main to dev/0.6

* fix: bump verison (#557)

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* fix: shader error (#556)

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* feat/add AnimatorState script for handle animatorState's lifecycle (#552)

* feat: add `StateMachineScript`

* feat: support skybox with hdr(rgbe) format (#567)

* feat: add rgbm decode mode

* fix: color space correction (#566)

* fix: color space correction

* fix: bump version (#568)

* feat: change clipTime to normalized as same as  transitionTime for mo… (#560)

* feat: change clipTime to normalized as same as  transitionTime for more understandable

* feat: add method: addEvent overload (#559)

* feat: support ambient-light replacement (#569)

* feat: support ambient-light replacement

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>
Co-authored-by: GuoLei <gl3336563@163.com>

* Feat/ambient light adapter editor (#570)

* feat: adapter oasis editor with ambient light

* feat: add getCurrentAnimatorState API and fix crossfade time (#565)

* fix: use alipay cdn for physx wasm (#571)

* add wasm file (#572)

* fix: use alipay cdn for physx wasm

* fix: include wasm files

* Fix : the compatibility problem of IOS lower version (#573)

* fix: the compatibility problem of IOS lower version

Co-authored-by: yangfengzzz <yangfengzzz@hotmail.com>
Co-authored-by: AZhan <njktsmshh@163.com>
Co-authored-by: zhuxudong <callzhuxudong@163.com>
Co-authored-by: JujieX <67930474+JujieX@users.noreply.github.com>
Co-authored-by: singlecoder <singlecoder2014@gmail.com>
Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>
Co-authored-by: luzhuang <364439895@qq.com>

* v0.6.0-alpha.0

* refactor: fix physics package.json

* refactor: fix physics package.json (#575)

* v0.6.0-alpha.1

* feat: support env loader (#577)

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* fix: fix physcis update time and dynamic collider update (#578)

* feat: support env loader (#577) (#580)

* Feat/animator reset (#533)

* feat: add animator reset

* Merge latest dev/0.6 (#581)

* feat: support env loader (#577)
* feat: add animator reset

* feat: adapter env (#582)

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* feat: add rgbm switch (#584)

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* Feat/animator reset (#583)

* fix: bug fix

* fix: remove ms blob deprecated

* build: update typescript version

* feat: update background mesh

* refactor: add gc ignore

* Fix Background UV Error and Update TypeScript Version (#585)

* fix: update background mesh

* v0.6.0-alpha.2

* v0.6.0-alpha.3

* fix: dependencies package version (#588)

* Fix: the bug that inputmanager cannot be obtained (#589)

* fix: the bug that inputmanager cannot be obtained

* fix: package.json (#591)

* fix: the bug that inputmanager cannot be obtained (#592)

* fix: the bug that inputmanager cannot be obtained

* v0.6.0

* v0.6.1

* build: physics use oasis-engine dependency

* Change Dependency for Physics (#594)


* build: physics use oasis-engine dependency

* v0.6.2

* fix: use canvas  as control precision (#601)

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* v0.6.3

* fix: `worldToViewportPoint()` bug

* fix: `worldToViewportPoint()` bug (#603)

* fix: `screenToViewportPoint()` bug

* refactor: opt `viewportToWorldPoint` and `screenToWorldPoint`

* fix: comments

* fix: opt code

* refactor: opt code

* Merge branch 'main' of github.com:oasis-engine/engine

* refactor: opt code

* fix: raycast bug, global and local transform misused (#602)

* fix: set trilinear filter mode by default (#610)

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* fix: add  transparent channel (#611)

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* fix: front face bug

* refactor: fix code

* optimization viewportToWorldPoint and screenToWorldPoint (#604)

* fix: `worldToViewportPoint()` bug

* fix: `screenToViewportPoint()` bug

* refactor: opt `viewportToWorldPoint` and `screenToWorldPoint`

* fix: front face bug

* bump version

* bump version

* feat: add register and reflection object

* feat: add prefab parser

* Merge branch 'main' of github.com:oasis-engine/engine

* fix: front face bug

* Fix mesh render front face bug (#614)

* fix: front face bug

* fix: viewportToWorldPoint and worldToViewportPoint bug (#615)

* fix: `viewportToWorldPoint` and `worldToViewportPoint` bug and improve performance

* fix: resourceManager has't destory all cache

* Fix ResourceManager Has not Destoryed All Cache (#621)


* fix: resourceManager has't destory all cache

* Update README.md

chore: update links

* v0.6.4

* Fix asset destroy cache bug (#622)

* fix: glTF or Entity  destroy cache bug

* v0.6.5

* fix: cache promise is not clear

* Fix Loading Promise is not Clear (#623)

* fix: cache promise is not clear

* fix: entity cache bug

* refactor: add destroyed project

* fix: entity cache bug (#627)

* fix: entity cache bug

* v0.6.6

* refactor: delete deprecate code (#630)

* bump version

* feat: export prefabloader

* fix: dynamic explansion

* feat: add mipmap generate warn

* feat: add mipmap true

* feat: add pixel buffer

* fix: normal attributer is need in unlit (#637)

* fix: normal attributer is need in unlit

* fix: physx bug (#651)

* fix: physx bug

* fix: opt collider shape scale

* v0.6.7

* fix: get pixel buffer use mip level should right shift (#656)

Co-authored-by: gz65555 <kevin.hs@antgroup.com>

* Update AnimatorState.ts (#657)

fix: fix comment

* Rename `ability` to `component`. (#608)

* fix: resize max uniform vector count (#660)

* fix: resize max uniform vector count

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* Optimize the use of `Transform` API (#638)

* refactor: opt transform API

* fix(2d): can not update world position for sprite renderer when call … (#635)

* fix(2d): can not update wrold position for sprite renderer when call bounds in the same frame

* Merge latest main to dev/0.6 (#672)

* fix: normal attributer is need in unlit (#637)

* fix: normal attributer is need in unlit

* fix: physx bug (#651)

* fix: physx bug

* fix: opt collider shape scale

* v0.6.7

* fix: get pixel buffer use mip level should right shift (#656)

Co-authored-by: gz65555 <kevin.hs@antgroup.com>

* Update AnimatorState.ts (#657)

fix: fix comment

* Rename `ability` to `component`. (#608)

* fix: resize max uniform vector count (#660)

* fix: resize max uniform vector count

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* fix(2d): can not update world position for sprite renderer when call … (#635)

* fix(2d): can not update wrold position for sprite renderer when call bounds in the same frame

Co-authored-by: zhuxudong <callzhuxudong@163.com>
Co-authored-by: yangfengzzz <yangfengzzz@hotmail.com>
Co-authored-by: Hu Song <gz65555@gmail.com>
Co-authored-by: gz65555 <kevin.hs@antgroup.com>
Co-authored-by: luzhuang <364439895@qq.com>
Co-authored-by: Bob <768442443@qq.com>
Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>
Co-authored-by: singlecoder <singlecoder2014@gmail.com>

* fix: trigger event update (#673)

* fix: trigger event update

* refactor: remove Promise.finally (#671)

* refactor: remove Promise.finally

Co-authored-by: lizhigao <lizhigao@021.com>

* fix: ignore scale (#670)

* fix: camera ignore scale

* fix: use linear color space in gltf (#674)

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* Fix Background Draw (#675)

Co-authored-by: gz65555 <kevin.hs@antgroup.com>

* Fix transform bug (#678)

* fix: transform

* Fix: ModelMesh._indicesChangeFlag (#685)


* Fix: ModelMesh._indicesChangeFlag

* feat: non-trigger script and dynamic collider (#680)

* feat: non-trigger script and dynamic collider

* fix: break texcoor to avoid `_vertexSlotChanged` error (#684)

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* v0.6.8

* fix: rotation not normalized bug (#693)

* Offscreen canvas requires no input interaction. (#689)

* fix:InputManager when use OffScreenCanvas

* fix: scene romove entity bug (#698)

* feat: keyboardevent (#677)

* feat: keyboardevent

* fix: position is deleted from entity (#699)

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* feat: physics fix-time update (#700)

* feat: fix-time physics update

* feat: add physicsUpdate in Script

* Optimize: Optimize the lookat function of transform. (#701)

* fix:transform lookat

* fix: transoform `rotate` bug when `relativeToLocal` is true (#702)

* fix: wordRotationQuatenion bug (#703)

* Feat:The first version of text system (#686)

* feat(text): init TextRenderer

* fix: fix text renderer clone error (#716)

* fix(text): fix text renderer clone error

* Optimization texture structure (#715)

* feat: opt texture struct

* fix: script destroy bug (#720)

* fix: script destroy bug

* fix: make free control not depend on scene (#724)

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* Feat: support multi-uv and occlusion texture coordinate (#683)

* feat: support multi uv and occlusion texture coord

* Optimization physics init (#722)

* refactor: opt physics int

* fix: physics update order and destroy method (#727)

* feat: update engine version

* fix: physcis event remove when collider shape destroy (#738)

* fix: physcis event remove when collider shape destroy

* feat: add type watch

* feat: init all project

* build: remove init oasis

* physics test (#742)

* Fix RenderTaget type problem (#741)

* Test: text system (#740)

* feat(text): test for text renderer

* Fix unit test and compile bug (#746)

* fix: component unit test

* test: test for text renderer (#745)

* feat(text): fix test for text renderer

* FloatTexture version Blendshape  (#737)

* feat: add texture-2d-array and rename TextureCubeMap to TextureCube

* feat: opt blendshape animation and improve attribute version

* Opt ModelMesh code (#739)

* refactor: opt `ModelMesh` code

* refactor: opt code

* refactor: opt code (#747)

* refactor: use modelmesh encode buffer

* Feat: support load hdr to cubemap in RGBM format and invert x axis (#733)

* feat: add HDR loader

* Feat: support pbr clearcoat (#669)

* feat: support clearcoat

* feat: support  Specular  AA

* feat: animator play backwards (#730)

* feat: animator play backwward

* fix: constrain min shininess  to `1e-4` (#749)

* fix: constrain min shininess  to `1e-4`

* Add a ts-ignore (#679)

* types: add ts-ignore to XMLHttpRequestBodyInit because typedoc does not know it

* refactor: fix code

* refactor: opt code

* Merge latest `main` to `dev/0.7` (#751)

* refactor: merge latest `main` to `dev/0.7

* feat: update wasm version (#753)

* refactor:opt code

* Merge `dev/0.7` to `main` (#754)

* refactor: delete deprecate code (#630)

* Optimize the use of `Transform` API (#638)

* refactor: opt transform API

* Merge latest main to dev/0.6 (#672)

* fix: normal attributer is need in unlit (#637)

* fix: normal attributer is need in unlit

* fix: physx bug (#651)

* fix: physx bug

* fix: opt collider shape scale

* v0.6.7

* fix: get pixel buffer use mip level should right shift (#656)

Co-authored-by: gz65555 <kevin.hs@antgroup.com>

* Update AnimatorState.ts (#657)

fix: fix comment

* Rename `ability` to `component`. (#608)

* fix: resize max uniform vector count (#660)

* fix: resize max uniform vector count

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* fix(2d): can not update world position for sprite renderer when call … (#635)

* fix(2d): can not update wrold position for sprite renderer when call bounds in the same frame

Co-authored-by: zhuxudong <callzhuxudong@163.com>
Co-authored-by: yangfengzzz <yangfengzzz@hotmail.com>
Co-authored-by: Hu Song <gz65555@gmail.com>
Co-authored-by: gz65555 <kevin.hs@antgroup.com>
Co-authored-by: luzhuang <364439895@qq.com>
Co-authored-by: Bob <768442443@qq.com>
Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>
Co-authored-by: singlecoder <singlecoder2014@gmail.com>

* fix: trigger event update (#673)

* fix: trigger event update

* fix: ignore scale (#670)

* fix: camera ignore scale

* Fix transform bug (#678)

* fix: transform

* Fix: ModelMesh._indicesChangeFlag (#685)


* Fix: ModelMesh._indicesChangeFlag

* feat: non-trigger script and dynamic collider (#680)

* feat: non-trigger script and dynamic collider

* fix: rotation not normalized bug (#693)

* Offscreen canvas requires no input interaction. (#689)

* fix:InputManager when use OffScreenCanvas

* feat: keyboardevent (#677)

* feat: keyboardevent

* feat: physics fix-time update (#700)

* feat: fix-time physics update

* feat: add physicsUpdate in Script

* Optimize: Optimize the lookat function of transform. (#701)

* fix:transform lookat

* fix: transoform `rotate` bug when `relativeToLocal` is true (#702)

* fix: wordRotationQuatenion bug (#703)

* Feat:The first version of text system (#686)

* feat(text): init TextRenderer

* fix: fix text renderer clone error (#716)

* fix(text): fix text renderer clone error

* Optimization texture structure (#715)

* feat: opt texture struct

* fix: script destroy bug (#720)

* fix: script destroy bug

* Feat: support multi-uv and occlusion texture coordinate (#683)

* feat: support multi uv and occlusion texture coord

* Optimization physics init (#722)

* refactor: opt physics int

* fix: physics update order and destroy method (#727)

* fix: physcis event remove when collider shape destroy (#738)

* fix: physcis event remove when collider shape destroy

* physics test (#742)

* Fix RenderTaget type problem (#741)

* Test: text system (#740)

* feat(text): test for text renderer

* Fix unit test and compile bug (#746)

* fix: component unit test

* test: test for text renderer (#745)

* feat(text): fix test for text renderer

* FloatTexture version Blendshape  (#737)

* feat: add texture-2d-array and rename TextureCubeMap to TextureCube

* feat: opt blendshape animation and improve attribute version

* Opt ModelMesh code (#739)

* refactor: opt `ModelMesh` code

* refactor: opt code

* refactor: opt code (#747)

* Feat: support load hdr to cubemap in RGBM format and invert x axis (#733)

* feat: add HDR loader

* Feat: support pbr clearcoat (#669)

* feat: support clearcoat

* feat: support  Specular  AA

* feat: animator play backwards (#730)

* feat: animator play backwward

* refactor: fix code

* refactor: opt code

* Merge latest `main` to `dev/0.7` (#751)

* refactor: merge latest `main` to `dev/0.7

* feat: update wasm version (#753)

* refactor:opt code

Co-authored-by: zhuxudong <callzhuxudong@163.com>
Co-authored-by: yangfengzzz <yangfengzzz@hotmail.com>
Co-authored-by: Hu Song <gz65555@gmail.com>
Co-authored-by: gz65555 <kevin.hs@antgroup.com>
Co-authored-by: luzhuang <364439895@qq.com>
Co-authored-by: Bob <768442443@qq.com>
Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>
Co-authored-by: singlecoder <singlecoder2014@gmail.com>
Co-authored-by: AZhan <njktsmshh@163.com>

* v0.7.0-beta.1

* Create release.yml

Add automatically generated release notes config file

* Update release.yml

* Update release.yml

* docs: update commit spec and change log config (#758)

* Update release.yml

* fix(animation): animator play error when blendShape count is 1 (#761)

* fix: animator play error when blendShape count is 1

* fix: lite box collider scale bug (#759)

* fix: lite box collider shape should scale the size of box instead use transform

* refactor: adapter to website (#764)

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* types(background): add export for BackgroundTextureFillMode (#768)

* fix(primitive-mesh): fix normal error for capsule cap (#762)

* fix(shader): not normalize normal bug(#769)

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* fix(input): Remove the onblur function register when the engine is destroyed (#770)

* Fix(Engine): destroy  bug cause by `requestAnimationFrame`(#771)

* v0.7.0-beta.2

* fix:  fix the order of layerState when AnimatorStatePlayState.Finished (#774)

* fix: the order of layerState when AnimatorStatePlayState.Finished #774

* fix: specular anti aliasing value (#773)

* fix: specular anti aliasing

* v0.7.0-beta.3

* fix: adapter all variable in miniprogram-adapter (#777)

* fix: struct in shader must init value in alipay miniprogram (#775)

* fix: struct in shader must init value in miniprogram

* v0.7.0-beta.4

* refactor: remove console

* refactor: add math serialize

* refactor: add model mesh serialize

* refactor: add scene loader

* refactor: delete schema parser

* refactor: add scene loader

* refactor: add index

* refactor: fix types error

* Update README.md

* Update README.md

* Update README.md

* Add component denpendent decorator (#796) (#807)

* feat: add `dependentComponents` decorator

* fix(Renderer): destroy crash when material is null (#808)

* Improve BlendShape when use attribute mode (#804)

* feat: improve BlendShape when use attribute mode

* v0.7.0-beta.5

* refactor: remove useless import

* fix: fixed the bug of animator revert when blendWeight length exceeds 4 (#817)

* fix: fixed the bug of animator revert when blendWeight length exceeds 4

* v0.7.0-beta.6

* fix(text): fix horizontal and vertical alignment error (#772)

* fix(text): fix horizontal alignment error

* Fix crossFade bug when two AnimatorState use one AnimationClip (#766)

* fix: crossFade bug when two AnimatorState use one AnimationClip #766
Co-authored-by: wz84888 <wz84888@antgroup.com>

* types: export `BoolUpdateFlag` type (#822)

* types: export `BoolUpdateFlag` type

* refactor: clear import (#825)

* Improve ShaderData Macro feature (#823)

* feat: add macros property for ShaderData
* fix: fix bug when `enableMacro` and `disableMacro`

* feat: export animation type

* refactor: bump version

Co-authored-by: GuoLei <gl3336563@163.com>
Co-authored-by: yangfengzzz <yangfengzzz@hotmail.com>
Co-authored-by: singlecoder <singlecoder2014@gmail.com>
Co-authored-by: zhuxudong <callzhuxudong@163.com>
Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>
Co-authored-by: luzhuang <364439895@qq.com>
Co-authored-by: JujieX <67930474+JujieX@users.noreply.github.com>
Co-authored-by: AZhan <njktsmshh@163.com>
Co-authored-by: Bob <768442443@qq.com>
Co-authored-by: gz65555 <kevin.hs@antgroup.com>
Co-authored-by: Cleam Lee <lizhigao1231@163.com>
Co-authored-by: lizhigao <lizhigao@021.com>
Co-authored-by: susiwen8 <susiwen8@gmail.com>
@GuoLei1990 GuoLei1990 deleted the temp/opt-transform branch July 28, 2022 08:11
luzhuang pushed a commit to luzhuang/engine that referenced this pull request Sep 6, 2022
* refactor: opt transform API
luzhuang added a commit to luzhuang/engine that referenced this pull request Sep 6, 2022
* refactor: delete deprecate code (galacean#630)

* Optimize the use of `Transform` API (galacean#638)

* refactor: opt transform API

* Merge latest main to dev/0.6 (galacean#672)

* fix: normal attributer is need in unlit (galacean#637)

* fix: normal attributer is need in unlit

* fix: physx bug (galacean#651)

* fix: physx bug

* fix: opt collider shape scale

* v0.6.7

* fix: get pixel buffer use mip level should right shift (galacean#656)

Co-authored-by: gz65555 <kevin.hs@antgroup.com>

* Update AnimatorState.ts (galacean#657)

fix: fix comment

* Rename `ability` to `component`. (galacean#608)

* fix: resize max uniform vector count (galacean#660)

* fix: resize max uniform vector count

Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>

* fix(2d): can not update world position for sprite renderer when call … (galacean#635)

* fix(2d): can not update wrold position for sprite renderer when call bounds in the same frame

Co-authored-by: zhuxudong <callzhuxudong@163.com>
Co-authored-by: yangfengzzz <yangfengzzz@hotmail.com>
Co-authored-by: Hu Song <gz65555@gmail.com>
Co-authored-by: gz65555 <kevin.hs@antgroup.com>
Co-authored-by: luzhuang <364439895@qq.com>
Co-authored-by: Bob <768442443@qq.com>
Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>
Co-authored-by: singlecoder <singlecoder2014@gmail.com>

* fix: trigger event update (galacean#673)

* fix: trigger event update

* fix: ignore scale (galacean#670)

* fix: camera ignore scale

* Fix transform bug (galacean#678)

* fix: transform

* Fix: ModelMesh._indicesChangeFlag (galacean#685)


* Fix: ModelMesh._indicesChangeFlag

* feat: non-trigger script and dynamic collider (galacean#680)

* feat: non-trigger script and dynamic collider

* fix: rotation not normalized bug (galacean#693)

* Offscreen canvas requires no input interaction. (galacean#689)

* fix:InputManager when use OffScreenCanvas

* feat: keyboardevent (galacean#677)

* feat: keyboardevent

* feat: physics fix-time update (galacean#700)

* feat: fix-time physics update

* feat: add physicsUpdate in Script

* Optimize: Optimize the lookat function of transform. (galacean#701)

* fix:transform lookat

* fix: transoform `rotate` bug when `relativeToLocal` is true (galacean#702)

* fix: wordRotationQuatenion bug (galacean#703)

* Feat:The first version of text system (galacean#686)

* feat(text): init TextRenderer

* fix: fix text renderer clone error (galacean#716)

* fix(text): fix text renderer clone error

* Optimization texture structure (galacean#715)

* feat: opt texture struct

* fix: script destroy bug (galacean#720)

* fix: script destroy bug

* Feat: support multi-uv and occlusion texture coordinate (galacean#683)

* feat: support multi uv and occlusion texture coord

* Optimization physics init (galacean#722)

* refactor: opt physics int

* fix: physics update order and destroy method (galacean#727)

* fix: physcis event remove when collider shape destroy (galacean#738)

* fix: physcis event remove when collider shape destroy

* physics test (galacean#742)

* Fix RenderTaget type problem (galacean#741)

* Test: text system (galacean#740)

* feat(text): test for text renderer

* Fix unit test and compile bug (galacean#746)

* fix: component unit test

* test: test for text renderer (galacean#745)

* feat(text): fix test for text renderer

* FloatTexture version Blendshape  (galacean#737)

* feat: add texture-2d-array and rename TextureCubeMap to TextureCube

* feat: opt blendshape animation and improve attribute version

* Opt ModelMesh code (galacean#739)

* refactor: opt `ModelMesh` code

* refactor: opt code

* refactor: opt code (galacean#747)

* Feat: support load hdr to cubemap in RGBM format and invert x axis (galacean#733)

* feat: add HDR loader

* Feat: support pbr clearcoat (galacean#669)

* feat: support clearcoat

* feat: support  Specular  AA

* feat: animator play backwards (galacean#730)

* feat: animator play backwward

* refactor: fix code

* refactor: opt code

* Merge latest `main` to `dev/0.7` (galacean#751)

* refactor: merge latest `main` to `dev/0.7

* feat: update wasm version (galacean#753)

* refactor:opt code

Co-authored-by: zhuxudong <callzhuxudong@163.com>
Co-authored-by: yangfengzzz <yangfengzzz@hotmail.com>
Co-authored-by: Hu Song <gz65555@gmail.com>
Co-authored-by: gz65555 <kevin.hs@antgroup.com>
Co-authored-by: luzhuang <364439895@qq.com>
Co-authored-by: Bob <768442443@qq.com>
Co-authored-by: shensi.zxd <shensi.zxd@alibaba-inc.com>
Co-authored-by: singlecoder <singlecoder2014@gmail.com>
Co-authored-by: AZhan <njktsmshh@163.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design engine design high priority High priority issue
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants