Unity 2D碰撞检测 前言 游戏的制作过程中常常需要检测两个物体是否接触,unity为了方便开发者实现这样的功能提供了collider 和 rigbody 这两个组件。 collider它会为Game Obejct提供一个碰撞包围盒,然后每间隔0.02秒会计算一次包围盒是否和其他的包围盒重合,由此来检测物体的碰撞。 rigibody也称之为刚体,它会为Game Object 提供一系列的物理效果,如重力、摩擦力、弹力、受力反馈等,这里不多叙述unity物理引擎的使用,只记录rigibody在碰撞检测中发挥的作用…

2022年3月4日 0条评论 10996点热度 14人点赞 大脸猫 阅读全文

Unity制作的游戏由场景组成,场景中所有的物体都被成为Game Object,而精灵(Sprite)也是其中的一种。它在场景中有着十分广泛的用途,常常被用于实现游戏中控制的主角、ncp、怪物等。这里用于记录如何创建一个精灵并简单的使用它。 在创建一个精灵之前得先拥有一个Unity 2D的工程。 创建一个精灵最简单的方式就是在工程页面,右键工程名->GameObject->2D Object->Sprites->Square 依次选择,然后在给它取一个心爱的名称,这就是创建一个精灵的完整过程…

2022年3月4日 0条评论 10187点热度 4人点赞 大脸猫 阅读全文

C++类命名空间语法: <namespace>::<className> 但是在qss中,::符号已经被小部件语法使用,所以正确的语法是使用--表示命名空间,即 <namespace>--<className> namespace T{ class Widget{ ...... } } app.setStyleSleet("T--Widget{....}");

2022年2月28日 0条评论 4294点热度 3人点赞 大脸猫 阅读全文

如果遇到这样的问题,并且控件继承与QWidget,那么这个方案也许能解决问题。 void SubWidget::paintEvent(QPaintEvent* event) { QStyleOption opt; opt.init(this); QPainter p(this); style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this); } 只需要重写控件的paintEvent()函数即可。 参照QtHelp :https://doc…

2022年2月28日 0条评论 3534点热度 0人点赞 大脸猫 阅读全文

符号化是使用符号表示数据的一种可视化技术,符号可以简单也可以非常复杂, 在 VTK中 vtkGlyph3D 类可以创建一个具有大小、方向和用颜色表示的符号,输入数据对象中的每一个点都可以用符号来可视化。 vtkGlyph3D是一个过滤器,他会将固定的几何数据(符号数据)复制到输入的数据集的每一个点上,符号是通过void SetSourceData (vtkPolyData *pd)函数设置的,vectorMod和scalarMod会决定符号的方向和缩放比例。甚至还可以定义一个符号表,使用scalar的幅度对应每一个…

2022年2月26日 0条评论 4977点热度 2人点赞 大脸猫 阅读全文

QPropertyAnimaiton依托与QT的Property系统,使用时只需要提供一个QWidget对象,然后设置好控制动画的Property名称,再为这个属性设置好变化范围,最后调整动画的播放时间,调用start()函数就可以实现动画。 void setPropertyName(const QByteArray &propertyName) 这个函数的功能是为动画设置一个property参数,这个property需要执行表演的Widget对象包含,这里只需要传入property的名称即可。 这里是原生…

2022年2月25日 3条评论 6677点热度 4人点赞 大脸猫 阅读全文

参考之前记录的标量颜色映射,很多时候为了搞清楚标量在空间或者平面上的分布趋势,通常会通过提取等值面或者等值线的方式将这些数据可视化,这里会记录怎么使用VTK实现这样的功能。 工欲善其事必先利其器,实现这个功能的核心是vtkContourFIlter类,它提供了等值线(等值面)提取算法,只需要准备好数据,然后设置好轮廓参数,就可以实现了。关于过滤器的使用可以参考之前关于VTK渲染流水线的博客。 这个过滤器的功能是从众多的标量值中找出标量值相等的位置,把这些位置连成线或者生成面,当然这个过程中会使用已有的标量值进行插值…

2022年2月24日 0条评论 6294点热度 6人点赞 大脸猫 阅读全文

使用颜色映射标量数据是数据可视化中为了表现多个维度的数据时常用的一种手段 要作出这种图,数据类型一般为一个空间中的平面数据或者三维模型数据再加上一个或者多个的标量数据,在VTK中使用这样的数据类型需要了解两个关键类,vtkDataSetAttributes和vtkDataSet。 vtkDataSet是一个抽象类,不能直接实例化,它是VTK所有数据集类型的父类,主要为数据集类型声明了一些通用接口以及成员。 从这个继承树中可以看到vtkDataSet所有的子类。 实现颜色标量映射主要关注的只有两个接口: vtkCel…

2022年2月12日 20条评论 14055点热度 6人点赞 大脸猫 阅读全文

数据可视化是以图形的形式描述数据的一种方式,这其中包括三个步骤: 将数据转换为图形元素 将图形元素转换为计算机可绘制的图形 绘制图形 VTK将这个前两个步骤分解成了一些固定的过程,每个过程由不同的对象负责,将这些过程对象链接起来就是VTK的可视化流水线。 如图是一个数据到图形的最简单的可视化流水线。 Source代表数据源,源数据类型可以是多边形数据、网格数据、点数据等等,构造元数据的方式也多种多样,列如使用vtkCylinderSource类构造一个圆柱的数据,或者使用VTK提供的各种读取文件的类,从文件种生成源…

2022年1月12日 1条评论 5441点热度 2人点赞 大脸猫 阅读全文

这里使用了二维矩阵线程插值的方法和通过操作像素颜色来对QImage进行快速渲染方法,在之前的博文中有详细介绍。 二维矩阵线性插值方法:http://cppdebug.com/archives/155 QImage快速渲染方法:http://cppdebug.com/archives/186 通常需要使用Contour图展示的数据,都是三维数据。在绘制的过程中,一般用横纵坐标轴表示其中的一个数据,然后另一个数据使用颜色表示。 对于这样的需求,使用之前写到过的image数据渲染方法,非常简单就可以实现。 稍微改一改之前…

2021年7月15日 2条评论 6595点热度 4人点赞 大脸猫 阅读全文
145678