SceneKit_入门09_物理身体

2024-06-11 01:38
文章标签 入门 物理 09 身体 scenekit

本文主要是介绍SceneKit_入门09_物理身体,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SceneKit_入门01_旋转人物SceneKit_入门02_如何创建工程SceneKit_入门03_节点SceneKit_入门04_灯光SceneKit_入门05_照相机SceneKit_入门06_行为动画SceneKit_入门07_几何体SceneKit_入门08_材质SceneKit_入门09_物理身体SceneKit_入门10_物理世界SceneKit_入门11_粒子系统SceneKit_入门12_物理行为SceneKit_入门13_骨骼动画SceneKit_中级01_模型之间的过渡动画SceneKit_中级02_SCNView 详细讲解SceneKit_中级03_切换照相机视角SceneKit_中级04_约束的使用SceneKit_中级05_力的使用SceneKit_中级06_场景的切换SceneKit_中级07_动态修改属性SceneKit_中级08_阴影详解SceneKit_中级09_碰撞检测SceneKit_中级10_滤镜效果制作SceneKit_中级11_动画事件SceneKit_高级01_GLSLSceneKit_高级02_粒子系统深入研究SceneKit_高级03_自定义力SceneKit_高级04_自定义场景过渡效果SceneKit_高级05 检测手势点击到节点SceneKit_高级06_加载顶点、纹理、法线坐标SceneKit_高级07_SCNProgram用法探究SceneKit_高级08_天空盒子制作SceneKit_高级09_雾效果SceneKit_大神01_掉落的文字SceneKit_大神02_弹幕来袭SceneKit_大神03_navigationbar上的3D文字

让学习成为一种习惯

今天带大家熟悉一下,SceneKit 游戏引擎中都有那几种物理身体,他们的作用是什么!

话不多少直接进入主题

什么是物理身体?

物理知识,告诉我们,力可以作用到物体上,物体一般都是有质量的,有质量的物体,力才能对它起作用。根据F= m*a; 这里的m(质量) 我们认为就是物理身体的一部分属性,还有一个就是形状,比如这个正方体,力加到面上,和力作用到几个顶点上,产生的效果完全是不一样的。

SceneKit 游戏引擎中提供了三种物理身体的属性,下面分别介绍.

  • 静态身体(StaticBody)
Scenekit_03.gif

理解:

动画下面的柱子添加了静态的物理身体,你可以这样理解,它有一个很大的质量。外力对他不起作用。

  • 动态身体(Dynamic)
让学习成为一种习惯

理解:

你可以这样理解,这个物体有自己的质量,并且不是无限大,能够收到力的作用。

  • 运动身体(kinematic)
学习要多思考

提示:
感觉和静态身体没有什么区别,这时候,我们要找出他们的区别来,就只能各种尝试了!当然官网也是有说明的,对于爱折腾的我,就喜欢先猜测一下.

尝试1:

我们设置下面的柱子为静态身体,球也为静态身体,给球设置一个向下移动的行为

让思考也变成习惯

尝试2:

设置下面的柱子为静态身体,球为运动身体

让思考也变成习惯

尝试3:

设置下面的柱子为动态身体,球为动态身体

思考力决定你能走多远

尝试4:

设置下面的柱子为动态身体,球为运动身体

多思考就能发现新大陆

总结:

  1. 静态身体
    不能主动给物体施作用,不能和动态身体和运行身体起作用
  2. 动态物体
    能够作用动态物体,但是不是作用静态身体和运动身体,但能被运动身体作用
  3. 运动身体
    不能作用静态身体,也不能被其他身体作用,但是作用动态身体
  • 如何创建物理身体

他是(节点)SCNNode的一个属性

@property(nonatomic, retain, nullable) SCNPhysicsBody *physicsBody NS_AVAILABLE(10_10, 8_0);

下面是三种物理身体的创建方法

// 静态身体创建
sphereNode.physicsBody = [SCNPhysicsBody staticBody];
// 动态身体创建
sphereNode.physicsBody = [SCNPhysicsBody dynamicBody];
// 运动身体创建
sphereNode.physicsBody = [SCNPhysicsBody kinematicBody];

我们刚才说过,物理身体是有形状的,如果你不指定,默认为几何模型自身的形状,那我们怎么自定义呢?

+ (instancetype)bodyWithType:(SCNPhysicsBodyType)type shape:(nullable SCNPhysicsShape *)shape;
@property(nonatomic, retain, nullable) SCNPhysicsShape *physicsShape;

怎么使用能?现在暂时不讲解,中级,高级,大神篇都不会讲,我们到超神篇讲解! 好了,今天的知识你掌握了吗?


代码库,听说经常给人点赞都当老板了!

这篇关于SceneKit_入门09_物理身体的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1049850

相关文章

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

从入门到精通MySQL 数据库索引(实战案例)

《从入门到精通MySQL数据库索引(实战案例)》索引是数据库的目录,提升查询速度,主要类型包括BTree、Hash、全文、空间索引,需根据场景选择,建议用于高频查询、关联字段、排序等,避免重复率高或... 目录一、索引是什么?能干嘛?核心作用:二、索引的 4 种主要类型(附通俗例子)1. BTree 索引(

Redis 配置文件使用建议redis.conf 从入门到实战

《Redis配置文件使用建议redis.conf从入门到实战》Redis配置方式包括配置文件、命令行参数、运行时CONFIG命令,支持动态修改参数及持久化,常用项涉及端口、绑定、内存策略等,版本8... 目录一、Redis.conf 是什么?二、命令行方式传参(适用于测试)三、运行时动态修改配置(不重启服务

MySQL DQL从入门到精通

《MySQLDQL从入门到精通》通过DQL,我们可以从数据库中检索出所需的数据,进行各种复杂的数据分析和处理,本文将深入探讨MySQLDQL的各个方面,帮助你全面掌握这一重要技能,感兴趣的朋友跟随小... 目录一、DQL 基础:SELECT 语句入门二、数据过滤:WHERE 子句的使用三、结果排序:ORDE

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能

《POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能》ApachePOI是一个流行的Java库,用于处理MicrosoftOffice格式文件,提供丰富API来创建、读取和修改O... 目录前言:Apache POIEasyPoiEasyExcel一、EasyExcel1.1、核心特性

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