[SceneKit專題-OC]3.Render Loop渲染循環(huán)

說明

  • 本系列文章的學(xué)習(xí)首先要感謝史前圖騰的共享精神,在他的系列文章中有詳細(xì)的解釋,但是他的代碼都是Swift寫的.并且代碼的解釋比較少,
  • 在這里我提供了demo-OC版供大家參考和學(xué)習(xí),基礎(chǔ)知識會一一為大家解釋,但是OC版的demo只提供最終合集,方便一次到位減少打開工程的次數(shù)
  • demo地址:
    OC-地址
    swif-地址

知識點(diǎn)

  • SCNView有一個(gè)delegate屬性,需要遵守SCNSceneRendererDelegate協(xié)議,這樣就可以在每幀畫面的動(dòng)畫和渲染過程中收到代理方法的調(diào)用.
   scenView.delegate = self;
    
    /*
     注意
     默認(rèn)情況下,如果一個(gè)場景中沒有任何改變時(shí),Scene Kit會進(jìn)入"paused"(暫停)狀態(tài),渲染循環(huán)暫停后代理方法將不會繼續(xù)調(diào)用,為了防止這種情況,需要在創(chuàng)建SCNView實(shí)例時(shí)設(shè)置playing屬性為true 這樣渲染循環(huán)的代理就會一直調(diào)用
     */
    scenView.playing = true;

SCNSceneRendererDelegate

/*
 該方法調(diào)用非常頻繁 - 一般是 屏幕渲染一次就會調(diào)用一次 具體你可以打印看一下
 可以在這里寫一些基礎(chǔ)邏輯,比如添加或移除node節(jié)點(diǎn).
 */
- (void)renderer:(id <SCNSceneRenderer>)renderer updateAtTime:(NSTimeInterval)time API_AVAILABLE(macosx(10.10));

/*!
 時(shí)場景中所有節(jié)點(diǎn)在這一幀的actions(動(dòng)作)和animations(動(dòng)畫)都已經(jīng)更新完成.
 */
- (void)renderer:(id <SCNSceneRenderer>)renderer didApplyAnimationsAtTime:(NSTimeInterval)time API_AVAILABLE(macosx(10.10));

/*!
 此時(shí)物理效果模擬已經(jīng)完成,可以在這里添加和物理效果有關(guān)的代碼,比如node在受到一個(gè)力影響后改
 */
- (void)renderer:(id <SCNSceneRenderer>)renderer didSimulatePhysicsAtTime:(NSTimeInterval)time API_AVAILABLE(macosx(10.10));

/*!
 此時(shí)即將要渲染場景,可以在這里對場景做最后的更改
 */
- (void)renderer:(id <SCNSceneRenderer>)renderer willRenderScene:(SCNScene *)scene atTime:(NSTimeInterval)time;

/*!
 它標(biāo)識著一個(gè)渲染循環(huán)的結(jié)束,可以寫一些邏輯更新代碼在這里,比如游戲中血量增減
 */
- (void)renderer:(id <SCNSceneRenderer>)renderer didRenderScene:(SCNScene *)scene atTime:(NSTimeInterval)time;

以下是運(yùn)行的效果圖 做到到了對已不在屏幕中心顯示的節(jié)點(diǎn)進(jìn)行了移除操作 避免內(nèi)存的持續(xù)增長


Untitled.gif
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末敬矩,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子催享,更是在濱河造成了極大的恐慌借浊,老刑警劉巖谬以,帶你破解...
    沈念sama閱讀 218,607評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡潭陪,警方通過查閱死者的電腦和手機(jī)钢拧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評論 3 395
  • 文/潘曉璐 我一進(jìn)店門蟹漓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人源内,你說我怎么就攤上這事葡粒。” “怎么了膜钓?”我有些...
    開封第一講書人閱讀 164,960評論 0 355
  • 文/不壞的土叔 我叫張陵嗽交,是天一觀的道長。 經(jīng)常有香客問我颂斜,道長夫壁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,750評論 1 294
  • 正文 為了忘掉前任焚鲜,我火速辦了婚禮掌唾,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘忿磅。我一直安慰自己糯彬,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評論 6 392
  • 文/花漫 我一把揭開白布葱她。 她就那樣靜靜地躺著撩扒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上搓谆,一...
    開封第一講書人閱讀 51,604評論 1 305
  • 那天炒辉,我揣著相機(jī)與錄音,去河邊找鬼泉手。 笑死黔寇,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的斩萌。 我是一名探鬼主播缝裤,決...
    沈念sama閱讀 40,347評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼颊郎!你這毒婦竟也來了憋飞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,253評論 0 276
  • 序言:老撾萬榮一對情侶失蹤姆吭,失蹤者是張志新(化名)和其女友劉穎榛做,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體内狸,經(jīng)...
    沈念sama閱讀 45,702評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡检眯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了答倡。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片轰传。...
    茶點(diǎn)故事閱讀 40,015評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡驴党,死狀恐怖瘪撇,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情港庄,我是刑警寧澤倔既,帶...
    沈念sama閱讀 35,734評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站鹏氧,受9級特大地震影響渤涌,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜把还,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評論 3 330
  • 文/蒙蒙 一实蓬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧吊履,春花似錦安皱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,934評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至缀踪,卻和暖如春居砖,著一層夾襖步出監(jiān)牢的瞬間虹脯,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,052評論 1 270
  • 我被黑心中介騙來泰國打工奏候, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留循集,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,216評論 3 371
  • 正文 我出身青樓蔗草,卻偏偏與公主長得像暇榴,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子蕉世,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評論 2 355

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,152評論 25 707
  • 本系列文章的學(xué)習(xí)首先要感謝史前圖騰的共享精神,在他的系列文章中有詳細(xì)的解釋,但是他的代碼都是Swift寫的.并且代...
    嚴(yán)兵勝閱讀 1,406評論 0 1
  • ${varname:=word} 如果 varname 存在且不是 null蔼紧,則返回它的值;否則狠轻,設(shè)置它為 wor...
    隨玉而安_gao閱讀 264評論 0 0
  • 這一刻奸例,我特別想你,來找我向楼,好不好查吊?跟我說說話,好不好湖蜕?我現(xiàn)在一點(diǎn)也不好逻卖。可是昭抒,我找不到你了评也。
    炊新煙閱讀 102評論 0 1
  • 十幾年前到重慶,吃重慶菜只有一個(gè)感覺:辣或者麻辣灭返!吃不出它的味道盗迟,只有滿嘴的無奈和嫌棄,甚至怨懟熙含!只想喝點(diǎn)水...
    漂渺之旅閱讀 166評論 0 0