SceneKit_中級(jí)10_濾鏡效果制作

SceneKit_入門01_旋轉(zhuǎn)人物
SceneKit_入門02_如何創(chuàng)建工程
SceneKit_入門03_節(jié)點(diǎn)
SceneKit_入門04_燈光
SceneKit_入門05_照相機(jī)
SceneKit_入門06_行為動(dòng)畫
SceneKit_入門07_幾何體
SceneKit_入門08_材質(zhì)
SceneKit_入門09_物理身體
SceneKit_入門10_物理世界
SceneKit_入門11_粒子系統(tǒng)
SceneKit_入門12_物理行為
SceneKit_入門13_骨骼動(dòng)畫
SceneKit_中級(jí)01_模型之間的過渡動(dòng)畫
SceneKit_中級(jí)02_SCNView 詳細(xì)講解
SceneKit_中級(jí)03_切換照相機(jī)視角
SceneKit_中級(jí)04_約束的使用
SceneKit_中級(jí)05_力的使用
SceneKit_中級(jí)06_場(chǎng)景的切換
SceneKit_中級(jí)07_動(dòng)態(tài)修改屬性
SceneKit_中級(jí)08_陰影詳解
SceneKit_中級(jí)09_碰撞檢測(cè)
SceneKit_中級(jí)10_濾鏡效果制作
SceneKit_中級(jí)11_動(dòng)畫事件
SceneKit_高級(jí)01_GLSL
SceneKit_高級(jí)02_粒子系統(tǒng)深入研究
SceneKit_高級(jí)03_自定義力
SceneKit_高級(jí)04_自定義場(chǎng)景過渡效果
SceneKit_高級(jí)05 檢測(cè)手勢(shì)點(diǎn)擊到節(jié)點(diǎn)
SceneKit_高級(jí)06_加載頂點(diǎn)、紋理扬卷、法線坐標(biāo)
SceneKit_高級(jí)07_SCNProgram用法探究
SceneKit_高級(jí)08_天空盒子制作
SceneKit_高級(jí)09_霧效果
SceneKit_大神01_掉落的文字
SceneKit_大神02_彈幕來襲
SceneKit_大神03_navigationbar上的3D文字

讓學(xué)習(xí)成為一種習(xí)慣

本節(jié)學(xué)習(xí)目標(biāo)

在SceneKit 游戲引擎中如何使用濾鏡

其實(shí)很簡(jiǎn)單的

需要重點(diǎn)關(guān)注一個(gè)屬性和一個(gè)類

  • SCNNode 的一個(gè)屬性
open var filters: [CIFilter]?
  • CIFilter

內(nèi)置的核心圖像濾鏡處理,這個(gè)類可以創(chuàng)建很多濾鏡效果,當(dāng)然我們也可以自定義濾鏡效果,關(guān)于這個(gè)類的詳細(xì)使用情況請(qǐng)查閱蘋果官方文檔

舉個(gè)簡(jiǎn)單的例子告訴你怎么使用

  • 第一步 創(chuàng)建工程(略)
  • 第二步 導(dǎo)入框架SceneKit
  • 第三步 創(chuàng)建游戲?qū)S靡晥D
let scnView = SCNView(frame: self.view.bounds, options: [SCNView.Option.preferredRenderingAPI.rawValue:true])     
scnView.backgroundColor = UIColor.black
self.view.addSubview(scnView)
  • 第四步 創(chuàng)建游戲場(chǎng)景
 let scene = SCNScene()
 scnView.scene = scene
  • 第五步 創(chuàng)建照相機(jī)
let cameraNode = SCNNode()
cameraNode.camera = SCNCamera()
scene.rootNode.addChildNode(cameraNode)
  • 第六步 創(chuàng)建一個(gè)正方體
let box = SCNBox(width: 1, height: 1, length: 1, chamferRadius: 0)
box.firstMaterial?.diffuse.contents = "1.png"
let boxNode = SCNNode(geometry: box)
boxNode.position = SCNVector3Make(0, 0, -2)
scene.rootNode.addChildNode(boxNode)

可以添加一個(gè)環(huán)境光源如果不手動(dòng)創(chuàng)建環(huán)境光,系統(tǒng)會(huì)自動(dòng)創(chuàng)建一個(gè)環(huán)境光,注意一點(diǎn),系統(tǒng)這個(gè)光源是沒有辦法獲取的

這個(gè)時(shí)候,你可以運(yùn)行一下

讓學(xué)習(xí)成為一種習(xí)慣

上面是基本的東西,相信所有跟著我的教程學(xué)習(xí)的所有伙伴都已經(jīng)完全掌握了,那么我們接下來就演示一下如何對(duì)我們這個(gè)圖片進(jìn)行濾鏡

  • 濾鏡1
let filter = CIFilter(name: "CIEdgeWork")!
boxNode.filters = [filter]
讓學(xué)習(xí)成為一種習(xí)慣
  • 濾鏡 2
  let filter = CIFilter(name: "CIGaussianBlur")!
  filter.setDefaults()
  filter.setValue(10, forKey: kCIInputRadiusKey)
  boxNode.filters = [filter]
讓學(xué)習(xí)成為一種習(xí)慣
  • 濾鏡 3
 let filter = CIFilter(name: "CISepiaTone")!     
 filter.setDefaults()
 filter.setValue(0.8, forKey: kCIInputIntensityKey)                    
 boxNode.filters = [filter]
