UE小:物品拼裝功能

藍圖B1的實現步驟:

  1. 獲取玩家控制器和視角:首先獲取玩家控制器,然后使用Deproject Screen to World節點將屏幕上的鼠標位置轉換為世界空間中的一條射線。

  2. 射線檢測:使用Line Trace by ChannelLine Trace for Objects節點發射射線,檢測是否與帶有"part"標簽的物體相交。

  3. 檢測鼠標左鍵:通過Is Input Key Down節點檢測鼠標左鍵是否被按下。

  4. 處理交互:如果鼠標左鍵按下且射線檢測到了目標物體,就將其賦值給一個變量(如Target),然后使其跟隨鼠標移動。如果沒有檢測到物體,但鼠標左鍵被按下,則將Target置于射線末端的位置。

  5. 吸附到指定位置:當鼠標移動到指定區域內時,可以使用一個碰撞體來檢測,一旦Target進入該區域,就將Target的位置設置為指定位置,并鎖定。

  6. 狀態重置:完成吸附后,重置Target為null,并準備下一個周期的操作。

藍圖B2的實現步驟:

  1. 檢測所有目標物體的位置:使用Get All Actors with Tag節點獲取所有帶有"part"標簽的物體。

  2. 循環比較位置:使用For Each Loop遍歷所有物體,對每個物體使用Get Actor Location節點獲取其位置,并與指定位置進行比較。

  3. 位置誤差判斷:計算每個物體位置與指定位置的差值,并使用Vector Length節點獲取長度。如果長度小于設定的誤差值(例如0.1),則認為物體在正確位置。

  4. 顯示開機畫面:如果所有物體都在正確位置,使用Set Visibility節點或其他相關節點來顯示開機畫面。

優化建議:

  • 射線長度限制:在發射射線時,設置一個合理的最大距離,以避免無限長射線可能帶來的性能問題。
  • 性能考慮:如果場景中有很多帶有"part"標簽的物體,每幀都進行位置檢查可能會影響性能。考慮使用定時器或特定事件觸發位置檢查,而不是每幀都進行。
  • 用戶反饋:為用戶提供視覺或聽覺反饋,告訴他們物體是否正確放置,例如改變物體顏色或播放聲音。
  • 代碼重用:如果您發現自己在不同地方重復相同的邏輯,考慮將其封裝到函數或宏中以便重用。#
實際效果如圖:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/212728.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/212728.shtml
英文地址,請注明出處:http://en.pswp.cn/news/212728.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深度學習測試流程

深度學習模型測試的功能旨在驗證模型在各種情況下的性能和魯棒性。以下是深度學習模型測試的主要功能: 性能評估: 測試模型在任務目標上的整體性能,例如分類準確性、回歸誤差等。評估指標的選擇取決于具體的任務類型。 泛化能力:…

《信息技術時代》期刊雜志論文發表投稿

《信息技術時代》期刊收稿方向:通信工程、大數據、計算機、辦公自動化、信息或計算機教育、電子技術、系統設計、移動信息、圖情信息研究、人工智能、智能技術、信息技術與網絡安全等。 刊名:信息技術時代 主管主辦單位:深圳灣科技發展有限…

C++筆記之int、size_t、uint8_t、unsigned char*區別

C筆記之int、size_t、uint8_t、unsigned char*區別 code review! 文章目錄 C筆記之int、size_t、uint8_t、unsigned char*區別1.ChatGPT第一次查詢解釋2.ChatGPT第二次查詢解釋3.分別的使用示例 1.ChatGPT第一次查詢解釋 size_t、uint8_t 和 int 是編程中使用的不同類型&…

《微信小程序開發從入門到實戰》學習四十七

4.4 云函數 4.4.5 云函數的定時觸發 如果云函數需要定時執行,可以使用云函數定時觸發器。配置了定時觸發器,云函數會在相應時間點被自動觸發。函數返回結果不會返回調用方 在需要添加觸發器的云函數下新建文件config.json。格式如下: &quo…

05-詳解調用服務時負載均衡的配置及其原理

負載均衡 負載均衡的原理(通用) LoadBalanced注解用來攔截它所標記的RestTemplate發起的http請求, 底層是利用了一個名為Ribbon的組件來實現負載均衡功能(Cloud高版本已經棄用) LoadBalancerInterceptor的intercept方法會對RestTemplate的請求進行攔截 public class LoadBal…

【Linux】使用Bash和GNU Parallel并行解壓縮文件

介紹 在本教程中,我們將學習如何使用Bash腳本和GNU Parallel實現高效并行解壓縮多個文件。這種方法在處理大量文件時可以顯著加快提取過程。 先決條件 確保系統上已安裝以下內容: BashGNU Parallel 你可以使用以下命令在不同Linux系統上安裝它們&am…

【數據庫】分支與循環函數存儲過程

目錄 函數 【1】 【2】 【3】? 【4】 存儲過程 思考&分析 函數 【1】 --(1)定義一個根據學生姓名查詢該生學習課程的函數stu_count。 --create function stu_count(sname char(8))--學生姓名 --returns char(12)--學習課程 --begin --…

