原创 Unity渲染教程(九):複雜材質

https://www.jianshu.com/p/5e3af869870f

原创 opengl-tutorial(經典網站)

http://www.opengl-tutorial.org/cn/intermediate-tutorials/tutorial-13-normal-mapping/

原创 three.js 場景編輯器 源碼解析(十七)

本章講解場景編輯器的三維操作窗口editor\js\Viewport.js,這個文件中包含了所有三維物體的展示、操作的相關內容。 包含的內容如下: 三維展示的窗口container 選中對象的統計窗口Viewport.Info 輔助網gr

原创 three.js 場景編輯器 源碼解析(十六)

     本章講解editor\js\Toolbar.js,這個ui主要用於設置操作對象的位移、旋轉、縮放、空間的切換。 // 平移、旋轉、縮放、空間工具條 var Toolbar = function ( editor ) { //

原创 three.js 場景編輯器 源碼解析(十四)

本章介紹一下命令的基類Command.js,這個文件是編輯器的所有操作命令共性提取的文件。 //命令基類(編輯的對象) var Command = function ( editorRef ) { this.id = - 1;

原创 three.js 場景編輯器 源碼解析(十)

本節講解腳本命令中的添加腳本AddScriptCommand.js,每個命令都會有2個函數execute、undo,其中execute函數是用來處理命令的執行過程(添加、重新執行該命令),undo用來處理撤銷命令。命令的結構簡單易用、易擴

原创 three.js 場景編輯器 源碼解析(十五)

本章講解編輯器的ui封裝文件editor\js\libs\ui.js,這個文件主要是對dom節點進行了封裝,dom的樣式的封裝,對dom的事件進行封裝。 //ui庫 var UI = {}; //element構造函數,所有ui的父類

原创 three.js 場景編輯器 源碼解析(十三)

本章講解歷史邏輯處理editor\js\History.js,這個文件的主要作用是維護所有的操作命令,已達到可以撤銷、重做相關命令的目的,其中有3點需要重點說一下,第一點是腳本的編輯操作時不能撤銷、重做的,然後就是兩次操作的時間很短時(小

原创 three.js 場景編輯器 源碼解析(十二)

本章講解腳本移除命令RemoveScriptCommand.js,這個文件的主要功能就是移除腳本execute、還原腳本undo。 //刪除腳本命令 var RemoveScriptCommand = function ( object

原创 three.js 場景編輯器 源碼解析(七)

    這一章講解整個編輯器中最重要的一個文件editor\js\Editor.js,這個文件是真個編輯器的上下文,是所有ui與對象交互的橋樑,相當於mvc模式中的controller。     Editor.js包含的幾個重要的信息如下

原创 three.js 場景編輯器 源碼解析(六)

     這一章說一下場景編輯器的主頁editor\index.html,包含了各個組件的初始化,以及設置組件之間的關聯。 <!DOCTYPE html> <html lang="en"> <head> <title>three.

原创 three.js 場景編輯器 源碼解析(八)

     這一章講解編輯器中一個新對象的添加過程,主要涉及到的幾個文件,以及數據流向。      

原创 three.js 場景編輯器 源碼解析(五)

       這一章分析ui中的添加菜單項的內容,與之相關的js文件爲Menubar.Add.js,編輯器的結構簡單易懂,很適合初學者學習。                                                

原创 three.js 場景編輯器 源碼解析(四)

      場景中編輯的模型會很多,而且文件會很大,使用瀏覽器本身的數據庫存放這些數據是一個好方法,相比於localstring,瀏覽器本身的數據庫支持大文件存儲,支持事務,用起來更合適,編輯器使用了瀏覽器自帶的indexDB數據庫,代碼

原创 three.js 骨骼動畫的clone

     three.js中普通Mesh的clone沒有任何問題,但是牽扯到SkinnedMesh的clone,不是很好處理,而且3ds max和Maya當前無法直接導出多個動畫(這意味着動畫不是在同一時間線上)到一個文件中。     這