国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【UE5 C++】鼠標(biāo)點(diǎn)擊發(fā)射射線(xiàn)獲取物體信息

這篇具有很好參考價(jià)值的文章主要介紹了【UE5 C++】鼠標(biāo)點(diǎn)擊發(fā)射射線(xiàn)獲取物體信息。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

UE小白,有錯(cuò)誤的地方請(qǐng)指出。
本文使用UE5,如在UE4中使用可能需調(diào)整某些API

方法一

1.獲取鏡頭控制器,并開(kāi)啟點(diǎn)擊事件

APlayerController* playerController;
void AMeshChangeController::Item()
{
	playerController = FAITestHelpers::GetWorld()->GetFirstPlayerController();
	playerController->bEnableClickEvents = true;
	playerController->SetShowMouseCursor(true);
	playerController->EnableInput(playerController);
	
}
void AMeshChangeController::BeginPlay()
{
	Super::BeginPlay();
	Item();
	
}

2.鼠標(biāo)點(diǎn)擊發(fā)射射線(xiàn)

在Tick中調(diào)用射線(xiàn)發(fā)射邏輯
UE中API看起來(lái)沒(méi)有分鼠標(biāo)抬起和鼠標(biāo)按下API,如有大佬知道可以評(píng)論一下。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-614735.html


void AMeshChangeController::Tick(float DeltaTime)
{
	Super::Tick(DeltaTime);
	TestRay();
}
void
 AMeshChangeController:: TestRay()
{
	//鼠標(biāo)左鍵觸發(fā)
	if(playerController->IsInputKeyDown(EKeys::LeftMouseButton))
	{
		FHitResult OutHit;//用于接收命中的Actor
		FVector Start; //射線(xiàn)起點(diǎn)
		FVector End ;	//射線(xiàn)終點(diǎn)
		FVector Dir;	//鼠標(biāo)點(diǎn)擊的方向
		playerController->DeprojectMousePositionToWorld(Start, Dir);

		End = Start + (Dir * 100000);
		DrawDebugLine(GetWorld(), Start, End, FColor::Green, false, 100, 0, 5);//繪制射線(xiàn)
		bool isFinsh = GetWorld()->LineTraceSingleByObjectType(OutHit, Start, End, ECC_WorldStatic);//進(jìn)行射線(xiàn)檢測(cè)

		if (Cast<AActor>(OutHit.GetActor()))
		{
			AActor* gameObject = OutHit.GetActor();
			FString s = gameObject->GetActorNameOrLabel();
			
			UE_LOG(LogTemp, Warning, TEXT("被點(diǎn)擊的物體,%s"), *s);
		}
	}
}

方法二

1.獲取鏡頭控制器,并開(kāi)啟點(diǎn)擊事件

APlayerController* playerController;
void AMeshChangeController::Item()
{
	playerController = FAITestHelpers::GetWorld()->GetFirstPlayerController();
	playerController->bEnableClickEvents = true;
	playerController->SetShowMouseCursor(true);
	playerController->EnableInput(playerController);
	
}
void AMeshChangeController::BeginPlay()
{
	Super::BeginPlay();
	Item();
	
}

2.使用射線(xiàn)API

		playerController->HitResultTraceDistance = 1000000;
		playerController->GetHitResultUnderCursor(ECollisionChannel::ECC_Visibility,true,OutHit);
		if (Cast<AActor>(OutHit.GetActor()))
		{

		}

