ARKit制作红包雨效果

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

思路:
1.用scenekit来创建红包模型  先创建一个长方体,此长方体厚度很薄 然后设置模型的contents为红包的图片
2.用仿真框架让红包掉下来
3.多设置几个源头 但正上方不要设置  否则屏幕经常会给一个红包遮住
关键性代码:
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图效果太差,只好让各位自行下载

代码 希望可以随手点个👍

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,259评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,229评论 4 61
  • 上一章/楔子 失恋是一条长河,你在河中,随波逐流,我在河岸,穷追不舍,望其远去,却无能为力,悲伤与痛苦涌上心头,泪...
    捞友君阅读 485评论 7 4
  • 在不起风的日子,心中仍有歌。 默默耕耘,不断的做到好、更好、最好。 然后就可能会有机会降临,脱颖而出。 ...
    子沐_5206阅读 239评论 0 0
  • 2017的一年,一晃神就这么过去了。平庸,无奇,有点浪费。 2018重新开始,人力资源资格证,驾驶证,英语,都...
    Hope小姐阅读 204评论 0 0