转载

ARKit制作红包雨效果

思路:

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图效果太差,只好让各位自行下载

代码 希望可以随手点个喜欢

作者:李境沛

链接:https://www.jianshu.com/p/4c20612206da

正文到此结束
Loading...