[SceneKit]引用节点Reference Nodes(八)

Reference Nodes: 在一个场景中(scn文件)去使用另一场景(scn)文件, 让两个场景中的效果组合起来. 这样做可以使我们对一个复杂场景进行模块划分, 分割成不同的组件进行绘制, 最后进行组合.

使用方法

首先要有两个场景, 选中最终要展示的scene, 把要被引用的节点拖进要展示的scene即可

屏幕快照 2017-07-25 上午10.07.10.jpg

这样game.scn里面就可以使用到obj_ball.scn中的ball节点了

下面具体认识下纹理贴图各个属性的含义

屏幕快照 2017-07-25 上午9.51.45.png

Diffuse(漫反射):给3维物体包裹一个2位图像
Specular(镜面):给几何体添加高光
Normal(法线):给几何体添加凹凸显示, 因为法线贴图可以控制光线的明亮阴暗
Reflective(反射):就是把天空的颜色反射到小球上
Emission(发光):使其发光

屏幕快照 2017-07-25 上午10.14.05.png

下面讲解每一个类型贴图的具体属性含义

屏幕快照 2017-07-25 上午10.05.24.png

Intensity: 光亮强度, 这可以控制您的漫反射材料的亮度级别; 0.0会使其完全黑色。
Mip Filter: Mipmap在3D图形学中主要是用来做anti-aliasing,这跟图像学中的概念是一致的:图像在缩小时因为采样率不够,就会导致混叠现象,如果是线,就表现为断线,如果是纹理比较复杂,就表现为纹理变得杂乱。在图形学中,我们经常会用到纹理贴图(注意:图形学中的纹理与图像学中的是两个概念,图像中一般将图片中较复杂的区域,即频谱能量高的,称为纹理;图形学中将用来贴图的图片统称为纹理),用来贴图的纹理大小与真正要render的区域不一定是刚好匹配的,这样就需要做放大或缩小,如果缩小,也就会产生上面所述的混叠现象。

现在先简单的理解为是为了改善渲染效果的

78946-20151222223953624-930004401.png

Scale: 默认情况下, 也就是值为1, 1的时候, 纹理图片会正好去包裹几何体的大小相当, Scale的作用就是把纹理缩放成原来的小的比例值, 加入设置成2, 2 纹理将会变成原来的1/4大小

Scale值为1, 1
屏幕快照 2017-07-25 下午3.03.48.jpg
Scale值为2, 2; 纹理只占1/4的区域
屏幕快照 2017-07-25 下午3.03..jpg

这个时候想要使用纹理渲染全部的区域就需要使用是否让纹理重复的属性了;
WarpS: 设置水平纹理重复
WarpT: 设置垂直纹理重复

屏幕快照 2017-07-25 下午3.10.17.png

看第二张图, 因为纹理的缩放比例被设置成的原来的1/3, 所以每个面之渲染了1/9的区域, 但是在渲染区域的右侧有一部扥被拉伸了, 这个拉伸的效
果及时Mip map造成的, 当设置WarpS为repeat时, 横向的被全部渲染, 当设置了WarpT为repeat时, 竖向的全部被渲染.


SkyBox天空盒

需要被渲染的天空盒贴图, 本人现在还没搞清楚scene是如何把这张图片渲染成skybox的效果的?


img_skybox.jpg

经过拼接之后的图片


屏幕快照 2017-07-25 下午3.35.02.png

实现的效果, 由于使用模拟器运行, 会有些卡顿, 有些黑色闪屏

Jietu20170725-213656.gif

什么是skybox?

为了给人以身临其境的感觉,游戏中所有的场景都会使用天空盒技术,用以模拟无穷远处的天空、山峦等景象。天空盒的实现有以下几个关键点:

1.  天空理论上应该位于无限远处,场景中任何物品都位于天空盒前部,而不会被其遮住;
2. 当在场景中移动时,场景中的物体会相对角色移动,但天空盒与自身相对位置保持静止不变;

 针对1, 可以通过让天空盒的变换后的z坐标位于可视范围内的最大值。这样场景中任何物品都能被正确渲染,并能遮挡远处的天空。因而符合实际情况;

 针对2, 为了实现让天空盒相对自己静止的效果,有两种方法:一是针对任一时刻自己的世界坐标,
        让天空盒具有相同的平移,这样自己将永远位于天空盒中心,从而相对静止;
        另一种方法是在渲染天空盒时,不对天空盒进行世界变换,并且让其视角矩阵中平移部分变为[0, 0, 0],
        这样天空盒可以保持在原点,由于视角空间中相机永远位于原点,因此自己相对天空盒位置总是保持相对静止。

下面来介绍一下天空盒实现的具体步骤:

1. 天空盒的几何体表示

在现实生活中,天空给我们的感觉是一个半球形。因此这里我们使用一个圆球,作为天空盒的几何体表示;

2. 天空盒纹理图

为了表示无限远处的天空、山峦等现象,我们需要在该圆球表面贴上包含空间任一角度的纹理图。
Cube map由于包含六张表示立方体各个面的贴图,而整个贴图把立方体内部整个空间完整地包围起来,因此可以用它来模拟周围的环境。这处情况下的应用,我们称之为环境映射(Environment Mapping)。这个想法其实很容易理解,考虑以下情形:把摄像机调整为90度视角,宽、高比设为1,放于某一点处。然后向周边上、下、左、右、前、后六个方向上分别拍照。这种情况下摄像机所能拍摄到的部分将囊括整个场景,而这六张拍摄的图片所组成的Cube Map即可作为表示相机位置处的周边场景的环境图(Environment Map)。

3.天空纹理映射

有了天空盒的几何表示以及环境图,现在的问题就是如何映射该环境图了。在上面介绍Cube Mapping时我们说过,Cube Mapping使用3D向量来实现纹理映射。这里Environment Mapping作为一种特殊的Cube Mapping,当然也可以使用这种映射方法。

使用在Scene中直接设置的方法来设置skybox

屏幕快照 2017-07-25 下午9.44.57.jpg

之后就可以看到skybox效果了

RefrenceNodes

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容