• <nav id="yisao"><rt id="yisao"></rt></nav>
  • hero-image
    2020.09.29

    V1.2.0版本

    發布時間: 2020.09.29

    Creator 3D v1.2 版本是 2D 和 3D 引擎融合前最后也是最重要的一次大版本更新,Cocos Creator 3D 這條支線也將停止在 v1.2.x 版本上。在 2020 最后的幾個月內,我們將盡全力帶給大家 2D 和 3D 融合后的 Cocos Creator v3.0 版本。在保障 3D 引擎平滑升級和原生性能大幅度提升的前提下,還會延續 Creator v2.x 在 2D 游戲領域的既有優勢。屆時 Creator 引擎將涅槃重生,開啟我們最為重要的新旅程:將 Cocos Creator 打造為世界級游戲引擎。

    重大功能更新

    編輯器插件系統

    Cocos Creator 3D 的編輯器在 Creator 2.x 的基礎上做了大幅度的升級,其中最重要的升級就是編輯器框架重構為更徹底的微內核模式,幾乎所有功能模塊都是以插件形式存在于編輯器中。所以 3D 引擎從誕生之初就是天然支持插件擴展的,只是由于各個模塊消息和插件機制的整理進度,所以之前版本中一直都沒有開放插件體系給開發者。在最新的 v1.2 版本中,我們完成了基礎的插件機制文檔和各個模塊的插件接口、消息等,所以終于可以開放給開發者們,滿足大家定制工作流的需求。

    新建一個插件非常簡單,只需要在擴展菜單中創建即可。擴展管理器中則可以管理所有擴展插件,你可以將擴展插件設置為全局或者是僅當前項目生效。

    對插件開發感興趣的開發者可以關注下面兩個文檔鏈接:

    在 v3.0 版本中,我們的插件商店也將迎來升級,同時包含 2.x 和 3.x 版本的插件,也會投注更大的努力在插件生態體系上,幫助開發者通過插件獲得收入。

    光影增強

    在之前的 Creator 3D 版本中,我們對光影的支持還不夠完善,僅能夠支撐一些較簡單的項目需求,具體限制是有兩點:

    1. 同一視角下,動態光源只允許兩盞
    2. 陰影只支持 Planar Shadow 平面投影

    而在 v1.2 中,引擎對光源和陰影都做了重構和升級,目前已完成

    1. 基于多 Pass 的多光源支持,不過主方向光仍然只支持一盞
    2. 基于 Shadow Map 的方向光動態陰影,使用方式和之前的 Planar Shadow 平面陰影保持一致
    3. Shadow Map 支持 pcf 軟陰影
    4. 光源和陰影的渲染都支持 GPU Instancing 合批

    Shadow Map 陰影功能和之前版本中的 Planar Shadow 功能合并在場景的全局陰影選項中,開發者可以自由選擇使用何種陰影,Planar Shadow 性能更好但只支持平面,Shadow Map 支持向所有物體上投射陰影。在 v1.2 的未來小版本還會對聚光燈支持 Shadow Map 動態陰影,也會加強陰影計算的范圍自適應等功能。

    編輯器內游戲預覽

    v1.2 新增了 Game View 預覽視圖,支持在編輯器內直接運行游戲。開發者在頂部主工具欄的預覽按鈕左側可以找到一個新的預覽模式選擇下拉框,可以選擇使用瀏覽器或 Game View 進行預覽。在 Game View 預覽的狀態下,場景編輯器、屬性面板下的所有操作都會被實時更新到 Game View 窗口中。

    也可以使用暫停按鈕進行實時調試,使用步進按鈕逐幀執行。

    物理模塊增強

    與動畫模塊一樣,物理模塊的功能也在不斷的增強之中,v1.2 之中我們基本補全了游戲中需要的剛體碰撞體,并且開始添加各種約束組件的支持,對物理類游戲的支持得到了極大地增強。下面是具體的新功能:

    • 物理碰撞組獨立使用 PhysicsSystem.PhysicsGroup 類型,不再與 Node.Layers 共享分組配置
    • 項目配置中添加物理碰撞組設置面板
    • 添加單形、圓錐、平面、地形等碰撞體
    • 添加點到點、鉸鏈約束組件
    • 網格碰撞器添加凸包近似功能
    • 碰撞體添加獲取包圍盒和包圍球的接口
    • 優化物理事件
    • 重構碰撞點數據

    以下為控制人物在地形上行走的演示:

    構建系統優化

    構建系統的優化項主要是以下幾點:

    • 開放自定義構建插件,可以參考插件系統中的構建插件文檔
    • 引擎支持構建成文件分離的多模塊結果,這將帶來以下多個好處:引擎多模塊并發加載、動態加載模塊、微信引擎插件支持選擇不同物理引擎后端
    • 構建結果的 settings.js 改為 settings.json,并放置在 res 下,允許作為資源上傳服務器
    • 構建任務原來的查看構建配置已經換為修改構建配置,直接修改就會保存記錄
    • 構建平臺選擇上拆分了原有的 Native 平臺,方便定制構建流程,輸出結果與之前一致

    動畫編輯器體驗優化

    動畫編輯器是我們一直在持續優化的重要模塊,本次 v1.2 又完成了新一輪體驗上的優化,具體優化如:

    • 支持節點樹面板中節點的搜索與顯示過濾
    • 支持復制粘貼節點上的所有動畫數據
    • 動畫編輯器的復制粘貼改為使用系統剪貼板,支持跨編輯器的復制粘貼動畫數據(節點、軌道以及關鍵幀)
    • 支持多選節點后批量添加屬性軌道
    • 關鍵幀選取和取消選取操作優化(Ctrl + 鼠標點擊選中關鍵幀可取消選中)
    • 動畫編輯器支持多選關鍵幀后繼續點擊編輯曲線或者選中未選中關鍵幀

    在這些優化基礎上,動畫編輯工作的效率將得到更大的提升,比如多選節點后,批量添加關鍵幀,在 Inspector 中批量編輯關鍵幀動畫數據,可以輕松同步屬性的修改到不同節點上;再比如從某個編輯好的節點上復制粘貼完整動畫數據到另一個節點上。

    具體動畫編輯器的所有使用細節可以參考使用文檔。

    腳本系統優化

    在腳本系統方面,v1.2 完成了引擎分模塊導出,這樣做的好處主要有兩個:第一,提高加載引擎過程中的并發數量,優化加載時間;第二,支持子模塊的動態導入,以物理模塊為例,目前已支持 wasm 和 asm.js 版本的動態選擇,在支持 WebAssembly 的環境中直接加載 wasm 格式的 ammo 庫(bullet),其他環境下自動加載兼容性更好的 asm.js 格式 ammo 庫(bullet)。

    除此之外,我們也優化了編輯器中腳本編譯的性能,尤其是對存在大量腳本的項目,可以大幅度提高腳本更改時的效率。同時,預覽項目也會應用項目設置中的引擎模塊選擇,加強了預覽和構建體驗的統一性。

    支持 ASTC 壓縮紋理

    v1.2 新增 ASTC 壓縮紋理支持,相比于 ETC 和 PVR 等傳統壓縮紋理格式,ASTC 是功能和性能都更優秀的下一代移動端壓縮紋理統一標準。在 v1.2 中,我們還優化了壓縮紋理的配置方式,在項目配置中開發者可以建立壓縮紋理的預設配置,貼圖的配置中只需要選擇預設即可,大大節省了之前需要逐貼圖配置的時間。

    此外,在不支持 ASTC 和 ETC2 這類先進壓縮紋理的環境下,我們也專門為 2D 和 UI 的半透明貼圖支持了透明通道分離的壓縮紋理格式。參考壓縮紋理使用文檔。

    全局霧效

    這是一個本來計劃在 v1.1.1 中添加的功能,但引擎組出于對穩定性的負責任態度,我們決定未來不在第三位小版本中添加功能,所以被延期到 v1.2 中。目前的霧效功能是采用頂點著色器來計算混合因子并用于片元著色器中的顏色混合,除了支持常規的 Linear、Exponential、Exponential Square 霧化處理算子以外,還支持了 Layered 處理算子。使用上只需要在場景節點上,進行全局霧效的配置即可。

    具體使用請參考全局霧使用文檔。

    合并部分 Creator 主版本功能

    我們已經開始合并部分 Creator v2.x 主版本的功能,為 v3.0 做準備,下面是 v1.2 階段已經完成的功能合并:

    • 統一組件命名風格,請參考 API 變動章節
    • ScrollView 和 PageView 組件的修復和功能
    • Toggle 和 ToggleContainer 組件的修復和功能
    • RichText 組件的修復和功能
    • EditBox 組件的修復和優化
    • Graphics 組件優化
    • Tween 模塊功能和行為同步

    可視化 Macro 配置

    很多開發者可能用過引擎中的內置宏配置:cc.macro,之前的使用仍然有諸多不便,比如有一部分需要在引擎啟動前設置才能夠生效;引擎的啟動流程修改也偶爾會改變設置時機和行為。為了解決設置宏配置的麻煩,我們在編輯器的項目配置中直接支持了可視化配置,參考項目設置文檔的引擎宏配置章節。

    模型資源預覽

    編輯器中選中模型后可以對模型資源進行全方位預覽,也可以查看默認材質中使用的各種貼圖。

    在未來的版本中我們還會支持骨骼動畫的預覽方便做裁切。

    渲染層重構

    從今年年初開始,我們已經加大了對原生渲染器的研發投入,即將在 v3.0 中推出高性能的多后端渲染器。不僅兼容 Vulkan、Metal 等現代渲染后端,在渲染管線層面也盡可能為了發揮現代渲染后端的性能做了大量重構,這些重構也在 v1.2 中落地了一部分,比如多層 Descriptor Set 抽象取代 BindingLayout;支持 Dynamic uniform buffer 機制;Pipeline State Object 的底層復用;資源化渲染管線。這些重構讓渲染層更加健壯,也為高性能的原生渲染器做好了準備,敬請期待今年底即將發布的 v3.0。

    暴露地形和 2D 組件材質選項

    從 v1.2 開始,我們開放了地形組件和 2D 渲染組件的材質屬性,所以大家可以自己制作材質并替換。對于地形,只需要在 Terrain 組件上設置 effect 資源。而對于 Sprite 等 2D 渲染組件,也只需要在組件屬性面板上設置默認的 Material 資源。


    API 變動和 Breaking changes

    1. 組件類名大規模重構

    為了符合 Cocos Creator v2.x 的 API 規范,我們將 3D 中組件類名包含 Component 后綴這樣的命名方式舍棄了,并做了數據的自動升級和代碼的兼容,請放心升級。不過建議開發者還是要在代碼中搜索所有類似命名方式的使用,并盡快更改為無 Component 后綴的類名??梢允褂孟旅嬲齽t表達式進行全局搜索(打開大小寫敏感和正則匹配)

    ([A-Z]\w+)Component

    比對照下面的表格進行重命名:

    < v1.2v1.2
    ModelComponentMeshRenderer
    SkinningModelComponentSkinnedMeshRenderer
    BatchedSkinningModelComponentSkinnedMeshBatchRenderer
    CameraComponentCamera
    AudioSourceComponentAudioSource
    DirectionalLightComponentDirectionalLight
    SphereLightComponentSphereLight
    SpotLightComponentSpotLight
    LightComponentLight
    AnimationComponentAnimation
    SkeletalAnimationComponentSkeletalAnimation
    ParticleSystemComponentParticleSystem
    BillboardComponentBillboard
    LineComponentLine
    RigidBodyComponentRigidBody
    BoxColliderComponentBoxCollider
    SphereColliderComponentSphereCollider
    CapsuleColliderComponentCapsuleCollider
    CylinderColliderComponentCylinderCollider
    ConeColliderComponentConeCollider
    PlaneColliderComponentPlaneCollider
    TerrainColliderComponentTerrainCollider
    MeshColliderComponentMeshCollider
    UITransformComponentUITransform
    UIModelComponentUIMeshRenderer
    CanvasComponentCanvas
    SpriteComponentSprite
    LabelComponentLabel
    GraphicsComponentGraphics
    WidgetComponentWidget
    ButtonComponentButton
    MaskComponentMask
    ScrollViewComponentScrollView
    ScrollBarComponentScrollBar
    PageViewComponentPageView
    PageViewIndicatorComponentPageViewIndicator
    SliderComponentSlider
    ToggleContainerComponentToggleContainer
    ToggleComponentToggle
    RichTextComponentRichText
    LayoutComponentLayout
    UIStaticBatchComponentUIStaticBatch
    UIOpacityComponentUIOpacity
    LabelOutlineComponentLabelOutline
    ProgressBarComponentProgressBar
    EditBoxComponentEditBox
    BlockInputEventsComponentBlockInputEvents
    UICoordinateTrackerComponentUICoordinateTracker
    SafeAreaComponentSafeArea
    ViewGroupComponentViewGroup
    RenderComponentUIRenderable

    與此同時,原本在根命名空間下的一些內部類被遷移到子命名空間下:

    < v1.2v1.2
    Modelscene.Model
    SubModelscene.SubModel
    DirectionalLightscene.DirectionalLight
    SphereLightscene.SphereLight
    SpotLightscene.SpotLight
    Lightscene.Light
    Camerascene.Camera
    SkinningModelmodels.SkinningModel
    BakedSkinningModelmodels.BakedSkinningModel
    MorphModelmodels.MorphModel

    2. 廢棄節點上 UI 相關接口

    被廢棄的接口如下:

    • 屬性:width、height、anchorX、anchorY
    • 方法:getAnchorPoint、setAnchorPoint、getContentSize、setContentSize

    請先獲取節點上的 UITransform 組件,再使用對應的接口,比如

    node.getComponent(UITransform).setContentSize(size);

    3. 標準材質小修改

    標準材質中刪除 PBR 貼圖自定義通道的功能,只接受 glTF 標準定義的通道排布,即 RGB 分別對應 occlusion、roughness、metallic。如有使用其他排布組合請升級貼圖資源。


    部分重要更新

    由于 v1.2 開發周期較長,包含了數百個大小不同的修改記錄,所以在此僅簡要列出部分較重要的修改列表供參考。

    編輯器更新

    • 增加小秘書入口
    • 新增模型線框功能,在場景窗口右上角有一個工具按鈕,點擊后可以開啟線框顯示
    • 立方體貼圖現在將支持從一張包含了 6 面的圖像中導入(按特定順序排列)
    • 插件化 preferences,支持插件內定義數據,自動渲染到 preferences 面板
    • 新增設備管理器,可以自定義預覽設備的分辨率(在 preferences 里)
    • 插件化 project,支持插件內定義數據,自動渲染到 project 面板
    • 新增 Message List,顯示插件對外開放的消息列表,點擊“開發者”菜單項的“消息列表”即可打開
    • 新增 Shortcuts 功能,允許自定義快捷鍵,點擊“Cocos Creator”主菜單項的“快捷鍵”即可打開
    • Inspector 增加離開時自動保存配置,離開正在編輯的資源的時候自動保存(不配置的時候會彈窗)
    • 腳本導入之前按字典序排序,不再是隨機順序
    • 當構建到原生類平臺時,將匹配目標 JavaScript 運行環境來編譯腳本,比如 ES6
    • 內置 Mesh Optimizer 工具到模型資源界面
    • 支持導入包含空 Mesh 的模型
    • 減少烘焙庫運行的內存占用
    • 內置 primitives 模型支持烘焙 Light map 接受烘焙陰影

    引擎更新

    • 渲染管線資源化重構,優化序列化數據結構
    • 在 instantiate 和 addComponent 失敗的時候不再返回 null,而是直接報錯給用戶處理
    • 修復多點觸摸時不會派發所有觸摸點的問題
    • 增加 sys.getSafeAreaRect 方法,用來獲取手機屏幕的安全顯示區域
    • 補充 Morph target 在快游戲等平臺上的實現(除支付寶小游戲)
    • 優化 Light map 接縫處的漏光現象
    • Light map 支持 instancing 合批

    注意事項

    Xcode 12 更新后,我們臨時發現工程上有一些小問題,在 iOS 模擬器上運行會報錯,主要是因為架構選擇中沒有包含 X86 架構,大家可以在 Xcode iOS 工程配置中刪除 VALID_ARCHS(在 Xcode 12 中已被棄用)。

    2020.08.11

    V1.1.2版本

    發布時間: 2020.08.11

    v1.1.2 版本是 v1.1.x 規劃內最后一個穩定版本,我們在 v1.1.1 的基礎上做了一系列優化和修復,進一步提升 3D 引擎的穩定性。除此之外,最重要的更新是帶來了字節跳動小游戲平臺的支持,字節跳動小游戲平臺已成為國內眾多小游戲渠道中極具吸引力的頭部渠道。在我們的論壇中就有很多開發者已經翹首期盼多時,不斷在詢問我們對字節跳動小游戲的支持情況,我們也很高興在和字節跳動官方合作對接后,將這個平臺的正式支持帶給開發者們。

    重要更新說明

    支持字節跳動平臺

    繼 Cocos Creator v2.4.2 之后,Cocos Creator 3D 也完成了對字節跳動小游戲平臺的支持。字節小游戲基于字節跳動全產品矩陣開發,包含 今日頭條、抖音及今日頭條極速版,無需下載,點開即玩,與圖文、短視頻等內容有著天然的增強和協同作用。字節跳動全產品矩陣以內容分發為核心,通過內容帶動小游戲分發,由內容為小游戲帶量以及裂變。目前已有十分豐富的應用場景,在自然搜索、feed 流、個人主頁、小視頻、視頻評論區等地方均有流量入口,詳細說明可參考《了解小游戲:流量入口概述》。在收入方面,字節小游戲目前已支持廣告及內購兩種變現方式。

    游戲項目升級到 v1.1.2 之后,即可通過構建時選擇字節跳動小游戲發布平臺來完成發布,詳細內容請參考發布到字節小游戲文檔。

    為了更好地服務字節開發者,我們還在論壇開辟了字節小游戲專區,請所有開發者統一到此專區或者 Cocos 小秘書中進行技術咨詢和反饋。這樣我們才可以匯總、整理常見問題,提升服務體驗。此外,Cocos 也會跟字節跳動繼續深入合作,為開發者輸送更豐富的字節小游戲平臺能力,傳遞字節小游戲平臺的全新政策,幫助開發者在字節小游戲平臺上收獲成功。

    后續版本預告

    在 v1.1 發布之后,我們除了持續對穩定性進行優化之外,引擎組的主力力量都集中在下一個重要的功能版本 v1.2 之上。令人興奮的 v1.2 近期就會在論壇開啟公測,在這里預告一些 v1.2 將要帶來的重要特性,希望到時候大家可以關注論壇幫助我們盡快將這個版本穩定下來。

    • 多 Pass 動態光源:解除之前只能有三個動態光源的限制,不過前向渲染中光源對于性能影響仍然很大,請謹慎使用
    • 方向光支持 ShadowMap 實時陰影
    • 渲染器資源化重構:為可編程渲染管線帶來更友好的接口和資源化配置能力
    • 物理功能強化:增加地形碰撞器;點、線、三角面、圓錐體等基礎碰撞器;物理碰撞組配置面板;部分約束支持
    • 場景編輯器重構和體驗優化
    • 支持模型線框顯示
    • 場景霧效
    • 編輯器插件機制公開:包含插件機制文檔和各個編輯器模塊的擴展文檔
    • 還有更多未公開的功能

    是不是已經迫不及待想要用上了!我們相信 v1.2 版本將大幅度提升 Cocos Creator 3D 的游戲開發能力,賦予開發者更大的想象空間!

    在 v1.2 版本之后,我們將暫時停止 3D 編輯器的功能開發,整個 Cocos 引擎團隊都將投入到 Creator 主版本和 3D 版本的合并工作中去,爭取在今年內為大家帶來完全統一的 Cocos Creator v3.0,提供大一統的 2D 和 3D 游戲開發體驗。屆時 Cocos Creator 3D 的游戲將可以直接升級到 v3.0,我們也會為 Cocos Creator 2.x 用戶提供完善的升級工具支持,同時 Cocos Creator 2.x 也會在一段較長的時間內持續維護,以支持那些不需要升級的成熟項目。

    詳細更新說明

    已知問題

    在微信小游戲平臺上,目前發現當使用微信引擎插件時,即便構建模塊中選擇 ammo 物理后端,運行時仍然使用的是 cannon 后端,這是因為微信在校驗時沒有識別出本地引擎和遠程引擎插件的差異導致的誤判。如果一定要使用 ammo 物理引擎,請關閉微信引擎插件即可。我們正在聯系微信團隊解決此問題。

    編輯器

    • [FEATURE] 支持構建字節跳動小游戲平臺
    • [IMPROVE] 取消腳本隨機導入順序的設定(讓腳本循環引用報錯更穩定)
    • [IMPROVE] 地形去除 Tile Size 對筆刷的影響,優化保存邏輯
    • [IMPROVE] 對地形最高高度進行限制避免溢出
    • [IMPROVE] Lightmap 烘焙時消除金屬度影響
    • [IMPROVE] 移除 game.ejs 的多余代碼
    • [FIX] 修復自動圖集在 resources 動態資源目錄下的處理(外部可以單獨引用小圖貼圖)
    • [FIX] 修復 Prefab 還原時根節點坐標等 Transform 數據會被還原的問題
    • [FIX] 修復 Inspector 中多次點擊 prefab 重置導致節點被取消關聯的問題
    • [FIX] 修復切換 Prefab 時編輯器 header 頭信息刷新問題
    • [FIX] 修復場景里偶現的將編輯器默認 Camera 顯示為 Gizmo 的問題
    • [FIX] 修復引擎模塊數據的啟動更新
    • [FIX] 修復勾選粒子數據剪裁選項后導致的構建問題
    • [FIX] 修復 clickEvent 循環刷新問題

    引擎

    • [CHANGES] 移除小游戲平臺上的 sys.browserType 信息,推薦使用 sys.platform
    • [IMPROVE] 支持模型和地形在開啟 Lightmap 情況下進行 instancing 合批
    • [FIX] 修復 iOS 10 WebGL 環境下的渲染問題
    • [FIX] 修復插屏沒有重置部分 GL 狀態的問題
    • [FIX] 修改 Eventify 中 ES7 API 的使用,兼容 ES5
    • [FIX] 修復靜止動畫(不包含動態幀)導致的 AnimationState.sample 錯誤
    • [FIX] 修復節點禁用狀態下的 Transform 修改沒有被應用的問題
    • [FIX] 修復 Web 平臺的引擎重啟邏輯
    • [FIX] 修復材質 hash 的計算
    • [FIX] 修復粒子拖尾模塊可能導致的一個 gl 報錯
    • [FIX] 修復骨骼動畫 Shader 中浮點數解碼問題
    • [FIX] 修復原生平臺圖片下載錯誤沒有捕獲的問題
    • [FIX] 修復 vivo 小游戲平臺下的環境判斷和啟動問題
    • [FIX] 修復 vivo 平臺陀螺儀事件響應問題
    • [FIX] 修復小游戲平臺(Huawei、OPPO、vivo、Cocos Play)的前后臺事件響應問題
    • [FIX] 修復支付寶調試工具中的插屏顯示問題
    2020.07.02

    V1.1.1版本

    發布時間: 2020.07.02

    重要更新說明

    1. 啟用 macro.CLEANUP_IMAGE_CACHE,開啟時會在貼圖上傳 GPU 后對 ImageAsset 主動進行釋放,降低內存開銷,默認開啟。

    2. 預覽和編輯器中默認開啟抗鋸齒(macro.ENABLE_WEBGL_ANTIALIAS)。

    3. 烘焙功能支持烘焙模型的 light map,啟用條件是模型的 mesh 數據包含兩套 uv(第二套 uv 用來訪問 light map),同時材質也需要勾選 lightmap 選項。烘焙功能的使用文檔也已更新。

    本圖中左邊有烘培效果,右邊沒有

    4. 預覽小窗完善:新增分辨率選擇與縮放,支持寬高比設置功能。

    5. Planar shadow 支持 instancing(與模型本身的 instancing 狀態同步),但對骨骼動畫貼圖布局有更嚴格的要求。

    6. 預烘焙骨骼動畫魯棒性提升,如果一個模型只會在預烘焙模式下播放動畫,運行時徹底刪除骨骼節點樹也能正常顯示了(對節點自身不包含動畫的情況有近似處理),可以作為極限優化包體的手段。

    7. 重構優化 EventTarget 實現,提供新的 Eventify 接口可以用來實現繼承基類的同時為子類添加 EventTarget 能力。

    class UserComponent extends Eventify(Component) { }

    同時我們也簡化了 EventTarget 的實現,去除了節點和組件對于自己注冊的所有目標的引用,避免循環引用。同時在派發事件是確保監聽者對象的有效性來避免出現事件回調中已經被銷毀的對象產生的問題。

    8. [Breaking] 為保持命名規范統一,Quat.lerp 改為普通線性插值,增加 Quat.slerp。

    9. 部分低端設備上不支持 Vertex Texture 或支持數量過少,無法開啟 GPU 粒子,并且導致 v1.1 編輯器渲染錯亂不可用。論壇發現不少類似的反饋,用戶只能回滾到 v1.0.4,目前該問題已修復,開發者們可以放心升級了。

    Editor

    • [FEATURE]烘焙功能支持烘焙模型的 light map
    • [FEATURE]支持快捷設置預覽場景
    • [FEATURE]預覽插件新增分辨率選擇與縮放
    • [FEATURE]預覽插件與預覽小窗寬高比設置功能
    • [FEATURE]場景攝像機配置窗口增加滾輪速度設置
    • [FEATURE]支持修改 light map 彈出框默認路徑
    • [FEATURE]粒子預覽小窗口支持多選粒子
    • [FEATURE]支持拖動 SpriteFrame 資源到節點樹或場景中直接生成 Sprite 節點
    • [FEATURE]插件偏好設置升級機制
    • [FEATURE]支持偏好設置自定義的預覽瀏覽器
    • [IMPROVE]更新構建流程實現和流程控制細節
    • [IMPROVE]優化 Widget 的編輯界面
    • [IMPROVE]增加 Widget 值鎖定功能
    • [IMPROVE]優化 TGA 貼圖支持
    • [IMPROVE]對編輯器和預覽環境默認開啟抗鋸齒
    • [IMPROVE]模型導入支持 quantized joints/weights
    • [IMPROVE]使用隨機端口啟動烘焙,避免任務沖突
    • [IMPROVE]新增場景面板支持復制粘貼刪除等快捷鍵,優化交互效果
    • [IMPROVE]同步 3d 和 2d 模式下網格顏色的設置
    • [IMPROVE]新開和刷新場景過程中保持選中節點狀態
    • [IMPROVE]屏蔽構建面板中 native 平臺的 Upside down 屏幕方向
    • [IMPROVE]優化地形編輯體驗和保存邏輯
    • [IMPROVE]對空項目數據遷移增加更多容錯
    • [IMPROVE]新建的場景保存時彈窗選擇保存路徑
    • [IMPROVE]增加項目配置中的 Layers 說明
    • [IMPROVE]編輯器環境下對 Game 派發的事件回調進行 try catch 保護避免回調代碼錯誤阻斷編輯器啟動流程
    • [IMPROVE]材質屬性面板中將合批選項提前到 Passes 外部
    • [IMPROVE]優化資源搜索窗口和折疊顯示效果
    • [IMPROVE]增加 prefab 數據還原中的容錯
    • [IMPROVE]整理并優化資源和層級面板的右擊菜單顯示和事件
    • [IMPROVE]層級,資源面板添加對頂層菜單:全選的支持
    • [IMPROVE]層級面板中復制節點的時候不再給節點名附加 copy 后綴
    • [IMPROVE]層級管理器 scene 節點右擊菜單上增加“定位到資源”,以便找到場景資源
    • [IMPROVE]優化減少長按 ctrl+v 帶來的粘貼頻率
    • [IMPROVE]動畫面板添加對頂層菜單:復制,粘貼,全選的支持
    • [IMPROVE]動畫編輯器支持移動關鍵幀的時候,可見區域跟隨移動
    • [IMPROVE]動畫編輯中在播放動畫時才開啟引擎主循環
    • [IMPROVE]進入動畫編輯器不觸發場景修改標記
    • [IMPROVE]動畫編輯器編輯事件或曲線的時候,屏蔽部分快捷鍵
    • [IMPROVE]TextureCube 貼圖面板操作體驗優化
    • [IMPROVE]添加命令行構建進程退出代碼
    • [IMPROVE]添加依賴資源丟失后構建的報錯提示
    • [IMPROVE]新建腳本資源時生成的類名改為大駝峰格式
    • [IMPROVE]對默認地形貼圖使用 mipmap 以減少噪點
    • [IMPROVE]優化一些 Gizmo 顯示效果
    • [IMPROVE]優化雙擊 Camera 節點后的聚焦距離
    • [IMPROVE]遷移 EditorCamera 組件到編輯器內部
    • [IMPROVE]完善 ESLint 規則,修復代碼問題
    • [IMPROVE]給 Toolbar 上的按鈕增加提示 tip
    • [IMPROVE]在“開發者”菜單內增加“幫助文檔”
    • [IMPROVE]增加部分組件的幫助文檔
    • [IMPROVE]禁止資源內置的 material 修改
    • [FIX]修復 AssetDB 的一些已知問題
    • [FIX]修復 glTF 模型的插槽檢測問題
    • [FIX]修復沒有 morph 的模型導入后 Mesh.struct.morph 字段卻不為空的問題
    • [FIX]修復構建壓縮紋理的相關處理(感謝天美反饋)
    • [FIX]修復批量復制節點時的刷新和數量錯誤
    • [FIX]修復模型 prefab 節點重新關聯 prefab 失效的問題
    • [FIX]修復模型節點從 prefab 資源還原導致的數據丟失問題
    • [FIX]修復模型使用外掛貼圖的時候,inspector 顯示資源丟失的問題
    • [FIX]修復搜索列表中雙擊資源和重新定位資源的問題
    • [FIX]修復資源縮略圖在資源重新導入的時候不更新的問題
    • [FIX]修復 FBX 資源擴展名大寫并且開啟 dumpMaterial 的舊項目會丟失資源的問題
    • [FIX]修復 mtl 資源導入可能卡住的問題
    • [FIX]修復 mtl 遷移錯誤以及嵌套子資源錯誤的問題
    • [FIX]修復材質中部分 effect 資源沒有 instancing 的報錯問題
    • [FIX]修復 effect 錯誤的情況下,場景啟動可能錯誤的問題
    • [FIX]修復資源管理器的 effect 資源覆蓋時出現報錯
    • [FIX]修復拖拽組件腳本資源到節點上的 bug
    • [FIX]無名稱節點拖為 prefab 時自動設置默認名稱
    • [FIX]修復刪除當前場景資源后,無法保存當前場景的問題
    • [FIX]修復中文 ttf 字體無法導入的問題
    • [FIX]修復編輯器構建功能不支持自定義原生引擎的問題
    • [FIX]增加構建面板導入舊版本配置時候的容錯處理
    • [FIX]修復自定義原生引擎部分文件拷貝錯誤
    • [FIX]修復桌面瀏覽器預覽時界面旋轉按鈕不生效的問題
    • [FIX]調整動畫編輯器數據更新邏輯
    • [FIX]修復退出動畫編輯模式時沒有關閉曲線、事件編輯器的問題
    • [FIX]修復動畫編輯器鼠標上移狀態下復制關鍵幀無效問題
    • [FIX]修復動畫編輯器切換 clip 后數據可能不更新的問題
    • [FIX]修復動畫編輯器播放狀態的 Bug
    • [FIX]修復動畫編輯器的選中、編輯狀態管理
    • [FIX]修復動畫編輯器長按移動關鍵幀、事件幀功能
    • [FIX]修復動畫編輯器自動偏移畫布計算錯誤,以及使用快捷鍵移動關鍵幀的偏移問題
    • [FIX]修復動畫編輯器框選關鍵幀以及對應操作優化
    • [FIX]修復動畫編輯器 alt 快捷鍵復制多個關鍵幀位置偏差與屬性列表底色顯示問題
    • [FIX]修復節點上動畫 clip 數據變動時動畫編輯器的同步更新問題
    • [FIX]動畫編輯器中為丟失節點添加展開容錯以及屬性軌道容錯
    • [FIX]修復動畫插值曲線可能不起效的問題
    • [FIX]修復事件編輯自動保存,事件編輯時屏蔽關鍵幀移動
    • [FIX]修復第二次將動畫編輯器面板放入編輯器內后無法顯示線條的問題
    • [FIX]修復動畫編輯器當前關鍵幀數顯示
    • [FIX]修復動畫編輯模式下修改腳本后的 undo reset 報錯
    • [FIX]修復在動畫編輯模式下場景刷新后無法正常使用的問題
    • [FIX]修復動畫編輯器中同時選中多個節點上的關鍵幀并間隔排列,只對當前選中節點生效的問題
    • [FIX]修復動畫編輯中從選中節點狀態切換到未選中狀態,屬性關鍵幀數據殘留的問題
    • [FIX]修復動畫編輯器一些特殊操作導致的時間軸偏移問題
    • [FIX]修復動畫編輯器內直接修改屬性值的時候,場景節點沒有及時更新的問題
    • [FIX]修復動畫編輯器關鍵幀無效的問題以及復制數據被刪除后不允許粘貼操作
    • [FIX]修復曲線數據序列化問題
    • [FIX]修復添加 ui 節點生成了 canvas 但沒有掛載實際組件的問題
    • [FIX]修復繪制凹下地形后 undo 重新繪制的是隆起地形問題
    • [FIX]修復地形圖塊不是 1x1 的情況下復制時報錯問題
    • [FIX]修復關閉場景時保存地形資源沒有等待的問題
    • [FIX]修復清空光照貼圖未能立即清空烘焙輸出的文件夾
    • [FIX]修復相機小窗曝光參數不同步的問題
    • [FIX]修復 Joint Texture 配置界面沒有選中 texture 的時候點擊新建 Joint 報錯
    • [FIX]修復 Joint Texture 配置界面無法滾動的問題
    • [FIX]修復編輯器頂部預覽按鈕區域設置的初始場景無效的問題
    • [FIX]修復地形資源保存可能出現的問題
    • [FIX]修復在 Terrain 組件屬性面板內新建地形資源,操作窗口不會出現的問題
    • [FIX]修復 Light map 序列化失敗的問題
    • [FIX]修復 Light map 生成后無法被設置到地形或模型上的問題
    • [FIX]地形節點在 light map 烘焙后加入 undo 記錄
    • [FIX]修復面板拖拽抖動的問題
    • [FIX]面板刷新時增加容錯機制,避免 loading 狀態不消失
    • [FIX]修復網格縮放的問題
    • [FIX]修復默認場景的光源朝向
    • [FIX]修復偏好設置中 console 字體大小設置導致報錯的問題
    • [FIX]修復小部分多語言細節
    • [FIX]修正 mac 上右鍵菜單偏移的問題
    • [FIX]修復部分組件的參考文檔鏈接失效問題
    • [FIX]修復烘培后接著移動,撤銷會將烘培結果一起撤銷的問題
    • [FIX]修復場景相機在某些特殊情況下會旋轉的問題
    • [FIX]修復九宮格編輯器能夠??康酱翱诘膯栴}
    • [FIX]修復選中子節點的時候撤銷父節點坐標修改,選中框沒有更新的問題
    • [FIX]修復重置布局后動畫編輯器顯示正在等待加載的問題
    • [FIX]修復在 resources 文件夾內使用自動合圖,動態加載的時候會報錯的問題
    • [FIX]修復在編輯器內無法把 ttf 字體賦給 richText 的問題

    Engine

    • [FEATURE]Planar shadow 支持 instancing(與模型本身的 instancing 狀態同步),但對骨骼動畫貼圖布局有更嚴格的要求
    • [FEATURE]新增 SpriteFrame.createWithImage 方法支持用 ImageSource 或 ImageAsset 來快捷創建 SpriteFrame
    • [FEATURE]啟用 macro.CLEANUP_IMAGE_CACHE,開啟時會在貼圖上傳 GPU 后對 ImageAsset 主動進行釋放,降低內存開銷,默認開啟
    • [IMPROVE]重構優化 EventTargets 實現
    • [IMPROVE]支持添加多個方向光源(只有一個會生效),刪除當前主方向光源時主光源會自動切換到存在的其他方向光源(感謝 Hago 團隊反饋)
    • [IMPROVE]預烘焙骨骼動畫魯棒性提升,如果一個模型只會在預烘焙模式下播放動畫,運行時徹底刪除骨骼節點樹也能正常顯示了(對節點自身不包含動畫的情況有近似處理),可以作為極限優化包體的手段(感謝光子團隊反饋)
    • [IMPROVE]骨骼動畫支持使用歐拉角作為旋轉曲線
    • [IMPROVE]在 Morph target 數量超過 uniform 限制時警告
    • [IMPROVE]優化不包含 Morph target 的 ModelComponent
    • [IMPROVE]簡化內置渲染管線的配置和資源依賴
    • [IMPROVE]節點 setRTS 接口支持接受歐拉角 Vec3 對象作為旋轉
    • [IMPROVE]保護 Node.invalidateChildren 避免對已銷毀的子節點進行操作
    • [IMPROVE]優化粒子系統的運行時創建和內存開銷
    • [IMPROVE]物理模塊的修復和優化
    • [IMPROVE]優化 Instancing 時不必要的 buffer 內存占用
    • [IMPROVE]優化 Attributes 聲明順序
    • [IMPROVE]補充 ETC2 缺失的 defines
    • [IMPROVE]優化 UI Sprite 材質,使用高精度位置和 UV
    • [IMPROVE]優化 UI 組件的屬性排序
    • [IMPROVE]優化部分類中的靜態枚舉類型引用,讓用戶編輯代碼時可以得到提示
    • [IMPROVE]優化部分英文命名問題
    • [IMPROVE]部分 API 文檔的英文翻譯
    • [IMPROVE]在 WebGL 后端中,將 D16S8 貼圖格式回退到 D24S8
    • [IMPROVE]調整幾何模塊中 ray_model 的返回值,改為為世界空間坐標
    • [FIX]修復粒子系統在低端設備上(不支持 Vertex Texture 或支持數量過少)無法顯示并導致編輯器渲染錯亂的問題
    • [FIX]旋轉動畫使用 Quat.slerp
    • [FIX]修復綁定 Frame buffer 時部分 GPU 狀態緩存沒有被清理的問題
    • [FIX]修復解除 VB/IB 綁定前沒有解除 VAO 綁定可能導致的渲染問題
    • [FIX]修復 Instance buffer 在合并時 stride 可能不一致的問題(增加檢查)
    • [FIX]修復 BatchedSkinningModelComponent 的初始化問題
    • [FIX]修復實時計算模式下的骨骼動畫插槽
    • [FIX]修復骨骼動畫實時計算模式下的 Model 包圍盒計算
    • [FIX]修復骨骼動畫精度在部分設備上導致開啟 instancing 時錯亂的問題
    • [FIX]修復編輯器中模型被 restore 時,骨骼動畫失效的問題
    • [FIX]修復動畫混合的一種邊界條件導致的問題
    • [FIX]修復動畫在普通 Wrap 模式下沒有停止混合邏輯的問題(感謝 @xiayangqun 反饋)
    • [FIX]修復動畫事件的監聽和觸發問題,廢棄 AnimationState 的事件相關函數
    • [FIX]修復切分后的動畫 Bake 前后的動畫幀數對不上(感謝 @k8w 反饋)
    • [FIX]修復設置非常規幀率后 window.requestAnimationFrame 被替換導致該函數在恢復 60fps 時無法使用的問題(感謝瘋狂游戲團隊的反饋)
    • [FIX]修復節點 setWorldScale 的計算問題
    • [FIX]修復節點 TransformBit.RS dirty 狀態下沒有同步計算 Scale 的問題
    • [FIX]修復節點和場景互相之間 addChild 或 setParent 被 TypeScript 提示錯誤的問題
    • [FIX]修復節點監聽已銷毀的組件導致銷毀的時候的崩潰
    • [FIX]修復粒子系統的殼發射模式下計算未歸一化的問題
    • [FIX]修復天空盒的 binding layout 更新時機問題
    • [FIX]修復 UITransform 組件中的觸點檢測邏輯
    • [FIX]修復 UI Mask 的材質沒有獨立實例的問題
    • [FIX]修復 Graphics 組件 clear 時可能發生的報錯
    • [FIX]修復 PageView 的 undo 問題
    • [FIX]修復 subMesh/mesh/model 的射線檢測
    • [FIX]修復 model 射線檢測結果中的頂點索引(vertexIndex)
    • [FIX]修復部分情況下物理 trigger 節點的同步問題
    • [FIX]修復物理碰撞體在修改 group 或 mask 后沒有被重新激活導致假死的問題
    • [FIX]修復 ES6 下 CallbacksInvoker 類構造函數被當做函數使用的一處誤用
    • [FIX]修復 Color.set API 參數類型問題
    • [FIX]修復重力感應事件回調中的加速計對象類型聲明問題(感謝 @blade 反饋)
    • [FIX]修復微信平臺上 gl.compressedTexSubImage2D 不生效的問題(使用 gl.compressedTexImage2D 繞過,感謝天美團隊反饋)
    • [FIX]修復微信平臺上 Game.EVENT_HIDE 和 Game.EVENT_SHOW 不會觸發的問題(感謝 @xiayangqun 反饋)
    • [FIX]修復 Firefox 上可能存在的 WebGL2 buffer 綁定問題
    • [FIX]修復 vivo 平臺音頻下載問題
    • [FIX]Huawei,OPPO,vivo 平臺 Websocket 請求容錯(找不到證書)
    • [FIX]修復支付寶平臺插屏界面的顯示問題
    • [FIX]修復物理 cannon 后端的內存泄露問題
    • [FIX]修復物理 ammo 后端中剛體組件的 fixedRotation 錯誤的問題
    • [FIX]修復 alipay\cocos play\wechat 等平臺的啟動畫面不一致的問題
    • [FIX]修復 mat4 上 translate 函數的 z 值返回錯誤的問題
    • [FIX]修復動畫在 iOS 上偶爾不播放的問題
    • [FIX]修復設置 node 世界縮放效果錯誤的問題
    • [FIX]修復骨骼動畫不支持 2 根以上骨骼的問題
    2020.05.08

    V1.1.0版本

    發布時間: 2020.05.08

    自從 Cocos Creator 3D 去年發布以來,我們經歷了 v1.0.x 的五個版本迭代,也陪伴大家度過了最難熬的疫情封城階段,在這看似停滯的 2020 年,引擎組和我們的開發者一樣,始終沒有停下腳步,一直在追求更好的產品。除了不斷提升穩定性的 v1.0.x 以外,從一月開始,我們就啟動了 v1.1 的版本迭代,陸續實現了很多開發者期待的新功能,也做了非常多的優化。不論是性能、功能還是易用性,我們都做了非常多工作,我們這段時間努力的成果 Cocos Creator v1.1 目前已經正式更新了。

    重點功能介紹

    性能方面優化

    GPU Instancing 合批優化

    為了釋放更多 GPU 端的能力,我們增加了 GPU Instancing 特性來幫助開發者優化合并 Draw call(需要手動在材質中指定開啟 UseInstancing 選項才會生效),適用于繪制大量頂點數據完全相同的動態模型,同時也可以通過自定義 shader 加入更多逐 instance 的材質屬性,詳見 動態合批文檔 。

    更進一步,我們甚至支持蒙皮模型的動態 GPU Instancing 合批,同樣只要滿足頂點數據完全相同,即便是模型在播放不同的骨骼動畫、動畫進度不同的情況下,也可以正確合并渲染。

    如果你的骨骼動畫比較多,可能需要做一些配置,我們也為開發者提供了很方便的 骨骼動畫貼圖合批配置面板。

    最后令人安心的是,不僅支持渲染特性更完善的 Web 和 Native 平臺,即便是微信平臺也有相應的 WebGL 擴展支持,所以如有相關渲染效果需求,請一定開動腦筋,多加利用!

    GPU 粒子特效

    在最新的測試版本中,大家只需要在 ParticleSystem 組件的 Renderer module 中設置 useGPU 即可開啟 GPU 粒子模擬。GPU 粒子在不支持 JIT 的 iOS 平臺性能測試結果如下,有成倍的性能提升,可以放心的使用一些輕量的粒子特效了。未來我們還會繼續用更極限的方式優化粒子特效的性能。

    另外,我們還新增了粒子數據剪裁功能,只要在粒子組件面板中開啟 EnableCulling 即可對未開啟的粒子模塊進行數據剔除,減小場景和 prefab 的尺寸。


    功能方面優化

    動畫系統

    多個千呼萬喚的動畫功能在 v1.1 也正式加入了:

    1. 開發者們通過內容生產工具導出的 Morph Target 頂點形變動畫也可以在 Creator 3D 中正常播放啦,需要在 SkinningModelComponent 上勾選 EnableMorph 選項。
    2. 骨骼動畫的實時計算模式:非預烘焙模式,作為后續 blending、masking、secondary physics 和代碼手動控制骨骼姿勢等需求的統一基礎支撐框架。只需要在 SkeletalAnimationComponent 中不勾選 UseBakedAnimation 即可使用實時計算模式。
    3. 動畫組件的 crossFade 函數正式支持骨骼動畫的融合過渡,由于這個功能基于實時計算模式,所以需要在 SkeletalAnimationComponent 中不勾選 UseBakedAnimation。注意,因為這實際上讓骨骼動畫從 GPU 計算改為了 CPU 計算,所以性能損耗會大很多,需要盡量控制使用動畫融合的模型數量。

    地形功能增強和烘焙庫

    在 v1.1 中我們增強了地形編輯功能,也增加了場景 light map 烘焙功能。地形編輯的 UI 界面有了很大的提升,也增加了凹下,平滑等功能。

    需要注意的是,這兩個功能仍然在實驗室階段,所以還需要不斷得打磨,功能和特性上也沒有固化,歡迎大家提出你們的寶貴意見。

    新增物理碰撞體支持

    為了加強對物理游戲的支持,我們新增了數個非常有用的碰撞體:

    • 膠囊體編輯 Gizmo
    • 圓柱體碰撞體及編輯 Gizmo
    • 靜態網格碰撞體(暫不支持編輯)

    除此之外,我們還增加了法線信息到物理射線檢測結果中,方便判斷物體朝向,開發者可以利用這個信息來計算子彈等物體在接觸面上的反彈。

    const ray = new geometry.ray();
    ray.d.set(0, 0, 1);
    if (PhysicsSystem.instance.raycastClosest(ray)) {
        const result = PhysicsSystem.instance.raycastClosestResult;
        result.hitNormal; // 獲取法線方向,可以和 ray.d 一起計算出射角度
    }

    支持發布百度小游戲平臺

    v1.1 版本繼續加強了平臺支持,新增百度小游戲平臺支持,開發者們可以直接將游戲發布到百度小游戲平臺了,使用體驗和其他平臺沒有區別。


    易用性方面

    Cocos Creator 3D 接入 Cocos Dashboard

    從 v1.1 開始 3D 引擎也直接由 Cocos Dashboard 來管理,這是 Creator 2.x 和 3D 引擎融合的起點。產品層面的融合還有很長的路要走,但我們有堅定的信心最終帶給大家完善統一的產品體驗。

    Camera 預覽小窗

    雖然之前已經提供了一個獨立的 Camera 預覽窗口,不過大家對場景中隨時觀察游戲視角的需求非常強烈,我們也快速得實現了這個功能,從 v1.1 開始,當開發者選中場景中的 Camera 時,就會在場景窗口右下角看到這個 Camera 的預覽小窗,切換 Camera 會實時改變預覽內容。

    材質預覽

    同樣是一個預覽功能,材質面板上也開啟了材質球預覽的功能,這樣編輯材質的時候就可以直接在不同的預設模型上看到材質的效果預覽了。

    這個功能有時候過于鬼畜,程序員和技美可千萬忍住不要把策劃大人的臉貼上去,笑到脫力我們引擎不會負責任的(免責聲明)。

    插件腳本依賴

    這也是最新的測試版中新增的功能,再也不用擔心插件腳本的加載順序混亂了,大家可以給自己的 JS 插件腳本定義依賴關系,加載的時候也會按照依賴進行加載排序。

    我們也更新了一個使用 Protobuf 的實例工程到 Example 倉庫 中。

    Camera 預覽小窗

    雖然之前已經提供了一個獨立的 Camera 預覽窗口,不過大家對場景中隨時觀察游戲視角的需求非常強烈,我們也快速得實現了這個功能,從 v1.1 開始,當開發者選中場景中的 Camera 時,就會在場景窗口右下角看到這個 Camera 的預覽小窗,切換 Camera 會實時改變預覽內容。

    動畫編輯器操作優化

    動畫編輯器一直都是我們非常重視的模塊,從 Cocos Creator 時代開始就不斷打磨到現在,在 v1.0.4 中,我們已經增加了諸如:快捷的批量關鍵幀間隔調整,跨節點軌道復制粘貼,間接屬性(如材質屬性)關鍵幀編輯,動畫編輯器內直接對資源進行選取等非常好用的功能?,F在在 v1.1 中,我們進一步支持了多選關鍵幀后的縮放、移動和刪除功能,還支持動畫編輯器布局的調整??梢钥聪旅娴囊曨l更直觀得感受我們動畫編輯器內的編輯體驗。


    需要注意的行為修改

    • macro.ENABLE_WEBGL_ANTIALIAS 配置在之前到版本中并沒有生效,而 v1.1 我們修復了這個問題。由于該配置默認值為 false,開發者們可能會感受到抗鋸齒被關閉的模糊感,可以通過在 main.js 的 cc.game.init 之前增加 cc.macro.ENABLE_WEBGL_ANTIALIAS = true; 來開啟抗鋸齒。默認值保持 false 的原因是關閉抗鋸齒可以在不少中低端設備上提升性能。
    • 原生平臺構建目錄存在 frameworks 時將不修改配置數據只更新項目資源,原生平臺的查看構建配置選項屏蔽平臺相關修改。如果需要編輯器來重新配置項目數據,請刪除原目錄下的 frameworks 文件夾或者新建構建任務。關于原生構建任務我們后續還會收集用戶反饋做進一步的優化。
    • 重構 SpriteFrame 結構,SpriteFrame 不再直接引用原始圖像資源,而改為引用一個 Texture2D。
    • 膠囊碰撞體屬性重構,height 變為 cylinderHeight

    文檔和教程

    隨著 v1.1 大量新功能的更新和體驗的優化,我們也準備了充分的文檔給大家參考。還有一個好消息是,我們在 B 站連載的快上車系列視頻教程也完結了,如果你是剛接觸 Cocos Creator 3D 的開發者,那么這份視頻教程可以說是最合適的上手資料。

    除此之外,在我們公眾號上,最近會陸續更新一些 3D 的技術分享,大家可以保持關注,給我們公眾號加個星吧!如此良心的技術社區怎能錯過?


    完整新增內容和優化

    Editor

    • [FEATURE] 支持對插件腳本進行排序,可定義依賴關系
    • [FEATURE] 新增構建時模塊信息擦除功能,大幅優化腳本導入速度
    • [FEATURE] 增加組件文檔跳轉功能
    • [FEATURE] 動畫編輯器支持縮放關鍵幀,優化多選關鍵幀后的縮放、移動、刪除
    • [FEATURE] 支持地形烘焙 light map 功能
    • [FEATURE] 新增場景編輯器內的攝像機預覽小窗
    • [FEATURE] 新增材質屬性檢查器中的材質預覽
    • [FEATURE] 支持在模型屬性面板設置修改骨骼動畫的 Wrap Mode(感謝 @tangxuanli2014 反饋)
    • [FEATURE] 動畫編輯器上下部分支持拖拽更改布局方便編輯
    • [FEATURE] 支持發布到百度平臺
    • [FEATURE] 原生平臺的構建模板支持
    • [FEATURE] 腳本構建選項界面增加“擦除模塊結構”選項
    • [FEATURE] 構建面板的場景支持搜索
    • [FEATURE] Console 內部分資源報錯支持點擊后資源管理器中對應資源直接閃爍提示
    • [FEATURE] 編輯器根據狀態動態調整幀率,降低 CPU 占用
    • [FEATURE] 多選節點的時候支持添加刪除組件
    • [FEATURE] 支持同時拖拽多個資源到 Inspector 中的數組元素上
    • [FEATURE] Inspector 數字輸入框支持鼠標點擊屬性名拖拽來快速修改數值
    • [FEATURE] 模型導入增加了“使用頂點色”選項
    • [FEATURE] 在偏好設置 —> 插件 —> builder 選項內可實時修改構建進程的 log 等級
    • [FEATURE] 新增 Camera 和 Gizmo 配置(相機的顏色和網格顏色)
    • [FEATURE] 項目設置中 Layers 設置支持清空名稱即為刪除
    • [FEATURE] 新增膠囊和圓柱碰撞體編輯 Gizmo
    • [IMPROVE] 大幅降低資源管理器性能開銷
    • [IMPROVE] 新建項目時統一了 git 換行符配置
    • [IMPROVE] 地形編輯和畫刷功能增強
    • [IMPROVE] 支持 UMD 格式的插件腳本
    • [IMPROVE] 增加 console 在 ready 時的容錯
    • [IMPROVE] 優化剪切節點的功能
    • [IMPROVE] 節點支持空名稱
    • [IMPROVE] 優化 Camera 和 Gizmo 彈窗間距和縮短隱藏時間
    • [IMPROVE] 優化 Gizmo 性能
    • [IMPROVE] 優化編輯器 i18n 數據格式
    • [IMPROVE] 優化腳本導入失敗時的輸出消息,幫助解決循環引用問題
    • [IMPROVE] 優化構建面板的場景列表顯示
    • [IMPROVE] 添加組件選擇彈框使用優化
    • [IMPROVE] Inspector 內限制編輯內置資源并且增加鎖定提示
    • [IMPROVE] 優化材質 Inspector 中選框的點擊區域
    • [IMPROVE] 優化 Color Picker 保存顏色的功能
    • [IMPROVE] 更改壓縮紋理、自動圖集、圖片導入的圖片庫
    • [IMPROVE] 優化自動圖集面板,允許直接查看合圖資源以及修復點擊 preview 觸發修改
    • [IMPROVE] 優化 assets 面板操作體驗:支持回車鍵重命名;支持限定類型搜索
    • [IMPROVE] 支持 glTF 格式中的 sparse accessor
    • [IMPROVE] 部分面板內搜索后支持使用上下方向鍵選擇搜索結果
    • [IMPROVE] 部分面板內搜索后支持使用 enter 鍵選擇
    • [IMPROVE] 將預覽設備分辨率數據遷移到項目配置內
    • [IMPROVE] 同步相機設置顏色的屬性改為 clearColor
    • [IMPROVE] 動畫編輯器中對所有 ctrl 相關的快捷鍵進行 mac 的兼容處理
    • [IMPROVE] 消除當腳本構建的 bundle 過大時候的警告
    • [IMPROVE] 移除百度平臺不支持的部分橫屏方向
    • [IMPROVE] 構建場景搜索功能不區分大小寫,優化列表展示
    • [IMPROVE] 移除 Huawei、OPPO、vivo、小米平臺對 icon 圖標后綴限制
    • [IMPROVE] 添加原生平臺校驗處理,參數填寫不完善界面將直接提示
    • [IMPROVE] 優化構建 log 輸出,將可以直接在控制臺關聯到對應報錯資源
    • [IMPROVE] 增加導入器異步保存時的等待,避免導入流程未完成情況下導致的文件丟失
    • [IMPROVE] 優化地形編輯存儲
    • [IMPROVE] 禁止對地形屬性進行動畫編輯操作
    • [IMPROVE] 兼容低版本 TexturePacker 導出資源

    Engine

    • [FEATURE] 模型支持自動 GPU Instancing 合批
    • [FEATURE] 骨骼動畫支持自動 GPU Instancing 合批
    • [FEATURE] 支持 Morph target(Blend Shape)
    • [FEATURE] 支持動畫 CrossFade
    • [FEATURE] GPU Based Particle System
    • [FEATURE] 相機組件調整:加入 FOV 軸向和曝光相關參數設置以及優化編輯器面板(感謝 @k8w 反饋)
    • [FEATURE] 新增靜態網格碰撞體和圓柱碰撞體
    • [FEATURE] 增加法線信息到物理射線檢測結果中
    • [FEATURE] 增加 ray_model、ray_mesh 到 geometry.intersect
    • [IMPROVE] GFX 抽象優化和代碼精簡,簡化 WebGL 后端實現
    • [IMPROVE] 在靜態合并模型批次后不需要再手動禁用原始節點或模型(感謝 @玻璃小屋 反饋)
    • [IMPROVE] 優化組件生命周期函數的運行保護(合并自 Creator 2.x)
    • [IMPROVE] 重構 SpriteFrame 結構,SpriteFrame 不再直接引用原始圖像資源,而改為引用一個 Texture2D
    • [IMPROVE] 優化游戲和引擎啟動流程
    • [IMPROVE] 優化動畫數據準備邏輯
    • [IMPROVE] 優化動畫混合邏輯
    • [IMPROVE] 優化骨骼動畫曲線支持
    • [IMPROVE] 優化骨骼動畫中的曲線緩存
    • [IMPROVE] 優化從初始姿態開始播放動畫時的奇怪過渡問題
    • [IMPROVE] 優化 AnimationClip 的哈希計算
    • [IMPROVE] 完善 Camera 屬性排序和文檔
    • [IMPROVE] 物理引擎狀態同步時機和調用次數優化
    • [IMPROVE] 膠囊體碰撞器屬性重構,height 變為 cylinderHeight
    • [IMPROVE] 對插屏開啟 Retina 適配,效果更好
    • [IMPROVE] 移除部分無用警告信息
    • [IMPROVE] 同步 Creator 2.x 中 Widget 的 Align Mode 選項
    2020.03.09

    V1.0.4版本

    發布時間: 2020.03.09

    Cocos Creator 3D 在 v1.0.3 版本中更新了原生平臺支持,同時更新了很多重要的功能,其實是一個改動比較大的重要版本,那么在發布后也暴露出一些體驗問題?;诖宋覀儧Q定發布 v1.0.4 作為穩定性優化的版本,修復了暴露出來的重要問題。同時v1.0.4 也將是 Cocos Creator 3D 在 v1.0.x 階段的最后一個版本,引擎團隊已經從 2020 年新年伊始就投入到了 v1.1 的研發上,將會提供給廣大開發者更強大的性能、更豐富的新特性和更好的編輯器體驗。

    重點功能介紹

    1. 微信 PC 端小游戲支持

    微信 PC 端小游戲已經開始灰度測試,而引擎側已經在這個版本中做好適配,游戲如果打包為微信小游戲,到時候無需任何修改,直接可以在 PC 端運行。

    2. 緩動系統優化

    Tween 模塊在 v1.0.3 中完成了和 Cocos Creator 2.x 版本 API 統一的任務,避免老用戶對于使用方式不一致的困擾。在 v1.0.4 中我們繼續優化,首先在 to 和 by 接口中添加了 onStart,onUpdate,onComplete 回調支持,具體使用參考下面的案例。

    /** 緩動 Node,這里將緩動 Node 的 position 屬性 */
    tween(node)
    .to(3, { position: new Vec3(10, 10, 10) }, { easing: 'bounceInOut' })
    .to(3,
    { position: new Vec3(0, 0, 0) },
    {
    onStart: ()=> {
    // Notify some other system or do stuffs
    }
    })
    .union()
    .repeat(2) // 執行 2 次
    .start();

    在上面的例子中,我們對一個 node 執行緩動,如果緩動過程中 node 被銷毀的話會有不可預料的事情發生,有可能 position 數據被銷毀導致崩潰。在 v1.0.4 之前用戶需要在 node 銷毀的同時,手動停止緩動動作,還是挺不方便的,也很容易埋下 bug。在 v1.0.4 中,如果緩動目標是 Node 類型,我們會自動監聽銷毀事件并主動停止和銷毀緩動對象,開發者不需要做任何額外的操作。

    3. 完善物理膠囊碰撞體支持

    目前已支持在編輯器中對膠囊碰撞體進行編輯,需要注意的是,膠囊碰撞體支持 builtin 和 ammo 后端,如果選擇 cannon 后端則無效。需要使用 cannon 后端的話,可以嘗試用連續的多個球體上下擺放來模擬膠囊體,效果差不多,性能也會比較好。

    4. 重要 Bug 修復

    • 之前論壇有不少反饋說 Mac 上使用 FBX 資源遇到導入錯誤,提示 fbx2gltf 庫不兼容,這個問題我們通過在低版本 Mac 上編譯 fbx2gltf 工具解決了問題,目前已支持 Mac OS X 10.12+。
    • 有不少開發者遇到編輯器升級到 1.0.3 后編輯器面板上各種小圖標不見了的問題,這個問題是因為編輯器所在目錄包含空格引起的,我們已經修復了。
    • 修復組件對象構造失敗可能導致的場景數據丟失問題:這個問題在論壇中有不少開發者遇到過,我們之前一直未能重現,感謝(@o???u???)提供的測試項目幫助我們找到了問題的根本原因。這個問題的根本原因仍然是循環依賴導致的腳本丟失,不過丟失的不是組件腳本,而是組件構造函數依賴的腳本,導致組件實例化失敗,而我們沒有處理這個錯誤進而損壞了場景數據,如果用戶保存了錯誤的數據,就會導致場景再也無法打開。這個嚴重的問題相信在 v1.0.4 之后就會大幅度減少,而循環依賴的問題我們也計劃在 v1.1 中繼續優化。Cocos Creator 3D 目前比較容易出現循環依賴的主要原因是因為@property({type: XXX}) 這種裝飾器寫法會在解釋腳本階段立即執行,最終在腳本導入階段變成了硬依賴,就使得這種類型聲明變成了循環依賴的罪魁禍首。我們會盡力在 v1.1 找到更完善的解決方案。

    詳細更新內容

    編輯器

    • [FEATURE] 新增 PC 微信支持
    • [FEATURE] 構建平臺分包支持
    • [IMPROVE] 更新 Sprite 預制,將默認尺寸模式改為 Trimmed 模式
    • [IMPROVE] 限制地形 layer 數量上限為 4
    • [IMPROVE] 如果偏好設置的 ip 不存在,則使用第一個可用 ip
    • [IMPROVE] 兼容 mac 的 command 鍵多選關鍵幀
    • [FIX] 更新 fbx2gltf 到 v1.0.5,修復了 MacOSX 低版本(10.12+)不能導入 fbx 資源的問題
    • [FIX] 修復編輯器目錄帶有空格,會導致 icon 丟失的問題
    • [FIX] 修復構建后游戲插件腳本的加載順序(保證優先于項目腳本)
    • [FIX] 修復構建 native 概率性出現 cocos-project.json 資源格式錯誤
    • [FIX] 修復 num-input 按下 up 按鈕報錯的問題
    • [FIX] 修復動畫編輯器曲線無法保存的問題
    • [FIX] 修復動畫編輯器分量主軌道選中問題
    • [FIX] 限制動畫編輯模式下,層級管理器新建地形按鈕不能點擊(之前可以)
    • [FIX] 修復雙擊場景導致編輯器其他 panel 全選的問題
    • [FIX] 修復分量軌道未開啟時的選中操作錯誤
    • [FIX] 修復動畫編輯器切換節點顯示問題
    • [FIX] 修復動畫編輯器節點屬性軌道出現滾動條后位置不準確的問題
    • [FIX] 修復多選關鍵幀后,在選中關鍵幀上右鍵菜單的刪除功能
    • [FIX] 修復動畫編輯器取消節點選中時的界面顯示
    • [FIX] 修復動畫編輯器多選關鍵幀后,點擊選中關鍵幀會取消選中其他關鍵幀問題
    • [FIX] 修復 gltf 導入的時候dump material 因為 meta 驗證而失效的問題
    • [FIX] 修復場景編輯器里粒子小窗口速度(speed)無法修改的問題
    • [FIX] 修復 inspector 上點擊有子節點的節點上 Layer 旁邊的 edit 按鈕會提示是否應用到子節點(正確是修改后提示,而不是按下 edit 提示)
    • [FIX] 修復數據遷移問題,遷移數據時,分版本號判斷;
    • [FIX] 修復微信引擎分離功能的 md5 以及版本號,添加定義;
    • [FIX] 修復華為打印證書指紋報錯;
    • [FIX] 修復刪除新增 component 無法撤銷的問題
    • [FIX] 修復分量動畫可能無法保存的問題
    • [FIX] 修復 assets 搜索模式下,樹形區域可能跳動顯示的問題
    • [FIX] 修復 assets 搜索模式下,顯示鎖定資源的時候,鎖定標記位置不正常的問題
    • [FIX] 修復 windows 下創建自定義構建模版為只讀的問題
    • [FIX] 解決發布版本搜索資源的情況下圖標互相折疊的問題
    • [FIX] 修復 asset-preview 的切換選中與 assets 面板刷新時焦點資源不一致的問題
    • [FIX] 修復父子節點批量刪除后 undo 不正確的問題
    • [FIX] 修復 quick-compile 不會自動編譯第三方引擎的問題
    • [FIX] 修復 inspector 曲線縮略圖緩存的問題
    • [FIX] 修復構建導出功能以及部分構建插件系統 bug
    • [FIX] 修復編輯器內 FileUtils getName 可能導致的死循環
    • [FIX] 修復 mac 上 effect-header 導入問題
    • [FIX] 動畫編輯器修復 spriteframe 為空的情況下的樣式丟失
    • [FIX] 修復動畫編輯器選中丟失節點后,數據沒有更新的問題
    • [FIX] 修復 gltf 創建掛點時沒有處理模型節點嵌套的問題
    • [FIX] 修復動畫組件丟失的情況會導致報錯的問題
    • [FIX] 修復從 prefab 創建模型的時候數據會丟失的問題
    • [FIX] 修復名字帶有 # 的圖片無法使用 spriteframe 模式導入的問題
    • [FIX] 優化腳本導入時間
    • [FIX] 優化構建后 jsList 排序,保證順序一致
    • [FIX] 優化動畫編輯器框選,允許選中多個節點關鍵幀
    • [FIX] 禁止地形節點的旋轉和縮放

    引擎

    • [FEATURE] Ammo 支持膠囊體
    • [FEATURE] 支持物理 raycast 的掩碼參數
    • [IMPROVE] 優化 Tween API:增加 onUpdate、onStart、onComplete 回調,節點銷毀時關聯的 tween 自動停止
    • [IMPROVE] 縮減引擎倉庫包體
    • [FIX] 修復循環引用導致的組件對象構造失敗以及進一步導致的場景數據損壞問題
    • [FIX] 修復缺失的物理同步問題
    • [FIX] 修復物理模塊缺失情況下的預覽功能
    • [FIX] 修復使用 render texture 時的攝像機尺寸問題
    • [FIX] 在 UC 瀏覽器上禁用 WebGL2
    • [FIX] 修復默認裁剪掩碼在各個平臺上的兼容問題
    • [FIX] 修復支付寶平臺暫停游戲時的閃屏
    • [FIX] 修復文本部分顯示問題
    • [FIX] 修復 Color.fromHEX 函數實現
    • [FIX] 修復 Cocos Play 平臺下的 render pipeline 小問題
    • [FIX] 修復場景切換過程中可能導致的 UI 閃爍問題
    • [FIX] 修復 AnimationClip hash 計算可能引起的死循環問題
    • [FIX] 修復 Ammo 內部的內存泄露
    • [FIX] 糾正使用旋轉的合圖資源中的九宮格 uv 計算問題

    文檔

    2020.01.20

    V1.0.3版本

    發布時間: 2020.01.20

    這個版本可以說是 Cocos Creator 3D 自誕生以來最重要的一個版本,或者說是真正的完全體!因為從 v1.0.3 開始 Cocos Creator 3D 正式支持原生平臺。

    除了繼續擴大平臺支持以外,在易用性和上手門檻上我們也做了大量的優化工作,以及無數細節上的功能增強,相信這個版本可以滿足絕大部分輕度休閑品類游戲的制作。

    在 2020 年春節后,引擎組將繼續投入到 v1.1 的開發當中去,屆時我們會有更多重要的功能特性更新以及性能優化,將會不斷提升 Cocos Creator 3D 產品的優勢以及對品類的支撐能力。

    重點功能介紹

    1. 原生平臺支持

    從 v1.0.3 開始,大家可以正式打包 iOS、Android、Windows、Mac OS X 原生包,繼續基于 Creator 一直以來的原生積累,提供給大家最統一的跨平臺開發體驗。原生發布的詳細使用說明請參考發布文檔。

    2. 小游戲平臺支持

    我們繼續新增了 Cocos Play、小米快游戲、支付寶小游戲三個小游戲平臺的支持,請大家參考各個平臺的發布文檔。

    3. Async Await !

    對!我們響應大家的呼喚,提前了 Async Await 的支持,只需要在構建時,勾選 “異步函數”/"Async Functions" 就可以自由在項目中使用了。除此之外,腳本系統還增加了一些新的特性支持,比如
    - 可選鏈(Optional Chaining)支持
    - 空值合并(Nullish Coalescing)支持
    - 移除 INode 和 IBaseNode
    - 某些循環引用行為將在運行檢測并作出警告
    - 增加 core-js polyfills 來幫助部分平臺補全 ES6 支持

    4. 動畫編輯器優化

    v1.0.3 動畫編輯器增加了分量動畫功能,支持針對 Vec2、Vec3、Vec4、Color 等類型的分量拆分軌道制作動畫幀。同時還增加了同類型的屬性軌道的復制、粘貼功能(目前僅支持單軌道);在選中多個關鍵幀后高亮中間線條,并支持拖拽中間線條來移動關鍵幀。

    5. 增加 Ammo.js 物理模塊

    為了嘗試提供更多的可能性,我們增加了 Ammo.js 物理后端,會在將來支持 wasm 構建出的 Ammo 物理引擎(原生實現是 bullet),將會給物理游戲賦予更高的性能和更多可能性。物理方面,我們還初步增加了膠囊體支持(暫時僅支持 builtin)。

    6. 重構 Tween 模塊

    之前 Tween 模塊的使用方式不是非常友好,在內部的審核和討論后,我們決定將這個模塊的 API 和使用方式和 Cocos Creator 2.x 統一起來,在 v1.0.3 中已完成重構,請參考文檔了解具體的使用方法。

    7. UI 功能強化

    UI 做了大量的功能強化工作,比如:
    - Editbox 重構和跨平臺支持優化
    - 透明度級聯組件 UIOpacity
    - Mask 反向遮罩功能
    - 多點觸摸開關功能

    8. 帶搜索功能的添加組件窗口

    在節點 Inspector 中,用戶選擇添加組件時,將看到組織更清晰的組件選擇面板,還可以通過搜索來快速尋找想要添加的組件。

    部分注意事項和 Breaking Changes

    1. Ammo.js 物理后端已知問題
      • 剛體球和盒碰撞時存在抖動(會影響到表現和事件)
      • 物理材質的回彈系數比較大時,會導致事件不準確
      • 使用物理 ammo.js 時,剛體組件的 Factor 屬性在底層的中的表現作用在力和沖量上,與 cannon.js 不同( cannon.js 作用在速度上面,未來可能會調整成一樣的)
    2. 材質和合批
      • 蒙皮模型和動態合批的開關全部挪到了材質里,雖然導入 glTF 生成的材質和目前項目已有的材質做了遷移,但任何接下來用戶直接新建的材質,都需要在材質里手動指定是否要開啟蒙皮或合批
      • 由于資源化渲染管線對啟動順序的影響,所有用戶腳本內,在 require 時期創建的 material 將全部失效,最后顯示效果為純黃色(effect 丟失),需要挪到 onLoad 等時期再創建
    3. 平臺特性支持
      • 除了微信小游戲平臺外,暫時還不支持小米和支付寶小游戲平臺上的分包功能,此功能會在以后版本完善。
      • 在打包微信小游戲過程中,如果你勾選了引擎插件功能,會發現有報錯,請按照這個說明貼中的方法進行修復,這些修復也將合并在下一個版本中。
    4. TexturePacker 支持:3D 引擎中不再支持 3.x 版本以下的圖集格式,導入是會報錯的,推薦使用的版本是 4.x。

    編輯器

    • [FEATURE]支持原生平臺構建(Mac、Windows、Android、iOS)
    • [FEATURE]支持 Cocos Play、小米快游戲、支付寶小游戲三個小游戲平臺支持
    • [FEATURE]動畫編輯器重構,新增 Vec2、Vec3、Color 的分量動畫曲線支持
    • [FEATURE]動畫編輯器增加同類型的屬性軌道復制/粘貼功能
    • [FEATURE]選中關鍵幀后高亮中間線條,并允許拖拽中間線條移動關鍵幀
    • [FEATURE]支持在構建時勾選異步函數來開啟 Async Await 等函數支持
    • [FEATURE]新增帶搜索功能的添加組件窗口
    • [FEATURE]完善實驗室版本地形系統,優化編輯體驗,地形數據資源化
    • [FEATURE]添加 UI 空間的對齊按鈕(場景面板頂部 Toolbar)
    • [FEATURE]Inspector 面板允許復制組件和只粘貼值
    • [FEATURE]為模型導入切割出的子動畫提供 FPS 設置功能
    • [FEATURE]新增 RenderTexture 資源類型(.rt)
    • [FEATURE]立方體貼圖導入器添加貼圖參數設置
    • [FEATURE]Material 面板上新增定位 Effect 文件的功能
    • [FEATURE]層級管理器面板和資源管理器面板的右鍵菜單中新增拷貝 uuid 和 path 功能
    • [FEATURE]增強地形編輯功能
    • [FEATURE]新增資源面板右鍵菜單及功能:在文件夾內搜索
    • [FEATURE]新增其他小游戲平臺的自定義構建模板支持
    • [FEATURE]增加了 core-js polyfills,在各個平臺完善 ES6 支持
    • [FEATURE]新增實驗室功能:資源化的 Programmable Rendering Pipeline
    • [IMPROVE]重構構建流程,完全插件化,讓平臺擴充更輕松
    • [IMPROVE]重構 Undo/Redo 系統
    • [IMPROVE]獨立實現編輯器依賴的數學庫
    • [IMPROVE]修改 RenderableComponent的材質動畫屬性為 materials
    • [IMPROVE]在屬性檢查器中編輯圖片資源時,對應的 sub asset 也一同顯示可以編輯
    • [IMPROVE]將 gizmo 的材質引用變為運行時的材質實例
    • [IMPROVE]完善場景內材質資源的遷移流程,支持 sub asset 級遷移
    • [IMPROVE]統一新建資源和節點的名稱格式
    • [IMPROVE]優化 FBX 導入時的貼圖查找算法
    • [IMPROVE]模型資源 FBX & glTF 的 inspector 面板支持多語言
    • [IMPROVE]FBX 和 Javascript 資源導入器的多語言提示
    • [IMPROVE]對包含蒙皮模型的 glTF 模型導出的材質中自帶骨骼動畫支持
    • [IMPROVE]優化了某些導入器的報錯消息,附加上了被導入資源的 UUID
    • [IMPROVE]防止資源面板數據遷移時報錯的情況下導致的死循環問題
    • [IMPROVE]場景面板 Toolbar 插件化
    • [IMPROVE]節點編輯狀態下優化材質編輯的方式,改為在同一個界面同時顯示組件和材質信息
    • [IMPROVE]加快創建 prefab 節點時層級面板上的顯示速度
    • [IMPROVE]減少生成多節點時的查詢次數
    • [IMPROVE]防止一些情況下在場景初始化之前發送 ipc 請求
    • [IMPROVE]新增私有節點時層級面板增加容錯機制
    • [IMPROVE]將攝像機預覽面板從開發者菜單移到面板菜單下
    • [IMPROVE]在構建時自動檢測引擎修改以及重新構建引擎
    • [IMPROVE]增加打開版本不匹配或項目類型不匹配時的警告
    • [IMPROVE]增加偏好設置面板的 saving 提示
    • [IMPROVE]優化退出動畫編輯模式時面板閃爍的問題
    • [IMPROVE]在腳本資源 library 缺失時不報錯
    • [IMPROVE]優化各個面板使用的 ui 和圖標
    • [FIX]修復粒子 Gizmo 位置和渲染可能不正確的問題
    • [FIX]修復 prefab 里的動畫編輯退出后 info bar 消失的問題
    • [FIX]修復了材質屬性面板貼圖可能不顯示的問題
    • [FIX]修復了節點折疊狀態在切換編輯模式后還原不正確的問題
    • [FIX]修復了某些特殊的 binary 格式 glTF 模型無法解析的問題
    • [FIX]修復了某些情況下,構建腳本時腳本會被重復包含的問題
    • [FIX]修復了循環引用提示功能里面,對 type-only-used 標識符的錯誤處理
    • [FIX]修復動畫掛點無法正確獲取的問題
    • [FIX]修復 FBX 屬性檢查器頁面 dump material 無法使用的問題
    • [FIX]修復資源移動因 .meta 文件存在而被阻止的問題
    • [FIX]修復 Mac 平臺構建的時候資源可能被刪除的問題
    • [FIX]修復粒子 multiply effect 計算錯誤
    • [FIX]修復 prefab 節點在丟失資源的情況下 undo 報錯
    • [FIX]修復刪除部分組件后 undo 報錯
    • [FIX]修復動畫編輯中無法復制資源關鍵幀的問題
    • [FIX]修復動畫編輯器中對 sprite frame 屬性進行 undo 的問題
    • [FIX]修復取消選中節點后動畫編輯器的狀態顯示
    • [FIX]修復動畫編輯器中材質的貼圖屬性無法打關鍵幀的問題
    • [FIX]修復退出動畫編輯,prefab 會重新生成節點的問題
    • [FIX]修復場景相機離模型很近時,無法使用移動 Gizmo 的問題
    • [FIX]修復粒子組件曲線角度值的顯示

    引擎

    • [FEATURE]完善物理多后端支持,新增 Ammo.js 后端
    • [FEATURE]將 Tween API 與 Cocos Creator 2.x 同步
    • [FEATURE]SpriteComponent 組件新增 tiled 模式
    • [FEATURE]給 PhysicsSystem 添加 useFixedTime 屬性以避免事件不準確和抖動的問題
    • [FEATURE]Builtin 物理中新增膠囊體(暫不支持其他物理引擎)
    • [FEATURE]新增 UIOpacity 組件用于實現 UI 節點的透明度級聯
    • [FEATURE]在 Camera 組件中提供 3D 世界坐標系轉換到 UI 節點坐標系的方法 convertToUINode
    • [FEATURE]Mask 支持使用 Graphics 作為蒙版(使用方法可參考 test-cases-3d)
    • [FEATURE]Mask 組件支持反向遮罩
    • [FEATURE]新增多點觸控開關:macro.ENABLE_MULTI_TOUCH
    • [FEATURE]動畫系統支持分量和 Uniform 屬性作為動畫數據
    • [FEATURE]實驗室版本可編程渲染管線初步實現
    • [IMPROVE]優化引擎構建流程,縮減引擎構建包體
    • [IMPROVE]重構 Model 的內存管理模式
    • [IMPROVE]支持計算骨骼動畫的包圍盒
    • [IMPROVE]重構 AnimationClip,使用動畫數據倉庫來增強復用和優化動畫數據組織
    • [IMPROVE]新增內部材質實例,便于共享和實例化
    • [IMPROVE]節點 TRS 事件改為復用 Node.TransformBit 中的位標記
    • [IMPROVE]將 UIComponent 的 priority 屬性移動到 UITransform 組件上,新建 2D 節點默認添加 UITransform 組件
    • [IMPROVE]在 Layout 的排列方向改變時重新調整一次子節點的位置以對齊
    • [IMPROVE]優化 UIStaticBatchComponent 的 API 設計以及添加 clear 操作
    • [IMPROVE]使用 materials 屬性取代 sharedMaterials 用于動畫編輯
    • [IMPROVE]移除 INode 和 IBaseNode 接口
    • [IMPROVE]重構節點中 UI 相關屬性的組織方式,統一遷移到一個 NodeUIProperties 類型屬性 _uiProps 下
    • [IMPROVE]更新 Cannon 到 1.0.5 版本,修復 trigger 事件不準確問題
    • [IMPROVE]復用 canvas 來管理 Label 貼圖
    • [IMPROVE]同步 Creator 中的 Editbox 組件實現和跨平臺實現
    • [IMPROVE]重構引擎啟動流程以適應可編程渲染管轄的加載需求
    • [IMPROVE]優化 Profiler 信息的文字尺寸計算
    • [IMPROVE]UICoordinateTracker 增加對 Camera 更新的監聽和重新計算
    • [IMPROVE]在 shader 完成 link 之后立即卸除并釋放
    • [IMPROVE]優化骨骼動畫的材質編譯和包圍盒計算
    • [FIX]修復 UI 靜態合批組件可能導致的 buffer 越界問題
    • [FIX]在部分不支持 gl.UNSIGNED_INT 的平臺將頂點 index 的格式適配到 short
    • [FIX]修復貼圖為空時的插屏邏輯
    • [FIX]在部分不支持的平臺關閉 WebGL 2.0 和 VAO 的使用
    • [FIX]修復點光源的剪裁
    • [FIX]修復陰影在部分平臺上由于 z-fighting 導致的閃爍問題
    • [FIX]修復 Layout 類型變化時可能導致的錯誤
    • [FIX]修復深度緩沖在部分小游戲平臺上的兼容性問題
    • [FIX]修復多 UI Canvas 共存時的渲染閃動問題
    • [FIX]修復 ScrollView 運動過程中可能產生的貼圖拼接縫隙問題
    • [FIX]修復 ScrollView 的 elastic 屬性表現
    • [FIX]修復 Label 在 shrink 模式下寬度仍然越界的問題
    • [FIX]修復重置 ImageAsset 時的錯誤表現
    • [FIX]修復傳遞 w 為 0 時導致的 Quat 構造結果錯誤
    • [FIX]修復 ArrayBufferView 在部分設備上的動畫數據解析問題
    • [FIX]修復 SpriteFrame 代碼中的不統一性
    • [FIX]修復物理 body 在添加或移除 shape 后被自動重新啟用的問題
    • [FIX]修復粒子拖尾的一些渲染問題
    • [FIX]修復編輯器窗口下場景視圖并非半透明的問題
    • [FIX]修復一個由對象釋放引起的混合表現錯誤(導致 UI 閃屏)
    • [FIX]修復 iOS Safari 下導航欄下拉可能導致的觸摸位置錯誤問題
    • [FIX]避免 Loader 中可能出現的 ownerQueue 為空的問題
    • [FIX]修復對骨骼的 raycast 計算
    • [FIX]修復骨骼模型的釋放問題
    • [FIX]修復了當存在全局標識符 cc 聲明時(如 import * as cc from 'cc')腳本執行報錯的問題
    • [FIX]修復了項目使用的引擎類型聲明文件(cc.d.ts)某些錯誤
    2019.12.16

    V1.0.2版本

    發布時間: 2019.12.16

    重點功能介紹

    1. 新增 OPPO、vivo、華為平臺支持

    v1.0.2 最重要目標之一就是增加小游戲平臺的支持,在這個版本中,我們正式支持了 OPPO 小游戲、vivo 小游戲和華為快游戲平臺。

    Cocos 還在繼續擴展平臺支持能力,原生平臺和支付寶平臺在 v1.1 開發版本中已經成功運行起來,敬請期待!

    2. UI Static Batch

    從 v1.0.2 開始,在 UI 節點上,你可以掛載一個 UIStaticBatchComponent 組件(參考文檔),UI 靜態合批組件是一個提升 UI 渲染性能的組件,當調用 markAsDirty 方法時,引擎就會在當前幀渲染過程中收集該 UI 節點子樹(除模型以及 Mask 和 Graphices)下所有的渲染數據,存儲為一個靜態的 IA 渲染數據,并在后續的渲染流程中使用靜態數據進行渲染,不再遍歷其節點樹。此后的坐標變換將不再生效,當你需要修改靜態數據的時候,可以再次調用 markAsDirty 來重新觸發渲染數據收集。

    3. 微信引擎分離插件功能

    我們已在框架層支持微信的引擎插件功能,以盡可能降低小游戲平臺的加載耗時,可以在構建時勾選“分離引擎”選項。

    4. API 改動說明

    為了避免物理事件不準確和物理節點的抖動,PhysicsEngine 中添加 useFixedTime API 來設置是否使用固定的時間步長進行模擬,感謝@MFshangying 的論壇反饋。

    編輯器  

    • [FEATURE]Inspector 中點擊添加組件時,新增組件分類和搜索功能
    • [FEATURE]模型動畫資源面板新增支持縮放坐標軸、支持更改 FPS、支持拖拽切割動畫
    • [FEATURE]支持資源和節點的剪切操作
    • [FEATURE]項目設置中增加項目全局 layer 配置
    • [FEATURE]新增 effect 頭文件資源類型(chunk),所有內置頭文件全部資源化
    • [FEATURE]偏好設置中新增實驗室標簽頁
    • [FEATURE]Effect 資源編譯加入無效代碼剔除流程
    • [FEATURE]為 glTF 導入器的報錯信息提供中文版本
    • [FEATURE]開放各個小游戲平臺的插屏設置
    • [IMPROVE]優化 glTF 導入器以保障更優的 glTF 一致性測試結果
    • [IMPROVE]優化 glTF 和貼圖的導入邏輯,使用異步讀取避免卡頓
    • [IMPROVE]避免 glTF 導入過程中出現未命名的動畫 clip
    • [IMPROVE]優化 FBX2glTF 轉換失敗時的報錯信息
    • [IMPROVE]優化 Effect 的語法檢查能力
    • [IMPROVE]提供通用頂點著色器的 general-vs.chunk
    • [IMPROVE]簡化構建 JS 和 CSS 資源的流程
    • [IMPROVE]更新 inspector 內部組件命名
    • [IMPROVE]優化 inspector 相關的 Drag n Drop 組件邏輯
    • [IMPROVE]針對 NPOT 圖片設置 wrap mode 時做出警告
    • [IMPROVE]構建過程中添加了腳本構建以及合圖編譯的 debug 信息
    • [IMPROVE]啟動過程中檢查項目是否合法,不合法的話報錯并關閉
    • [IMPROVE]移除構建時對游戲名稱的中文限制
    • [FIX]解決層級和資源面板在高分辨率屏幕下的滾動跳躍問題
    • [FIX]修復 inspector 組件重命名替換的遺漏
    • [FIX]修復 Dashboard 切換 tab 中的一處判斷錯誤
    • [FIX]修復動畫編輯器界面 speed 更改后的數據更新問題
    • [FIX]修復動畫編輯器中 active 屬性軌道動畫無效的問題
    • [FIX]修復動畫編輯器左鍵移除關鍵幀的問題,以及增加關鍵幀移除的容錯
    • [FIX]修復切換場景時可能存在的選中相同 uuid 節點的問題
    • [FIX]修復替換插屏功能中是否保存水印數據存儲錯誤的問題
    • [FIX]修復 UIComponent 組件的顯示名稱以及單雙擊操作
    • [FIX]修復 bitmap front 的 meta 更新問題
    • [FIX]修復快速重復復制同一個資源 DB 可能導入失敗的問題
    • [FIX]修復取色器窗口不響應回車確認事件的問題
    • [FIX]修復編輯多個粒子時,展開狀態沒有被正確保留的問題
    • [FIX]修復多個粒子節點刪除時場景面板里的粒子控制面板不會消失的問題
    • [FIX]修復無法獲取到 menu 參數的問題
    • [FIX]修復編輯器打開的時候會白一段時間的問題
    • [FIX]修復引擎啟動時窗口大小為 0 引發的報錯
    • [FIX]修復刷新編輯器或彈出面板時資源未保持選中的問題
    • [FIX]修復漸變組件初始化值沒有傳入的問題
    • [FIX]修復偏好設置中微信開發者工具在 mac 無法選擇路徑的問題
    • [FIX]修復 node command not found 的問題
    • [FIX]修復 RGBE 格式 cubemap 的生成問題
    • [FIX]修復數字輸入框的精度和步長空值判斷
    • [FIX]修復 OPPO 小包模式的打包問題
    • [FIX]修復 OPPO/vivo/Huawei 平臺的打包替換插屏資源的功能
    • [FIX]修復 Camera 的 visibility 下拉框未顯示自定義 layer 的問題
    • [FIX]修復創建自定義構建模板報錯的問題
    • [FIX]修復微信子域文件夾拷貝問題
    • [FIX]修復微信子域不存在時的文件夾未清空問題
    • [FIX]修復 render texture 資源導入問題
    • [FIX]修復 UI kit 在 Mac 全屏模式下的體驗問題(感謝 @傻狍子 的反饋

    引擎

    • [FEATURE]提供 2D 相機下映射并同步 3D 節點位置的通用組件
    • [FEATURE]Sprite 新增 Tiled 渲染模式
    • [FEATURE]支持多于 32 個 Effect 宏定義
    • [FEATURE]兼容 iPadOS 的桌面模擬模式
    • [IMPROVE]重構 Model 內存管理策略
    • [IMPROVE]優化更新 Standard 材質接口
    • [IMPROVE]優化骨骼動畫模型包圍盒計算
    • [IMPROVE]將 UI 渲染組件的 priority 屬性遷移到 UITransform 組件上
    • [IMPROVE]將 Node TRS 更新事件從字符串更改為位標記,兼容舊版本代碼
    • [IMPROVE]優化循環引用導致組件類型丟失時的報錯信息,幫助用戶找到引發錯誤組件
    • [IMPROVE]Sprite 組件上保留用戶設置的 SpriteAtlas
    • [IMPROVE]切換 Layout Alignment 的時候在非對齊方向和父節點同步一次位置,更方便切換
    • [IMPROVE]優化引擎內的無依賴 Playground 實現
    • [IMPROVE]優化 Particle 渲染模式在材質中的設置
    • [IMPROVE]避免生成 shader 中未開啟邏輯中的 UBO 對應 BindingLayout
    • [IMPROVE]針對空場景優化管線內每幀執行的函數實現
    • [IMPROVE]更好的檢測深度貼圖是否支持的方法
    • [IMPROVE]物理引擎中添加 useFixedTime API 來避免物理事件不準確和抖動
    • [IMPROVE]將 UIStaticBatchComponent collect 屬性改為 collectMark 屬性
    • [IMPROVE]增加用于骨骼動畫計算的貼圖尺寸
    • [FIX]修復 RenderScene 中對 Light 的管理
    • [FIX]修復渲染器中對默認主光源的管理
    • [FIX]修復插屏貼圖 Base64 字符串為空時的錯誤
    • [FIX]修復 OPPO、支付寶等小游戲平臺上無法獲取和更新第 0 位 uniform 的問題
    • [FIX]修復部分平臺不支持 OES_element_index_uint 擴展時模型無法渲染的問題
    • [FIX]在 OPPO 等 Runtime 平臺上禁用 VAO
    • [FIX]修復 SpotLight 的剪裁問題
    • [FIX]修復父節點為 undefined 時 _onPreDestroyBase 的邏輯判斷錯誤
    • [FIX]修復 SkinningModelComponent 和 ModelComponent 的初始化和啟用邏輯
    • [FIX]修復 Canvas 組件啟動時 camera viewport 沒有初始化的問題
    • [FIX]修復 AudioBufferSourceNode 的 start 被調用多次導致的報錯問題
    • [FIX]修復不同層級 Canvas 渲染時可能排序不正確的問題

    文檔和案例

    2019.11.20

    V1.0.1版本

    發布時間: 2019.11.20

    重點功能介紹

    • 微信插屏配置:正式支持微信插屏配置,只需要構建時選擇替換插屏,提交項目信息即可自動替換微信插屏圖片,可以選擇在插屏下方保留一個不顯眼 Powered by Cocos Creator 3D 水印,如果您這么做我們會非常感激。
    • 支持物理材質編輯:目前的功能還比較簡單,只支持 Friction 和 Restitution。
    • Effect 資源面板:Effect 的資源面板現已支持預覽編譯后的 shader 代碼,并支持可視化編輯 shader 的每個 define。
    • 優化導入和數據遷移的效率 我們測試的一個超大型項目,數據遷移過程中的內存使用從 4-6 GB 降低到了 0.5-1.2GB,時間從降低到了原本的 10 - 30%。
    • Raycast 支持 v1.0.1 在物理模塊 API 中支持對 Collider 進行 Raycast,示例代碼如下:
    // 找到所有結果 
    PhysicsSystem.instance.raycast(worldRay, Layers.Enum.DEFAULT, maxDistance, queryTrigger); 
    // 找到最近的匹配結果,兩個 API 性能是一樣的 PhysicsSystem.instance.raycastClosest(worldRay, Layers.Enum.DEFAULT, maxDistance, queryTrigger);

    編輯器

    • [FEATURE] 偏好設置里支持指定不同類型資源的打開程序:代碼類資源,圖片類資源
    • [FEATURE] 修改節點 layer 屬性時,詢問是否遞歸修改所有子節點
    • [FEATURE] FBX 以及 glTF 數據不存在的時候顯示默認值
    • [FEATURE] 對 Meta 增加換行符檢測,如果文件內有 CRLF 則默認使用 CRLF 換行,沒有則使用 LF
    • [IMPROVE] 優化了資源導入、遷移的速度
    • [IMPROVE] 優化盒子碰撞器的編輯操作體驗
    • [IMPROVE] 支持全局的自定義引擎位置配置
    • [IMPROVE] 在編輯器環境下不預編譯 shader
    • [IMPROVE] 將光源組件集合在獨立的組件子菜單項中
    • [IMPROVE] 優化資源搜索面板使用以及統一 icon 數據管理
    • [IMPROVE] 去掉新建腳本名稱中的空格并減少樹形縮進
    • [IMPROVE] 移動資源時增加了一個是否覆蓋原文件的對話框
    • [IMPROVE] 優化 prefab 資源丟失時的展示
    • [IMPROVE] 防止 prefab 不指向自己
    • [IMPROVE] 優化資源很多資源樹很長的情況下滾動有上下空白區的問題
    • [IMPROVE] 優化文件夾在自身粘貼的操作
    • [IMPROVE] 去掉刪除資源時的因文件系統產生的阻塞
    • [IMPROVE] 增加復制已刪除資源時的容錯
    • [IMPROVE] 對資源預覽面板中前進后退操作增加容錯判斷
    • [IMPROVE] 優化 SphereLight 組件界面
    • [IMPROVE] 動畫編輯器選中關鍵幀后自動選中對應節點,選中對應的屬性軌道
    • [IMPROVE] 動畫編輯器 clip 發生變化后檢查并選中關鍵幀
    • [IMPROVE] 優化動畫編輯器中 Rotation 顯示
    • [IMPROVE] 記憶節點樹層級的展開、折疊狀態,支持 alt 鍵全部折疊或展開
    • [IMPROVE] 數組折疊 UI 上 +/- 有歧義,修改為倒三角
    • [IMPROVE] 優化 fbx/gltf 資源的材質編輯效果
    • [IMPROVE] 優化 fbx/gltf 資源中的貼圖導入流程
    • [IMPROVE] 優化構建面板操作以及支持單獨編譯引擎
    • [IMPROVE] 構建時清空 Loader 緩存
    • [IMPROVE] 調整編輯器 Camera 的近裁剪面為 0.1
    • [IMPROVE] 禁止 SkeletonAnimationComponent 的 clips 的編輯
    • [IMPROVE] 場景拖拽的時候,不響應任何其他的事件
    • [IMPROVE] 添加反序列化容錯
    • [FIX] 修復項目配置無法被保存的問題
    • [FIX] 修復資源遷移的時候導致的內存泄漏
    • [FIX] 修復資源遷移失敗導致死循環的問題
    • [FIX] 修復場景未做任何修改卻產生數據差異提示需要保存的問題
    • [FIX] 修復構建過程中由于內存增長導致奔潰的問題
    • [FIX] 修復場景加載帶有 MissingScript 的數據卡死問題
    • [FIX] 修復場景文件不存在時保存場景無效的問題
    • [FIX] 修復 HDR 模式下的 gizmo 渲染問題
    • [FIX] 修復節點移除時子節點的 gizmo 仍然殘留在編輯器上的問題
    • [FIX] 修復 gizmo 的受光表現
    • [FIX] 修復 undo 后陰影丟失的問題
    • [FIX] 修復并升級 glTF importer 的問題
    • [FIX] 修復某些 glTF-embedded 資源導入數據錯誤的問題
    • [FIX] 修復包含內嵌貼圖資源的 FBX 文件的導入問題
    • [FIX] 修復模型導入時 normal 和 tangents 數據導入問題
    • [FIX] 修復多 UV 模型的導入問題
    • [FIX] 修復導入模型時的貼圖搜索算法
    • [FIX] 修復資源面板列表偶現顯示不正確的問題
    • [FIX] 修復導入操作系統上創建的文件夾時沒有保留文件夾里 meta 文件的問題
    • [FIX] 修復父資源拖拽進 inspector asset 編輯框無效問題
    • [FIX] 修復 uuid 沖突的時候,誤將舊資源 uuid 替換的問題
    • [FIX] 修復刷新數據時資源面板中選中的文件夾和根節點文件夾折疊狀態不準確的問題
    • [FIX] 修復 ui prefab 從資源還原時場景不顯示的問題
    • [FIX] 修復 prefab 還原過程中 Node 類型對象發生的引用錯誤問題
    • [FIX] 修復 Effect 資源的 define 提取問題
    • [FIX] 修復材質 PipelineStates 沒有讀取 Effect 文件中默認值的問題
    • [FIX] 修復 TextureCube 刪除部分子資源時報錯的問題
    • [FIX] 修復框選動畫編輯器關鍵幀時的問題
    • [FIX] 修復動畫編輯器 duration 在移動時可能出現的位置不準確
    • [FIX] 修復動畫編輯器更改 sample 后當前控制桿的更新
    • [FIX] 修復動畫編輯器中丟失屬性無法移除以及點擊報錯問題
    • [FIX] 修復動畫編輯器選中關鍵幀移動一次后移動其他幀的問題
    • [FIX] 修復動畫編輯器選中關鍵幀后直接移動選中的多個關鍵幀
    • [FIX] 修復動畫編輯器 duration 在修改幀數后顯示異常
    • [FIX] 修復動畫編輯器移除關鍵幀后依舊顯示的問題
    • [FIX] 修復動畫編輯器按 Ctrl 鍵無法多選關鍵幀的問題
    • [FIX] 修復刷新編輯器后 inspector width 取值不正確的問題(可能導致材質面板異常)
    • [FIX] 修復動畫編輯器更新事件幀數據錯誤
    • [FIX] 修復動畫編輯器加載狀態管理錯誤
    • [FIX] 修復 inspector 中編輯數據時的可能發生的報錯
    • [FIX] 修復 inspector 中 node 編輯框雙擊跳轉問題
    • [FIX] 修復數字輸入框值變化的精度、最大最小值控制的問題
    • [FIX] 修復節點 layer 屬性值被序列化為字符串的問題
    • [FIX] 修復 Camera Preview 黑屏的問題
    • [FIX] 修復程序關閉的時候 profile 數據可能未保存的問題
    • [FIX] 修復 ui 組件 clear 按鈕不顯示
    • [FIX] 修復 prefab 在動畫編輯狀態下,inspector 閃爍的問題
    • [FIX] 修復層級面板取消關閉時 loading 遮罩一直存在的問題
    • [FIX] 修復微信開發者工具設置方式
    • [FIX] 修復構建微信時未保留原有的子域文件夾問題
    • [FIX] 修復微信子包內包含圖集時資源可能會丟失的問題
    • [FIX] 修復模板文件在編輯器打包后創建出來的是只讀文件的問題

    引擎

    • [FEATURE] 屬性支持獨立的 type decorator: @integer, @float, @string, @boolean, @type
    • [FEATURE] 給 Sprite 組件添加灰度模式
    • [FEATURE] 新增微信 SubContextView 組件,用于配合 Creator 生產的子域工程使用
    • [FEATURE] glTF 格式支持 khr-draco-mesh-compression
    • [FEATURE] 內建材質支持頂點色
    • [IMPROVE] 使用二進制格式存儲并優化骨骼動畫序列化后的尺寸
    • [IMPROVE] 大幅降低 Profiler 在渲染過程中的性能損耗
    • [IMPROVE] 復用材質實例,單獨處理 PSO 狀態變化的更新,優化內存和性能
    • [IMPROVE] 統一 SkeletalAnimationClip 功能到 AnimationClip 中(包含數據遷移)
    • [IMPROVE] 支持最高 32 個 shader 宏定義
    • [IMPROVE] 優化 shader 中的對運行環境支持精度的判斷
    • [IMPROVE] 完善 RenderScene raycast 功能
    • [IMPROVE] 防止在父節點生效或禁用過程中修改相關的節點樹
    • [IMPROVE] 在基于物理系統的 Transform 同步完成后發送碰撞檢測相關事件
    • [IMPROVE] 增加 geometry 中的相交判斷 API 并修復部分問題,新增 line_sphere, line_aabb, line_obb
    • [IMPROVE] 優化 Widget 組件對百分比數據的保存方式和編輯器呈現(包含數據遷移)
    • [IMPROVE] 優化 Skybox 在場景加載過程中的內存創建
    • [IMPROVE] 在音頻成功播放后取消不必要的事件監聽
    • [FIX] 修復模型動態批處理只支持十個節點的問題
    • [FIX] 禁止向場景中添加組件
    • [FIX] 修復節點 setWorldScale 計算錯誤
    • [FIX] 修復節點 translate 計算錯誤
    • [FIX] 修復 Tone mapping 和陰影渲染
    • [FIX] 修復 PSO 管理導致的骨骼動畫陰影錯落問題
    • [FIX] 修復部分設備精度問題導致的 WebGL1 下的渲染錯誤
    • [FIX] 在微信環境下禁用 VAO 以避免部分機型下的渲染丟失問題
    • [FIX] 修復微信環境下部分 GL 常量不存在的問題,使用值代替索引
    • [FIX] 修復部分情況下微信平臺音頻無法播放和音量控制無效的問題
    • [FIX] 修復粒子拖尾在 UI 下無法顯示的問題
    • [FIX] 修復粒子拖尾的計算問題
    • [FIX] 修復粒子拖尾變形的問題
    • [FIX] 修復粒子 limit velocity 模塊的表現問題
    • [FIX] 修復模型屬性初始化順序問題
    • [FIX] 修復模型資源銷毀后骨骼動畫數據可能丟失的問題
    • [FIX] 修復對 GLTF 的 cubic spline 動畫插值支持
    • [FIX] 修復 UI ScrollView 的回彈效果
    • [FIX] 修復 UI 節點在微信下的概率性排序問題
    • [FIX] 修復九宮格貼圖在旋轉狀態下的渲染錯誤
    • [FIX] 修復 Widget 對節點樹事件監聽管理導致的對已銷毀 Widget 進行計算處理的問題
    • [FIX] 修復常駐 Canvas 節點在切換場景時導致的攝像機移除問題
    • [FIX] 修復基于 Kinematic 的物理同步
    • [FIX] 修復禁用的 RigidBody 組件仍然生效的問題
    • [FIX] 修復地形中類型定義的錯誤
    • [FIX] 修復 TS WebGL 對象類型提示
    • [FIX] 修復微信插屏會縮小以及橫屏狀態下尺寸判斷錯誤的問題
    • [FIX] 修復 RenderScene API 注釋筆誤

    文檔和案例

    • [Sample] 新增完整游戲彈彈樂 3D項目,后續會增加教程
    • [Sample] 新增物理小車 Demo
    • [Sample] 新增下落球球 Demo
    • [Sample] 新增滾動小球 Demo
    • [Sample] 新增吞噬黑洞 Demo
    • [DOC] 新增 PageView 的使用文檔
    • [DOC] 新增內置 shader 變量的文檔
    • [DOC] 新增 AutoAtlas 資源的使用文檔
    • [DOC] 新增動態合批使用文檔
    • [DOC] 新增壓縮紋理使用文檔
    • [DOC] 增加 Canvas clearFlags 屬性的說明
    • [DOC] 優化構建選項說明
    • [DOC] 優化 Effect 格式文檔
    • [DOC] 完善模型資源的使用介紹(骨骼動畫裁剪)
    • [DOC] 修復一些文檔中的錯誤

    2019.10.16

    V1.0.0版本

    發布時間: 2019.10.16

    在 2D 和 2.5D 游戲領域以及各類小游戲平臺上,Cocos Creator 已成為首屈一指的游戲開發引擎。秉承著 Cocos 一貫的低成本,低門檻,高性能,跨平臺等產品特性,Cocos Creator 3D 旨在成為開發者創作 3D 游戲的新選擇。

    • 以數據驅動和組件化作為核心的游戲開發方式,高效的工作流能夠讓團隊成員完美協作,極速開發,加速迭代,提高收入
    • 易學易用的編輯器,大大降低了 3D 游戲的入門門檻
    • 輕松跨平臺,一次創建,即可發布到原生( v1.0.0 暫不支持)、Web、小游戲等平臺,并保持超高性能,真正實現一次開發,全平臺運行,最大化游戲產品的可見度和成功概率

    Cocos Creator 3D 功能特點

    一體化 3D 編輯器,帶來輕量易用的創作體驗

    Cocos Creator 3D 在 Cocos Creator 2D 多年編輯器框架上進行了重構、拓展和升級。

    • 全新界面設計,更加簡潔清晰
    • 資源系統升級,增強對大項目的支持,更加輕量可靠
    • 模塊之間代碼隔離,純消息驅動,更加穩定
    • 啟動速度大幅提升,操作體驗更上一層樓
    • 插件系統徹底模塊化,迎接更強大的插件機制

    Cocos Creator 3D 便利的編輯器體驗,還包括:

    • Camera 預覽面板
    • 資源縮略圖面板
    • 節點和組件的批量編輯
    • 動畫編輯器可以直接編輯粒子和模型材質屬性
    • 支持壓縮紋理
    • 自動合圖功能
    • 支持 JSON 合并,縮減包體

    完善的功能特性,帶來更好的 3D 游戲表現

    Cocos Creator 3D 首次真正將基于物理渲染全面帶到了小游戲中,不僅支持 PBR 材質,還將光源系統和渲染統一升級為基于物理的度量衡和算法。有了這套真實感渲染引擎和材質系統,相信開發者可以制作出更加精美的 3D 游戲,尤其是在小游戲和 Web 平臺上創造出令人驚艷的效果。

    • 擁抱 ES6 和 TypeScript ,完善的代碼提示和自動導入
    • 支持 WebGL1.0 和 2.0 多渲染后端
    • 面向未來的高性能渲染層 API 設計
    • 基于物理的光源、Camera 、材質
    • 強大的粒子特效
    • 靈活簡潔的 UI 系統
    • 簡單易用的物理系統
    • 純 GPU 驅動的骨骼動畫系統
    • 便捷的 tween 動作系統
    • 支持 Camera 渲染到 RenderTexture ,便于實現各種后效
    • 便捷的地形系統,快速繪制地形紋理

    Cocos Creator 3D 適用對象

    Cocos Creator 3D 適合中小規模 3D 游戲團隊以及資源有限的獨立游戲開發團隊。Cocos Creator 3D 的下載和使用完全免費,官網已充實了大量詳細的技術文檔,此外,Cocos 活躍的開發者社區、強大的技術顧問團隊,能夠為開發者及時有效地答疑解惑,幫助開發者攻克 3D 游戲開發過程中的技術難題,提高游戲開發效率。

    女人脱裤子让男生桶爽免费看,久青草无码视频在线播放,精品国产人成亚洲区,久久精品国产亚洲一区二区