摘要:
一、平面的描述使用Ax+By+Cz=W的形式。因此在手动计算时要注意不要使用现成的结论:Ax+By+Cz+D=0的形式: 二从观察点和朝向定义View矩阵 阅读全文
2017年4月6日 #
2017年4月5日 #
摘要:
一、AActor::bReplicates = false,在APawn中初始化为true。另外在AActor中定义了: 该变量没有初始化,但在APawn中初始化为true. 所以从APawn(包括ACharacter)继承的类,bReplicats已经为真,无需再初始化。 二、使用UPROPERT 阅读全文
2017年3月31日 #
摘要:
一、得到当前运行的屏幕分辨率: 二、使用DeprojectScreenPositionToWorld运算: 其中,PlayerController为对应的控制器。 UGameViewportClient的说明: 解(反)投影?不确切这个词怎么译……。 DeprojectScreenPositionT 阅读全文
2017年3月28日 #
摘要:
一、UShapeComponent组件的默认CollisionProfile为:OverlapAllDynamic.这会影响到由此派生的许多组件。 二、TwinStickShooter中绑定键盘的方式也很有意思,摘抄如下: 这样就可以随时调用函数得到按键信息: 三、自定义(手动)绘制网格时,可以参考 阅读全文
2017年3月23日 #
摘要:
TwinStickShooter模板应该是比较好的了解UE基本Pawn和Projectile的一个C++例子。以下是一些问题。 一、这个模板以纯C++编写,没有蓝图,所以第一步,我想测试下如何引用蓝图,以修改子弹的外观为例。 从ATwinStickShooterProjectile派生蓝图类,称为B 阅读全文
2017年3月20日 #
2017年3月17日 #
摘要:
一、从ALevelScriptActor派生自己的类,添加功能并编译。 二、在编辑器中打开level blueprint,然后class default选项卡中,在细节面板中Parent class选择自己刚才定义的类,搞定,收工。 阅读全文
摘要:
UE中委托的使用很广泛,许多Event的触发都有对应的虚函数和委托,虚函数不用讲,只能在派生类中使用,而委托可以在别的类或者蓝图中使用,就应用范围而言,委托的使用更灵活。以AActor的 为例,重叠(overlapped)事件发生时,就会触发这组函数(Begin/EndOverlap),但仅限于在派 阅读全文
2017年3月15日 #
摘要:
一、Physics Bodies: 老生常谈,AActor只是一个容器,所以是不可能有物理模拟部分的(AStaticMeshActor实例在世界大纲中可以设置,这个梗要看代码)。在API文档中搜索SetSimulatePhysics,也证明了猜测,在virtual void UPrimitiveCo 阅读全文
摘要:
一、新建第一人称蓝图项目。在场景中随意选择一个cube(simulate physics勾选),然后在level blueprint中添加 OnActorHit事件,打印事件,蓝图如下: 对应的Actor如下设置(项目默认,没做修改): 注意,此时Simulation Generates Hit E 阅读全文
2013年10月23日 #
摘要:
前面使用Qt 样式表实现滚动条,在实际工作中,发现存在一些瑕疵,例如如果在主窗口中绘制背景,则有可能给滚动条染色,还有如果想实现特殊的效果,则必须使用自定义风格,即从QStyle的子类派生出新的类型。以下从QProxyStyl派生出新的风格来实现自定义滚动(Qt4、Qt5均存在QCommonStyl... 阅读全文