| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> (八)flax Engine游戏引擎物理引擎——物理碰撞器 -> 正文阅读 |
|
[游戏开发](八)flax Engine游戏引擎物理引擎——物理碰撞器 |
2021SC@SDUSC? ? ? ? ?之前的七次flaxEngine游戏引擎中的物理引擎分析涵盖了四种不同 的物理对象的分析,本次源码分析我们将针对flaxEngine游戏引擎中最后一个Actor 对象——PhysicsColliderActor进行源码分析。后面我们将针对物理引擎中的连接器和其他物理对象进行分析。 ? 同上次一样本次PhysicsColliderActor (物理碰撞器)的相关源码内容较少,所以我将针对PhysicsColliderActor.h头文件和PhysicsColliderActor.c 文件进行分析。 一:PhysicsColliderActor.h头文件:
首先是class的定义:继承自Actor对象名字叫PhysicsColliderActor(物理对撞机)
此函数为此碰撞器初始化碰撞开始时发生(它与某物碰撞)
此函数为此碰撞器注册碰撞结束时发生(它结束与某物的碰撞)
此函数为此碰撞器注册触发器接触开始时发生(另一个碰撞器输入它并触发事件)。
此函数为该碰撞器注册触发器接触端时发生(另一个碰撞器进入并触发事件)。
获取此对象的刚体属性。
此函数表示一个碰撞体初始化
此函数表示一个碰撞体结束
当为该碰撞器注册了一个触发触发启动时调用(另一个碰撞器进入并触发该事件)
当为该碰撞器注册触发器接触端时调用(另一个碰撞器进入并触发事件)。 上述就是PhysicsColliderActor(碰撞器)的头文件的全部内容,接下来我们分析PhysicsColliderActor.c文件。 二:PhysicsColliderActor.c
构造函数,维护一个内存
此函数是一个碰撞器的初拾化,其中的CollisionEnter是刚体中一个函数可以查看我之前刚体的内容板块。
此函数表示一个碰撞体结束,同上述创建一个碰撞器一样调用其刚体的函数。
当为该碰撞器创建了一个触发触发启动时调用(另一个碰撞器进入并触发该事件),获取碰撞器的附着刚体,调用其方法。
当为该碰撞器创建触发器接触端时调用(另一个碰撞器进入并触发事件)。获取碰撞器的附着刚体,然后调用刚体的相关方法。 上述就是PhysicsColliderActor.h头文件和PhysicsColliderActor.c文件的全部内容,经过相关的源码分析我们了解到PhysicsColliderActor大部分都是依靠刚体来实现物理内容的定义或者物理属性的限制。所以可以看出来flaxEngine游戏引擎中的物理引擎大部分都是依靠刚体来实现的物理条件的限制,所以刚体在物理引擎中是十分重要的。他是物理 引擎的Actor的基本单位,所以如果要了解一个游戏引擎的物理,首先要好好查看其物理引擎的相关内容的定义。此对我们了解其他内容也是很大程度的上的帮助。 本次flax Engine游戏引擎的物理引擎分析完毕,而flaxEngine游戏引擎中的Actor对象内容我们就全部分析结束。所以我们下次将针对物理引擎中的连接器和其他物理对象进行分析。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 22:38:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |