《three開發(fā)指南》閱讀筆記——第五章

1亚侠、CircleGeometry

? ? ? ? A、看書籍提到屬性thetaLength的值,以為其值設(shè)置超過2 *π會有報錯信息,或者其值真正繪制的弧長等于thetaLength % (2 *π)揽碘。經(jīng)過嘗試發(fā)現(xiàn)超過2 *π的部分也會被繪制:

? ? ? ? B栋齿、書籍提到segments的值最少3個,當(dāng)segments的值小于3髓迎,其繪制效果與等于3的效果一樣。


2、ShapeGeometry

? ? ????A狮杨、點擊Gui的asPoints按鈕報錯:

????????對比Shape的官網(wǎng)信息,感覺和Shape.extractPoints方法相近到忽,extractPoints的返回值有兩個橄教,看github的效果,只繪制外層線框喘漏,那應(yīng)該是用Shape.extractPoints(divisions).shape替換护蝶。
? ? ? ? 調(diào)整代碼:

????????刷新頁面,可以繪制與github示例相同的效果翩迈,但是控制臺報錯:

????????不明白為什么BufferGeometry.boundingSphere是有值的持灰,查看模塊“LineBasicMaterial”的C點內(nèi)容BufferGeometry的boundingSphere也是有值的,屬性相近负饲。對比模塊“LineBasicMaterial”的C點內(nèi)容堤魁,本示例屬性boundingSphere的center的類型應(yīng)該是Vector2,不知道怎么修改返十。
????????將BufferAttribute構(gòu)造函數(shù)的2改成3妥泉,這樣boundingSphere的center的類型是Vector3,計算應(yīng)該沒有問題吧慢。刷新頁面發(fā)現(xiàn)報錯依然存在涛漂。看BufferGeometry.attribute.position.count的值不是整數(shù)检诗,不知道是不是這個的問題匈仗。本來打算修改傳入dataList的長度余3為0,后面想“我為什么不把dataList.pust(item.x, item.y)改成dataList.pust(item.x, item.y, 0)呢逢慌?反正二維轉(zhuǎn)三維就是z坐標(biāo)為0悠轩。”攻泼。修改后刷新頁面發(fā)現(xiàn)火架,報錯信息沒有鉴象。
????????經(jīng)過這一遭,感覺用在BufferGeometry上何鸡,BufferAttribute構(gòu)造函數(shù)傳入的數(shù)字只能為3纺弊。

? ? ? ? B、A部分值繪制的外框骡男,兩個圓和一個圓沒有繪制出來淆游。可以通過Shape.extractPoints(divisions).holes獲取這部分的點隔盛,參照A部分的內(nèi)容加圓的點追加到dataList犹菱,刷新頁面后,發(fā)現(xiàn)頁面只繪制外框吮炕,并有報錯A部分的錯誤腊脱。
? ? ? ? 打印Shape.extractPoints(divisions).holes,發(fā)現(xiàn)其結(jié)構(gòu)與Shape.extractPoints(divisions).shape不一樣龙亲,調(diào)整圓點傳入方式:

????????繪制效果如下:

????????不知道是不是因為是Line陕凹,所以必須點點相連。調(diào)整代碼只傳入一個圓俱笛,刷新代碼捆姜,發(fā)現(xiàn)這個圓會于外框的一個點連起來,驗證的推測迎膜。

? ? ? ? C、點擊Gui的asSpacePoints按鈕報錯:

????????根據(jù)報錯浆兰,Shape沒有createSpacedPointsGeometry方法磕仅,對于官網(wǎng),沒有找到符合的替換方法簸呈。下載github的代碼運(yùn)行榕订,這部分也是報錯的,不知道書籍原本的效果是什么樣的蜕便。


補(bǔ)充:github上寫了與RingGeometry的示例劫恒,書籍沒有提到。

? ? ? ? A轿腺、調(diào)整thetaSegments的值两嘴,小于3的繪制效果與值為3的效果一樣。thetaSegments的值越大族壳,繪制的圖形越趨近于圓環(huán)憔辫。

? ? ? ? B、調(diào)整phiSegments的值仿荆,小于1的繪制效果與值為1效果一樣贰您。

? ? ? ? C坏平、調(diào)整thetaLength的值,面形成閉環(huán)的值為2 *π锦亦。thetaLength的超過2 *π舶替,圖形收縮繪制如:

????????thetaLength的值也可以設(shè)置為負(fù)值,相較于絕對值相等的正值杠园,其形狀大小相同坎穿,顏色不同(材質(zhì)為MeshNormalMaterial,且MeshNormalMaterial.side為THREE.DoubleSide)返劲。