到了這里,關(guān)于【UE5 C++】鼠標(biāo)點(diǎn)擊發(fā)射射線(xiàn)獲取物體信息的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Unity在物體內(nèi)部發(fā)射射線(xiàn)檢測(cè)不到物體的解決方式

    Unity在物體內(nèi)部發(fā)射射線(xiàn)檢測(cè)不到物體的解決方式

    在Unity2018.1.18上不大好用。

    2024年02月15日
    瀏覽(19)
  • Unity實(shí)現(xiàn)攝像機(jī)向屏幕中間發(fā)射射線(xiàn)射擊物體

    Unity實(shí)現(xiàn)攝像機(jī)向屏幕中間發(fā)射射線(xiàn)射擊物體

    外部找個(gè)PNG透明圖,拖到Unity文件夾,右上角改成精靈sprite2d 2.添加到UI畫(huà)布 ? 3.寫(xiě)腳本 首先,我們需要引入一些 \\\"工具\(yùn)\\",就像我們?cè)谕嬗螒驎r(shí)要先下載游戲客戶(hù)端一樣。這里的 \\\"工具\(yùn)\\" 就是一些命名空間,讓我們可以方便地使用 System 和 UnityEngine 類(lèi)。 ?? 接下來(lái),我們創(chuàng)建了

    2024年02月08日
    瀏覽(27)
  • UE獲取當(dāng)前鼠標(biāo)點(diǎn)擊位置坐標(biāo)

    UE獲取當(dāng)前鼠標(biāo)點(diǎn)擊位置坐標(biāo)

    獲取當(dāng)前 鼠標(biāo)點(diǎn)擊位置的UE世界坐標(biāo) (x,y,z),效果如下圖所示(為便于演示,下圖顯示了碰撞點(diǎn)位)。 2.1 藍(lán)圖代碼 (1) 核心函數(shù) 的藍(lán)圖代碼如下: (2)當(dāng)鼠標(biāo)左鍵按下時(shí),調(diào)用函數(shù),當(dāng)前鼠標(biāo)點(diǎn)擊位置將會(huì)被打印在屏幕上。

    2024年02月09日
    瀏覽(24)
  • C++ 鼠標(biāo)點(diǎn)擊的獲取

    C++ 鼠標(biāo)點(diǎn)擊的獲取

    首先一個(gè)比較常用的宏定義如下: 使用KEY_DOWN(鼠標(biāo)事件),可以方便獲取很多鼠標(biāo)的事件。 如果獲取左鍵的點(diǎn)擊,可以使用如下的代碼:KEY_DOWN(MOUSE_MOVED) 如果獲取滾輪的點(diǎn)擊,可以使用如下的代碼:KEY_DOWN(MOUSE_WHEELED) 如果獲取右鍵的點(diǎn)擊,可以使用如下的代碼:KEY_DOWN(MOUSE

    2024年02月12日
    瀏覽(21)
  • C++實(shí)現(xiàn)【獲取鼠標(biāo)位置】以及控制鼠標(biāo)【打開(kāi)窗口并點(diǎn)擊】

    獲取鼠標(biāo)位置的函數(shù)源代碼來(lái)自:C++【認(rèn)知系列】實(shí)時(shí)獲取鼠標(biāo)坐標(biāo)_c++ 獲取鼠標(biāo)坐標(biāo)_Zalamp的博客-CSDN博客 鼠標(biāo)點(diǎn)擊操作代碼來(lái)自: C++控制鼠標(biāo)移動(dòng)到指定位置并且左鍵點(diǎn)擊_c++鼠標(biāo)移動(dòng)_蜚語(yǔ)77的博客-CSDN博客 在特定程序中實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊操作分為兩步,第一步就是在任務(wù)欄點(diǎn)

    2024年02月12日
    瀏覽(21)
  • Three 之 three.js (webgl)鼠標(biāo)/手指通過(guò)射線(xiàn)移動(dòng)物體的簡(jiǎn)單整理封裝

    Three 之 three.js (webgl)鼠標(biāo)/手指通過(guò)射線(xiàn)移動(dòng)物體的簡(jiǎn)單整理封裝

    目錄 Three 之 three.js (webgl)鼠標(biāo)/手指通過(guò)射線(xiàn)移動(dòng)物體的簡(jiǎn)單整理封裝 一、簡(jiǎn)單介紹 二、實(shí)現(xiàn)原理 三、注意事項(xiàng) 四、效果預(yù)覽 五、案例實(shí)現(xiàn)步驟 六、關(guān)鍵代碼 Three js 開(kāi)發(fā)的一些知識(shí)整理,方便后期遇到類(lèi)似的問(wèn)題,能夠及時(shí)查閱使用。 本節(jié)介紹, three.js (webgl) 中,

    2024年02月16日
    瀏覽(97)
  • UE5 物體高速移動(dòng)產(chǎn)生拖影(運(yùn)動(dòng)殘影)

    UE5 物體高速移動(dòng)產(chǎn)生拖影(運(yùn)動(dòng)殘影)

    給一個(gè)物體加上一個(gè)location的變化,當(dāng)這個(gè)值達(dá)到一定大小時(shí),運(yùn)動(dòng)會(huì)產(chǎn)生殘影 速度較小時(shí)則不會(huì),或者說(shuō)不那么明顯 這個(gè)是因?yàn)閁E5的抗鋸齒采樣方法方法改成了 TSR- Temporal Super Resolution 該方法主要是將低分辨率游戲畫(huà)面擴(kuò)展至高分辨率,類(lèi)似英偉達(dá)的DLSS,減輕顯卡壓力從而

    2024年02月11日
    瀏覽(237)
  • Unity-Pico高級(jí)開(kāi)發(fā)(一)按鍵狀態(tài)獲取,射線(xiàn)碰到物體變色,射線(xiàn)末端小圓點(diǎn)

    Unity-Pico高級(jí)開(kāi)發(fā)(一)按鍵狀態(tài)獲取,射線(xiàn)碰到物體變色,射線(xiàn)末端小圓點(diǎn)

    目錄 效果展示 前言 獲取按鍵狀態(tài) 射線(xiàn)碰到物體變色 射線(xiàn)末端小圓點(diǎn) Unity-Pico高級(jí)開(kāi)發(fā)(一)按鍵狀態(tài)獲取,射線(xiàn)碰到物體 ? ? picoXR為Unity提供的Unity XR SDK是基于Unity XR實(shí)現(xiàn)的各個(gè)功能,針對(duì)手柄和頭盔的各個(gè)按鍵搖桿事件的獲取,均是采用的Unity XR提供的方法。目前UnityXR只

    2024年04月28日
    瀏覽(342)
  • UE5中物體(instancemesh)沿樣條線(xiàn)(spline)循環(huán)移動(dòng)
  • [UE5]物體沿指定路徑(樣條線(xiàn))循環(huán)往復(fù)的移動(dòng)

    [UE5]物體沿指定路徑(樣條線(xiàn))循環(huán)往復(fù)的移動(dòng)

    UE5.0.3 B站:https://www.bilibili.com/video/BV17K411B7DL/ YouTube: B站:https://www.bilibili.com/video/BV1PV4y1F7F2/ YouTube: GitHub:https://github.com/wjswxc/SplineDemo 中文: 英文: Shape_NarrowCapsule 添加樣條組件 編輯樣條線(xiàn) 在藍(lán)圖中添加如下代碼 中文: 英文:

    2024年02月09日
    瀏覽(28)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包