讓學(xué)習(xí)成為一種習(xí)慣
  • 濾鏡 4
  let filter = CIFilter(name: "CISepiaTone",withInputParameters: [kCIInputIntensityKey: 5])!
 boxNode.filters = [filter]
讓學(xué)習(xí)成為一種習(xí)慣
  • 濾鏡 5
let filter = CIFilter(name: "CIPixellate",
withInputParameters: [kCIInputScaleKey: 10.0])!
boxNode.filters = [filter]
感謝一直關(guān)注我的朋友們,你們的認(rèn)可,給了我前進(jìn)的動(dòng)力
  • 濾鏡 6
let filter = CIFilter(name: "CIPhotoEffectProcess")!
 boxNode.filters = [filter]
讓學(xué)習(xí)成為一種習(xí)慣

我們知道濾鏡屬性是一個(gè)數(shù)組,那么必然可以組合使用,我們下面演示一下

 let filter1 = CIFilter(name: "CIPixellate",
        withInputParameters: [kCIInputScaleKey: 10.0])!
let filter2 = CIFilter(name: "CIPhotoEffectProcess")!
    boxNode.filters = [filter1,filter2]
分享是一種快樂,點(diǎn)贊是一種美德

偷偷的告訴你

系統(tǒng)框架提供了很多濾鏡效果,上面只是冰山一角,應(yīng)該都滿足大多數(shù)的濾鏡效果,如果你真的需要自定義濾鏡效果,那你可以使用 CIKernel,CISampler, CIFilterShape 他們 或者GLSL 進(jìn)行自定義濾鏡設(shè)計(jì)

參考

CIAdditionCompositing //影像合成
CIAffineTransform //仿射變換
CICheckerboardGenerator //棋盤發(fā)生器
CIColorBlendMode //CIColor混合模式
CIColorBurnBlendMode //CIColor燃燒混合模式
CIColorControls
CIColorCube //立方體
CIColorDodgeBlendMode //CIColor避免混合模式
CIColorInvert //CIColor反相
CIColorMatrix //CIColor矩陣
CIColorMonochrome //黑白照
CIConstantColorGenerator //恒定顏色發(fā)生器
CICrop //裁剪
CIDarkenBlendMode //亮度混合模式
CIDifferenceBlendMode //差分混合模式
CIExclusionBlendMode //互斥混合模式
CIExposureAdjust //曝光調(diào)節(jié)
CIFalseColor //偽造顏色
CIGammaAdjust //灰度系數(shù)調(diào)節(jié)
CIGaussianGradient //高斯梯度
CIHardLightBlendMode //強(qiáng)光混合模式
CIHighlightShadowAdjust //高亮陰影調(diào)節(jié)
CIHueAdjust //飽和度調(diào)節(jié)
CIHueBlendMode //飽和度混合模式
CILightenBlendMode
CILinearGradient //線性梯度
CILuminosityBlendMode //亮度混合模式
CIMaximumCompositing //最大合成
CIMinimumCompositing //最小合成
CIMultiplyBlendMode //多層混合模式
CIMultiplyCompositing //多層合成
CIOverlayBlendMode //覆蓋疊加混合模式
CIRadialGradient //半徑梯度
CISaturationBlendMode //飽和度混合模式
CIScreenBlendMode //全屏混合模式
CISepiaTone //棕黑色調(diào)
CISoftLightBlendMode //弱光混合模式
CISourceAtopCompositing
CISourceInCompositing
CISourceOutCompositing
CISourceOverCompositing
CIStraightenFilter //拉直過濾器
CIStripesGenerator //條紋發(fā)生器
CITemperatureAndTint //色溫
CIToneCurve //色調(diào)曲線
CIVibrance //振動(dòng)
CIVignette //印花
CIWhitePointAdjust //白平衡調(diào)節(jié)

代碼庫,聽說經(jīng)常給人點(diǎn)贊都變帥了!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌谣妻,老刑警劉巖鲤脏,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異葬凳,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)室奏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門火焰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人胧沫,你說我怎么就攤上這事昌简。” “怎么了绒怨?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵纯赎,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我南蹂,道長(zhǎng)犬金,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任六剥,我火速辦了婚禮佑附,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘仗考。我一直安慰自己音同,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布秃嗜。 她就那樣靜靜地躺著权均,像睡著了一般。 火紅的嫁衣襯著肌膚如雪锅锨。 梳的紋絲不亂的頭發(fā)上叽赊,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天,我揣著相機(jī)與錄音必搞,去河邊找鬼必指。 笑死,一個(gè)胖子當(dāng)著我的面吹牛恕洲,可吹牛的內(nèi)容都是我干的塔橡。 我是一名探鬼主播梅割,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼葛家!你這毒婦竟也來了户辞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤癞谒,失蹤者是張志新(化名)和其女友劉穎底燎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體弹砚,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡双仍,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了桌吃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片殊校。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖读存,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情呕屎,我是刑警寧澤让簿,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站秀睛,受9級(jí)特大地震影響尔当,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蹂安,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一椭迎、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧田盈,春花似錦畜号、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至述暂,卻和暖如春痹升,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背畦韭。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國(guó)打工疼蛾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人艺配。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓察郁,卻偏偏與公主長(zhǎng)得像衍慎,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子绳锅,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容