? ? ? ? D玲昧、調(diào)整innerRadius的值,當(dāng)innerRadius和outerRadius同為正值或負(fù)值時篮绿,大的部分做外環(huán)的半徑孵延,小的做內(nèi)環(huán)的半徑;當(dāng)innerRadius和outerRadius一正一負(fù)亲配,會繪制兩個疊一起的圓形尘应,如:


3、CubeGeometry

? ? ? ? A吼虎、BoxGeometry的屬性widthSegments犬钢、heightSegments、depthSegments不能為0思灰,為0會有報錯信息:

????????不過上面三個屬性其中某一個A屬性為0玷犹,也能渲染物體,與屬性A相關(guān)分段的4個頁面將不會繪制洒疚。當(dāng)上面三個屬性為0的數(shù)量大于1時歹颓,物體將不會繪制。


4油湖、SphereGeometry

? ? ? ? A巍扛、繪制一個完整的球體,屬性phiLength的值需要為2 *π乏德,屬性thetaLength的值為π撤奸。phiLength的值可以大于2 *π,thetaLength的值大于π時喊括,圖形會卷著繪制胧瓜,如:

????????當(dāng)phiLength等于phiStart或者thetaLength等于thetaStart時,只繪制一條線瘾晃,當(dāng)前面兩個條件同時滿足贷痪,沒有物體繪制。

? ? ? ? B蹦误、感覺屬性widthSegments和heightSegments應(yīng)該值小于3的繪制效果等同值為3的效果劫拢。經(jīng)過嘗試widthSegments確實是肉津,heightSegments是值小于2時的繪制效果等同與值為2。


5舱沧、CylinderGeometry

? ? ? ? A妹沙、調(diào)整屬性radialSegments的值,發(fā)現(xiàn)值為2時熟吏,繪制結(jié)果為平面距糖,值為1時,繪制結(jié)果為線條牵寺,值為0時悍引,無內(nèi)容繪制并報錯(前提屬性radiusTop、radiusBottom和height不為0)帽氓。
????????設(shè)置radialSegments的值為負(fù)值趣斤,繪制效果同值為0時。

? ? ? ? B黎休、當(dāng)屬性height的值不為0浓领,radiusTop或radiusBottom的值為0時,繪制效果為圓錐势腮。當(dāng)屬性height為0時联贩,radiusTopd和radiusBottom的值都不為0時,會繪制兩個疊一起的圓捎拯,如:

????????當(dāng)屬性openEnded的值為true時泪幌,且屬性height為0時,radiusTopd和radiusBottom的值都不為0時玄渗,繪制效果如下:

????????當(dāng)height座菠、radiusTopd和radiusBottom都為0時,無內(nèi)容繪制藤树。
????????radiusTopd和radiusBottom都可以設(shè)置為負(fù)值,當(dāng)值為負(fù)值時對應(yīng)的圓形不會繪制拓萌,通過openEnded也無法使圓形繪制岁钓。
????????Height可以設(shè)置為負(fù)值,繪制效果看上去與值為正值無區(qū)別微王,通過MeshNormalMaterial反饋的顏色不同屡限,得到負(fù)值和正值的區(qū)別。

? ? ? ? C炕倘、調(diào)整屬性heightSegments的值钧大,發(fā)現(xiàn)值為0時,繪制兩個圓形并報錯(前提屬性radiusTop罩旋、radiusBottom和height不為0)啊央。
????????設(shè)置heightSegments的值為負(fù)值眶诈,繪制效果同值為0時。


6瓜饥、TorusGeomaterial

????????A逝撬、調(diào)整tube的值,絕對值相同乓土,繪制效果相同宪潮。值為0時,繪制線條趣苏。

????????B狡相、調(diào)整radius的值,絕對值相同的兩個值食磕,繪制物體的大小形狀一樣尽棕,材質(zhì)會MeshNormalMaterial時,顏色不同芬为。

????????C萄金、調(diào)整arch的值,效果同B部分媚朦,繪制一個完整的環(huán)對應(yīng)的值為2 *π氧敢,超過將會卷著繪制:

????????D、調(diào)整radialSegments的值询张,效果同30小點A部分孙乖。

????????E、調(diào)整tubularSegments的值份氧,效果同D部分唯袄。


7、TorusKnotGeometry

? ? ? ? A蜗帜、調(diào)整radius的值恋拷,值為0,無內(nèi)容繪制厅缺;絕對值相同的兩個值蔬顾,繪制物體的顏色一樣,形狀大小看起來像按某個方向反轉(zhuǎn)湘捎。

????????B诀豁、調(diào)整tube的值,值為0窥妇,繪制線條舷胜;絕對值相同的兩個值,繪制物體的顏色形狀大小一樣活翩。

????????C烹骨、調(diào)整radialSegments的值翻伺,小于1時,無內(nèi)容繪制且報錯展氓;值為1時穆趴,繪制線條圓形;值為2時遇汞,繪制一個被扭曲的面未妹;值大于2,正常繪制內(nèi)容空入。