layui分頁laypage結合Flask+Jinja2實現流程

Layui2.0普通用法<!DOCTYPE html> <html> <head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width, initial-scale1"><title>Demo</title><!-- 請勿在項目正式環境中引用該 …

uniapp iOS離線打包——運行項目到模擬器報錯?

運行項目、打包時報錯問題 記錄個人在開發過程中遇到的相關問題&#xff0c;后續有時間會不定時更新 文章目錄 運行項目、打包時報錯問題運行到模擬器報錯解決方案 打包報錯解決方案 運行到模擬器報錯 解決方案 選中項目工程 —> Build Settings 滑動底部 —> User-Defi…

Java基礎課的中下基礎課04

目錄 二十三、集合相關 23.1 集合 &#xff08;1&#xff09;集合的分支 23.2 List有序可重復集合 &#xff08;1&#xff09;ArrayList類 &#xff08;2&#xff09;泛型 &#xff08;3&#xff09;ArrayList常用方法 &#xff08;4&#xff09;Vector類 &#xff08;…

gin博客項目開發日志1

gin項目博客系統偽第一代 項目概述 1.1 目標 實現一個功能完整、易用的博客系統&#xff0c;允許用戶發布、編輯和管理博客文章。 1.2 背景 看到網上有很多語言寫的博客系統&#xff0c;但go的卻很少&#xff0c;正好&#xff0c;現在我在學go&#xff0c;可以拿博客來練練…

組件之間傳值

目錄 1&#xff1a;組件中的關系 2&#xff1a;父向子傳值 3&#xff1a;子組件向父組件共享數據 4&#xff1a;兄弟組件數據共享 1&#xff1a;組件中的關系 在項目中使用到的組件關系最常用兩種是&#xff0c;父子關系&#xff0c;兄弟關系 例如A組件使用B組件或者C組件…

深入了解UDP協議:特點、應用場景及市面上常見軟件案例

目錄 引言 UDP的特點 UDP的應用場景 市面上使用UDP的軟件案例 結論 引言 在計算機網絡中&#xff0c;UDP&#xff08;User Datagram Protocol&#xff09;是一種面向無連接、無狀態的傳輸層協議。與TCP相比&#xff0c;UDP具有獨特的特點和適用場景。本文將深入探討UDP協…

解碼方法dp

1.狀態表示 2.狀態轉移方程 3.初始化 4.填表順序 從左往右 5.返回值 dp[n-1] 6.處理邊界問題以及初始化問題的技巧

Docker筆記:數據卷掛載的三種方式及物理機與容器內的環境變量的傳遞

容器數據掛載到物理機上的三種方式 1 &#xff09; 實名(指定路徑)掛載數據卷 docker run -v 物理機目錄:容器內目錄 鏡像id示例 docker run -it -d --name mynginx_p_v -p 82:80 -v /root/www:/usr/share/nginx/html nginx此時訪問 會報 403 forbidden因為 物理機上的 root/…

Electron[5] 渲染進程和主進程

1 進程 Electron里頭的進程分為渲染進程和主進程。簡單理解&#xff1a; main.js就是主進程每個頁面就是渲染進程一個Electron應用僅有一個主進程&#xff0c;可以有多個渲染進程 上面的這些概念很重要&#xff0c;不展開細講。 2 進程職責 主進程是用來實現應用的基礎功能…

【小沐學Python】Python實現TTS文本轉語音(speech、pyttsx3、百度AI)

文章目錄 1、簡介2、Windows語音2.1 簡介2.2 安裝2.3 代碼 3、pyttsx33.1 簡介3.2 安裝3.3 代碼 4、ggts4.1 簡介4.2 安裝4.3 代碼 5、SAPI6、SpeechLib7、百度AI8、百度飛槳結語 1、簡介 TTS(Text To Speech) 譯為從文本到語音&#xff0c;TTS是人工智能AI的一個模組&#xf…

K8S學習指南(6)-k8s核心概念label和label selector

文章目錄 前言Label是什么&#xff1f;示例 Label Selector是什么&#xff1f;示例 Label的使用場景Label Selector的類型Label和Label Selector的高級應用使用Label Selector選擇Service的后端Pod使用Label Selector進行滾動更新 總結 前言 Kubernetes是一個強大的容器編排平…

Python從入門到精通

一、Python基礎語法 1、字面量 掌握字面量的含義了解常見的字面量類型基于print語句完成各類字面量的輸出 什么是字面量&#xff1f; 字面量&#xff1a;在代碼中&#xff0c;被寫下來的的固定的值&#xff0c;稱之為字面量 常用的值類型 Python中常用的有6種值&#xff…

MyBatis 四大核心組件之 ResultSetHandler 源碼解析

&#x1f680; 作者主頁&#xff1a; 有來技術 &#x1f525; 開源項目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 倉庫主頁&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 歡迎點贊…