前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ARKit制作红包雨效果

ARKit制作红包雨效果

原创
作者头像
发布2018-05-07 15:01:28
1.8K5
发布2018-05-07 15:01:28
举报
文章被收录于专栏:浅探ARKit浅探ARKit

新年快到了!给大家献上一个3D红包雨效果!

#####思路:

代码语言:txt
复制
1.用scenekit来创建红包模型  先创建一个长方体,此长方体厚度很薄 然后设置模型的contents为红包的图片
2.用仿真框架让红包掉下来
3.多设置几个源头 但正上方不要设置  否则屏幕经常会给一个红包遮住

#####关键性代码:

代码语言:txt
复制
geometerNode.physicsBody = [SCNPhysicsBody bodyWithType:SCNPhysicsBodyTypeDynamic shape:nil];
    
//设置力
NSInteger X = (NSInteger)(arc4random_uniform(9)) - 4;
    
NSInteger Y = (NSInteger) (1 );
    
NSInteger Z = (NSInteger)(arc4random_uniform(9)) - 4;
    
[geometerNode.physicsBody applyForce:SCNVector3Make(X, -Y, Z) atPosition:SCNVector3Make(0.05, 0.05, 0.05) impulse:YES];

static:静态物体不会移动,不会受到力的影响,其他物体击飞不了它, 比如游戏里的墙壁。

dynamic:会受到力的影响,比较小的物体,比如游戏里的野怪。

kinematic:会移动 但不受力影响的物体,比如游戏里的怎么打都打不坏的大门。

在SceneKit中所有的物理对象都是SCNPhysicsBody, 然后需要把该对象绑定到SCNNode的physicsBody实例属性, 然后物理引擎就可以进行仿真模拟了。

录制gif图效果太差,只好让各位自行下载

代码 希望可以随手点个👍

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档