????????D络它、調(diào)整tubularSegments的值,小于1時歪赢,無內(nèi)容繪制且報錯化戳;值為1時,radialSegments的值為1埋凯,無內(nèi)容繪制点楼,radialSegments的值2,繪制直線白对,radialSegments值大于2掠廓,繪制成環(huán)的線條;值為2時甩恼,當(dāng)radialSegments的值為1時蟀瞧,繪制一條直線,radialSegments的值為3条摸,繪制一個平面悦污,radialSegments大于3,繪制被折疊的面钉蒲;值大于2切端,管道樣式封口。

????????E顷啼、調(diào)整P的值帆赢,值為0時,無內(nèi)容繪制并報錯线梗;絕對值相同的兩個值,正值和負(fù)值繪制物體的形狀大小一樣怠益,顏色不同仪搔。

????????F、調(diào)整q的值蜻牢,值為0時烤咧,有物體繪制偏陪。絕對值相同的兩個值,正值和負(fù)值繪制物體的顏色一樣煮嫌,形狀大小看起來像按某個方向反轉(zhuǎn)笛谦。

????????G、書籍提到的屬性heightScale昌阿,對比官網(wǎng)饥脑,應(yīng)該是被移除了。


8懦冰、PolyhedronGeomery

? ? ? ? A灶轰、調(diào)整radius的值,值為0刷钢,無內(nèi)容繪制笋颤;絕對值相同的兩個值,正值和負(fù)值繪制物體的形狀大小一樣内地,顏色不同伴澄。

? ? ? ? B、調(diào)整detail的值阱缓,值小于0非凌,無內(nèi)容繪制。值越大茬祷,繪制的物體也趨近于球體


9清焕、IcosahedronGeometry

? ? ? ? A、調(diào)整radius值為0祭犯,無內(nèi)容繪制秸妥;絕對值相同的兩個值,正值和負(fù)值繪制物體的形狀大小一樣沃粗,當(dāng)detail的值為0時粥惧,兩者顏色相同,detail大于0時最盅,兩者顏色不同突雪。

? ? ? ? B、調(diào)整detail的值涡贱,效果同33小點B部分咏删。


10、TetrahedronGeometry

????????A问词、調(diào)整radius值為0督函,無內(nèi)容繪制;絕對值相同的兩個值,正值和負(fù)值繪制物體的形狀大小看起來像按某個方向反轉(zhuǎn)辰狡,顏色不同锋叨。

? ? ? ? B、調(diào)整detail的值宛篇,效果同33小點B部分娃磺。


10、Octahedron

????????小節(jié)整體內(nèi)容同模塊“IcosahedronGeometry”叫倍。


補(bǔ)充:DodecahedronGeometry的屬性radius和detail的調(diào)整效果同模塊“IcosahedronGeometry”偷卧。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市段标,隨后出現(xiàn)的幾起案子涯冠,更是在濱河造成了極大的恐慌,老刑警劉巖逼庞,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蛇更,死亡現(xiàn)場離奇詭異,居然都是意外死亡派任,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進(jìn)店門璧南,熙熙樓的掌柜王于貴愁眉苦臉地迎上來掌逛,“玉大人,你說我怎么就攤上這事司倚《够欤” “怎么了?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵动知,是天一觀的道長皿伺。 經(jīng)常有香客問我,道長盒粮,這世上最難降的妖魔是什么鸵鸥? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮丹皱,結(jié)果婚禮上妒穴,老公的妹妹穿的比我還像新娘。我一直安慰自己摊崭,他們只是感情好讼油,可當(dāng)我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著呢簸,像睡著了一般汁讼。 火紅的嫁衣襯著肌膚如雪淆攻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天嘿架,我揣著相機(jī)與錄音,去河邊找鬼啸箫。 笑死耸彪,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的忘苛。 我是一名探鬼主播蝉娜,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼扎唾!你這毒婦竟也來了召川?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤胸遇,失蹤者是張志新(化名)和其女友劉穎荧呐,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纸镊,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡倍阐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了逗威。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片峰搪。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖凯旭,靈堂內(nèi)的尸體忽然破棺而出概耻,到底是詐尸還是另有隱情,我是刑警寧澤罐呼,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布鞠柄,位于F島的核電站,受9級特大地震影響弄贿,放射性物質(zhì)發(fā)生泄漏春锋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一差凹、第九天 我趴在偏房一處隱蔽的房頂上張望期奔。 院中可真熱鬧,春花似錦危尿、人聲如沸呐萌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肺孤。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間赠堵,已是汗流浹背小渊。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留茫叭,地道東北人酬屉。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像揍愁,于是被迫代替她去往敵國和親呐萨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,515評論 2 359

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