Microsoft Tech Summit 2018 课程简述:利用 Windows 新特性开发出更好的手绘视频应用...
概述
Microsoft Tech Summit 2018?微軟技術暨生態大會將于10月24日至27日在上海世博中心舉行,這也會是國內舉辦的最后一屆 Tech Summit,2019 年開始會以 Microsoft Ignite Tour 的形式出現,大家可以在官網查看本次會議信息:https://www.microsoft.com/china/techsummit/2018/
今年非常榮幸最終入選了分會場課程,我會在 27日下午5點給大家帶來?“利用 Windows 新特性開發出更好的手繪視頻應用”?的主題分享,編號?NUE204。在本篇文章中,我會對本次課程的主要內容先做一次簡單分享,方便大家提前了解,歡迎各位參會的伙伴過來一起交流探討。
課程分享
課程概述
本次課程“利用 Windows 新特性開發出更好的手繪視頻應用”,主要是分享手繪視頻的基礎功能開發過程,以及結合 Windows 10 新特性和 Surface 設備和周邊硬件的特性,比如 Surface Pen 和 Surface Dial 的結合等,為 Windows 10 開發者和設計師提供更多的思路,設計開發出更好的繪畫和視頻制作類應用。
課程內容主要分為以下幾個部分:
關于手繪視頻 - 講解動畫視頻的分類,手繪視頻的概念,以及來畫 UWP 應用發展過程;
Windows 版本更新 - 回顧 Windows 10 的版本更新歷史,以及更新中對手繪視頻重要的功能;
手繪視頻應用開發 - 手繪視頻開發的概述,以及幾個重要功能的開發分享;
結合 Windows 新特性和 Surface 配件的手繪視頻 - Ink 和手繪視頻的結合,Surface Pen 和 Surface Dial 的結合,Windows ML 的結合;以及 Windows Community Toolkit 推廣;
下面我們分別對每部分內容做簡單描述,在課程過程中需要展示的視頻和內容詳細分析,這里暫不展開,大家可以在課程上看到。
課程內容
1. 關于手繪視頻
? ? 手繪視頻屬于動畫視頻的一個分類,而動畫視頻從動畫形式角度可以分為二維動畫和三維動畫。二維動畫視頻,可以分為 MG 動畫、平面手繪動畫和二維沙畫動畫;三維動畫視頻,可以分為三維拍攝動畫、真人結合動畫和三維虛擬生成動畫;
? ??手繪動畫視頻,是在動畫視頻出現用真實的手或筆進行繪制或移動的各種文字,圖片,聲音,音樂的一個動畫視頻表現形式。手繪動畫視頻,又稱手畫視頻或素描視頻或白板視頻。相比于其他類型的動畫視頻,手繪動畫視頻有以下幾個特點:
一只手繪的手,可以把觀看者的注意力集中;
手繪的動畫過程,可以還原繪制和創作的過程;
非常適合做介紹,展示,講解類動畫視頻;
? ? 而來畫 UWP 應用,正是一個手繪視頻制作類工具應用,用戶可以使用文字,手繪素材或手繪路徑,結合背景音樂或配音,生成手繪效果豐富的手繪視頻。這個應用在 2017年1月份正式發布了第一個版本,擁有基本功能,但是交互不夠友好,功能實現和復雜功能支持也不夠;而在 2017年8月份,我們完成了第一次重大改版,發布了 2.0 版本,對引擎進行了重構,整個交互過程而我自己也是在 5 月份入職,當時吸引我的正是手繪視頻的新穎形式和廣泛的應用場景,以及對一家做 UWP 應用公司的天然好感;經歷了一系列小的迭代后,在2018年2月份發布了 3.0 版本,對視頻文件的導入做了支持, 同時增加了模板的支持,Autodraw 和智能配音的支持;在這之后,半年的時間沒有大的更新發布,因為我們在做一次大的改版,終于在 9月份時,4.0 版本發布。這個版本中,我們重新設計了整體的交互,增加了時間軸和更豐富的轉場動畫,支持了視頻背景和視頻元素,同時支持了 MG 動畫素材和不同比例的視頻創作。
2. Windows 版本更新
? ? Windows 10 從第一個版本在2015年7月份發布至今,已經有超過三年的時間,而 Windows 10 的裝機量也已經超過了 7 億。而在這三年時間中,也經歷了多次重大更新,從最早的1507到現在的1809,Windows 10 SDK 也從 10240 更新到了17763。而其中很重要的一次更新,當數周年更新,也就是 1607(14393)版本了,這也是 Windows 10 SDK 第一個比較可用的版本。而來畫 UWP 的第一個版本,也是從 14393 開始支持的。當然,因為 14393 SDK 支持了很多新功能,所以在后面的更新中,有些功能也發生了很多變化,導致系統升級后的支持問題。
? ? Windows 10 強調高效辦公和創意創作,在推出 Surface 系列后,推出了 Surface Pen 新版和 Surface Dial。而 Windows 10 新特性中,InkToolbar 和 RadialController 都是從 14393 開始支持,它們是支持 Surface Pen 和 Surface Dial 硬件的重要功能。
3. 手繪視頻應用開發
? ? 手繪視頻 UWP 應用開發,基于對不同手繪元素,如文字,SVG,位圖,Ink 等的解析,基于 Win2D 的渲染方式進行動畫展示,并基于類 FFMpeg 的方式進行動畫視頻的合成,以及聲音的處理。 基礎功能之上,還有對 Surface Pen 和 Surface Dial 硬件操作的結合;以及不同類型 Ink 元素處理,更多位圖方式處理等。
下面分別對其中幾個重要的功能點做簡單描述:
1. Win2D
? ? Win2D 是基于 Windows Runtime 的 2D 圖形 GPU 渲染 SDK,可以用在 UWP 、Windows Phone 和 Windows Runtime App 中, 編程語言可以是 C++、C# 或 VB。基于 D2D,實現了 XAML 和 CoreWindow 的無縫銜接。
2. 文字手繪
? ? 文字手繪,是手繪視頻里很重要的展現和表達方式,指的是用手寫的方式按照文字的字體和它的結構筆順等完成繪制的手繪動畫形式。
? ? 文字手繪,特別是漢字手繪,實現比較復雜。主要難點:漢字結構相比英文更加復雜,常用字數量也更多,所以實現路徑還原比較有難度;手繪視頻工具中,支持很多種不同的字體,筆順、結構和筆畫間的連接關系都不一樣,增加了處理的難度;
3. SVG 手繪
? ? SVG 元素是一種矢量圖形,因為它的矢量屬性和文件組成,它的路徑數據可以在手繪視頻中被還原和繪制出來,是手繪視頻中重要的元素。
? ? 簡單處理過程包括:SVG 元素的解析和靜態展示;根據動畫時長和路徑直線總長度,計算每幀繪制的部分路徑;按照計算結果繪制路徑,完成后進行 SVG 填充色繪制。?
4. 位圖手繪
? ? ?手繪視頻制作過程中,很多場景需要使用用戶的照片,為了讓它有更豐富的動畫效果,所以需要結合位圖屬性實現手繪效果。
? ? 我們對位圖的處理方式,可以實現簡單的手繪效果,也就是從左上角到右下角來勻速涂抹出圖片;也可以做進一步的處理,比如支持用戶在位圖的背景上做進一步的線條勾勒,保存為 SVG,繪制時是背景圖被勾勒出來的效果;另外就是利用 OpenCV 做邊緣檢測,繪制過程中描繪邊緣的路徑;
5. Ink 手繪
? ? Ink 手繪在手繪視頻中有很多應用場景,如繪圖手繪,手寫文字手繪,有豐富的筆觸類型支持,如鉛筆的墨粉效果,鋼筆的筆觸方向和粗細,熒光筆的混色效果等動畫展示。
? ? 簡單的處理過程包括:利用 InkCanvas 完成繪制后,保存 Ink 數據;獲取 Ink 數據,按照 SVG 繪制原理進行繪制;自定義筆觸的實現,數據存儲和繪制方式。?
6. 視頻導出
? ? ?手繪視頻制作,在素材編輯和動畫設置完成后,需要用戶進行效果預覽和動畫視頻導出,把動畫導出為 MP4 或其他視頻文件格式。
? ? 簡單的處理過程包括:利用 Win2D 進行后臺視頻渲染,并按幀率進行截圖操作;類 FFMpeg 方式把圖片序列生成視頻文件;對背景音樂以及插入視頻的音軌進行處理?
4.?結合 Windows 新特性和 Surface 配件的手繪視頻
? ? 本節會結合 Windows 10 新特性和 Surface 系列的硬件的特性,分享手繪視頻應用能實現的更多可能性,給大家提供更多的思路,如何利用這些特性去做更好的 UWP 應用。下面簡單介紹一下各個新特性,以及和手繪視頻的結合方式。
1. Windows Ink
? ??Windows Ink 平臺與筆設備一起提供了一種創建數字手寫便箋、繪圖和批注的自然方法。 該平臺支持將數字化器輸入捕獲為墨跡數據、生成墨跡數據、管理墨跡數據、在輸出設備上以筆劃墨跡形式呈現墨跡數據以及通過手寫識別將墨跡轉換為文本。而平臺的組件包括 InkCanvas 和 InkToolbar,利用它們可以完成 Ink 的接收和顯示,以及筆觸的選擇、粗細和顏色的選擇等操作;
2. InkCanvas 和 InkToolbar
? ? InkCanvas?定義了一個可以接收和展示所有筆輸入的區域,包括了墨跡筆畫和橡皮筆畫等;InkToolbar?定義了一個控件,其中包含可自定義且可擴展的按鈕集合,這些按鈕可激活關聯 InkCanvas 中與墨跡相關的功能。在課程過程中,會對這部分做代碼和實現效果的演示,本文中暫不展開。
3. Ink 結合手繪
? ? Ink 和手繪視頻的結合,主要有以下幾種方式:利用 InkCanvas 和 InkToolbar 實現 Ink 的獲取和存儲;自定義圓形菜單,實現 Ink 的選擇,設置和繪制數據獲取;利用系統支持的筆觸,計算路徑數據的手繪結果,實現手繪效果;自定義筆觸,存儲筆觸數據,實現路徑計算和疊加算法,實現手繪效果。
4. Surface Pen?
? ? 目前 Surface 配置的 Surface Pen 是第三代產品,和 Surface Pro 系列一起推出,可以吸附在 Surface 上 ,擁有 1024 級壓感,更精確的書寫和繪畫體驗。
? ? 與手繪視頻的結合包括:實現點選操作,代替鼠標或手指;在 Ink 中作為文字和筆劃輸入,或橡皮擦除筆劃;利用 Surface Pen 能夠更好的發揮 Ink 的作用,實現不同的筆觸和線條,不同的壓感,并把這些線條實現手繪動畫;
5. Surface Dial
? ? 2016年10月份,和 Surface Studio 一起發布;用于繪畫/制圖和其他操作中,非主要手的快捷操作;一手持筆,一手控制 Dial 旋鈕;
? ? 也手繪視頻的結合包括:實現 Dial 默認操作,包括聲音調整和其他系統操作;通過 RadialController 添加自定義菜單,結合 Dial 的點按和旋轉操作,實現自定義功能;自定義以及菜單點按后,進入自定義二級菜單,樣式和功能都可以自定義;
6. Windows Machine Learning
? ??2018 Windows Developer Day 發布,利用 Windows Machine Learning,開發者可以把模型集成到 Windows 應用中。
? ? 來畫 UWP 應用中結合了 Autodraw 功能,可以通過人工智能圖像識別技術,識別用戶繪制的線條,推薦素材供用戶使用。而 Windows ML 可以實現模型本地化,可以把 Autodraw 訓練的模型集成在 UWP 應用中,減少網絡傳輸時間,降低服務器負載,本地實現計算過程。
7. Windows Community Toolkit
? ??微軟官方的一個 UWP 社區工具包,后來擴展為 Windows 全平臺;2016 年 8月第一個版本,目前是 4.0 版本;不斷的在吸收對 Windows 平臺有用的功能,不斷的完善。 這個工具包中有很多 Windows 開發者的參與,對開發有很大的幫助,希望大家也可以參與進來;
?
總結
本篇我們對 Tech Summit 上會分享的課程做了簡單的介紹,一些詳細的分析和演示暫未體現,算是賣個小關子吧。如果大家對手繪視頻、UWP 應用或者 Windows 生態感興趣,歡迎參加 27 日下午5點的課程,大家一起交流研討,感謝大家的閱讀!
原文地址:https://www.cnblogs.com/shaomeng/p/9769270.html
.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總 http://www.csharpkit.com
總結
以上是生活随笔為你收集整理的Microsoft Tech Summit 2018 课程简述:利用 Windows 新特性开发出更好的手绘视频应用...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 开源文件服务器file-service介
- 下一篇: GitHub 发布 2018 年开源项目