SceneKit_大神03_navigationbar上的3D文字
让学习成为一种习惯
粒子系统是什么?
百度百科:
粒子系统表示三维计算机图形学中模拟一些特定的模糊现象的技术,而这些现象用其它传统的渲染技术难以实现的真实感的 game physics。经常使用粒子系统模拟的现象有火、爆炸、烟、水流、火花、落叶、云、雾、雪、尘、流星尾迹或者象发光轨迹这样的抽象视觉效果等等。
SceneKit 给我们提供了那些粒子系统呢?下面先来展示一下
1.fire(🔥)
让学习成为一种习惯
2.confetti(五彩纸屑)
让学习成为一种习惯
3.bokeh(散景)
让学习成为一种习惯
4.Rain(下雨)
下雨了,心瞬间就静下来了
5.Reactor(反应堆)
让学习成为一种习惯
6.Smoke(烟)
让学习成为一种习惯
7.Star(✨)
让学习成为一种习惯
以上就是SceneKit 框架中提供给我们的几种粒子系统,下面我做个简单的例子帮助大家学习如何简单的使用粒子系统。
SCNView *scnView = [[SCNView alloc]initWithFrame:self.view.bounds];
scnView.backgroundColor = [UIColor blackColor];
scnView.scene = [SCNScene scene];
scnView.allowsCameraControl = TRUE;
[self.view addSubview:scnView];
SCNCamera *camera = [SCNCamera camera];
SCNNode *cameraNode = [SCNNode node];
cameraNode.camera = camera;
camera.automaticallyAdjustsZRange = TRUE;
cameraNode.position = SCNVector3Make(0, 0, 50);
[scnView.scene.rootNode addChildNode:cameraNode];
SCNBox *box = [SCNBox boxWithWidth:10 height:10 length:10 chamferRadius:0];
box.firstMaterial.diffuse.contents = @"1.PNG";
SCNNode *boxNode = [SCNNode nodeWithGeometry:box];
boxNode.position = SCNVector3Make(0, 10, -100);
[scnView.scene.rootNode addChildNode:boxNode];
让学习变成一种习惯
让学习变成一种习惯
如何把粒子添加到刚才创建的四方体上呢?
// 1.创建粒子系统对象
SCNParticleSystem *particleSystem = [SCNParticleSystem particleSystemNamed:@"fire.scnp" inDirectory:nil];
// 2.创建一个节点添加粒子系统
SCNNode *node = [SCNNode node];
[node addParticleSystem:particleSystem];
node.position = SCNVector3Make(0, -1, 0);
// 3.将粒子系统节点设置为四方体的子节点
[boxNode addChildNode:node];
完成之一步,今天我们的内容就结束了,是不是很简单!
运行结果:
学习是一件很好玩的事情
粒子系统是我们在游戏中特别重要的一块内容,相对内容也比较多,我们今天就简单的介绍到这里,在高级篇,我们在详细讲解它的更多高级用法。
代码库,听说经常给人点赞都当老板了!