UE4 - C++ 射线捕捉
2015-12-08 18:03
531 查看
#include"Runtime/Engine/Classes/Kismet/KismetMathLibrary.h" //省略大部分代码 voidAMyFPS_Character::OnMoveingOrRot() { GetActorLocation(); //LineTraceSingle_NEW(); if(GEngine!=nullptr) { FHitResulthit; autotemp_startPos=GetActorLocation(); autotemp_rota=GetActorRotation(); autotemp_endPos=FRotationMatrix(temp_rota).GetScaledAxis(EAxis::X)*500.0f;//+ //hit. m_bodyInstance.LineTrace(hit,temp_startPos,temp_endPos,false,false); if(hit.Actor!=nullptr&&hit.Actor!=this) { m_operaTarget=hit.Actor; } } } //Exa2
//Inplayercontrollerclass //locationthePCisfocusedon constFVectorStart=GetFocalLocation(); //256unitsinfacingdirectionofPC(256unitsinfrontofthecamera) constFVectorEnd=Start+GetControlRotation().Vector()*256; //Thetracedataisstoredhere FHitResultHitData(ForceInit); //IfTraceHitsanything if(UMyStaticFunctionLibrary::Trace(GetWorld(),GetPawn(),Start,End,HitData)) { //Printoutthenameofthetracedactor if(HitData.GetActor()) { ClientMessage(HitData.GetActor()->GetName()); //Printoutdistancefromstartoftracetoimpactpoint ClientMessage("TraceDistance:"+FString::SanitizeFloat(HitData.Distance)); } }
相关文章推荐
- C语言实现去除字符串中空格
- C++学习_继承覆盖重载
- C++学习随笔
- C++学习之继承篇
- C语言经典编程题--哥德巴赫猜想 、完数 、猜数字等
- Observer(观察者)设计模式
- C语言 变量的存储方式和生命周期
- c++ BASE64加解密操作
- b树的实现(c++)
- N种方法使用C++调用C#.NET库
- C语言strcat()函数:连接字符串
- C语言里的puts()函数怎么用
- 【C++】UTF-8字符和GB2312字符相互转换函数
- 编译原理实验之语法分析(算符优先分析算法(C语言))
- C++之测试snmp的注册模块
- C++之IPC测试单元
- C语言程序设计MOOC视频开讲了
- C++之位测试练习的相关代码
- C++ 建设者继承
- c++中volatile关键字解释