unity實現浮動組件

目錄

  • 前言
  • 方法
  • 后言
  • 組件代碼

前言

在unity中,要讓一個物體變得讓人感到輕飄飄的,就可以給一個物體添加上浮動組件。今天我們就來實現它。

方法

我們先來看一下 sin ? \sin sin函數的曲線。

在這條曲線上,隨著 x x x向右移動, y y y也就能浮動著運動了,但是,由于內存限制, x x x會溢出,就會導致循環不連貫。于是我們就選取曲線的一段循環節,找到循環節的最小 x x x值和最大 x x x值。

我們得到了循環節的最小 x x x值是 ? π -\pi ?π,最大 x x x值是 π \pi π,還有一個規律,就是如果你把 x x x值乘 a a a,那么最小 x x x值和最大 x x x值分別是 ? π a -\frac{\pi}{a} ?aπ? π a \frac{\pi}{a} aπ?

至于高度的問題,只需要 sin ? \sin sin函數的結果乘以最大高度而可。最終公式應該就是這樣子: y = h sin ? a x y=h\sin ax y=hsinax

由此,現在打開unity,即可寫浮動組件。

using System.Collections;
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;public class Float : MonoBehaviour
{public float speed = 1;public float high = 1;private float x;public float ox;//用于設定物體浮動時的x軸public float oy;//用于設定物體浮動時的y軸public float oz;//用于設定物體浮動時的z軸void Start(){x = -3.14f / speed;ox = transform.position.x;oy = transform.position.y;oz = transform.position.z;}void Update(){transform.position = new Vector3(ox, oy + Mathf.Sin(x * speed) * high, oz);x += 0.01f;if (x > 3.14f / speed){x = -3.14f / speed;}}
}

之后,可以開始去看看效果了。

后言

在夢日記及其派生之中,需要用到循環地圖,這時,浮動組件雖然有用,遠不及循環地圖組件有用,下篇博客中,我們就實現這個循環地圖組件。

組件代碼

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

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

相關文章

Cisco Nexus93240接口帶寬顯示異常高故障- bug

hardware: cisco N93240 software: 9.3(10) 1個萬兆接口,顯示的rate超出幾萬倍 開case查詢,告知是bug,需要版本升級解決。

pyhton基礎【15】函數進階一

目錄 一. 函數進階 1. 默認參數: 2. 關鍵字參數: 3. 可變參數: 4. 裝飾器: 5. 匿名函數lambda: 6. 高階函數: 7. 遞歸函數: 8. 類型注解: 二.函數參數的高級使用 缺…

【軟考高級系統架構論文】論企業應用系統的數據持久層架構設計

論文真題 數據持久層 (Data Persistence Layer) 通常位于企業應用系統的業務邏輯層和數據源層之間,為整個項目提供一個高層、統一、安全、并發的數據持久機制,完成對各種數據進行持久化的編程工作,并為系統業務邏輯層提供服務。它能夠使程序員避免手工編寫訪問數據源的方法…

ubuntu使用 Conda 安裝 pyseer詳細教程

pyseer 是一個用于 微生物全基因組關聯分析(GWAS) 的生物信息學工具。它可以幫助研究者識別微生物(如細菌)中與表型(如耐藥性、毒力、致病性)相關的遺傳變異。 一、安裝mamba conda install -n base -c conda-forge mamba二、創建虛擬環境 conda create -n pyseer-env …

Redis04

redis 一、redis的作用和使用場景 redis是一個內存級的高速緩存數據庫。(對比磁盤IO) 使用場景:1、并發訪問量大的 2、數據量小 3、修改不頻繁 項目中:1、驗證碼 2、登錄成功用戶信息 3、首頁(模塊數據 輪播圖&…

計算機網絡學習筆記:TCP可靠傳輸實現、超時重傳時間選擇

文章目錄 一、TCP可靠傳輸實現二、TCP超時重傳時間選擇 一、TCP可靠傳輸實現 TCP可靠傳輸的實現,主要基于發送方和接收方的滑動窗口,以及確認機制: 發送方在未收到確認(ACK)前,可以將序號落在發送窗口內的…

Perl 正則表達式

Perl 正則表達式 引言 Perl 正則表達式(Regular Expressions)是Perl編程語言中一個強大且靈活的工具,用于字符串處理和模式匹配。正則表達式在文本處理、數據驗證、搜索和替換等任務中發揮著至關重要的作用。本文將深入探討Perl正則表達式的…

Security: RSA: 1024 bit 長度已經變得不安全了

文章目錄 參考推薦限制RHEL相關配置man crypto-policies包含的應用使用方法是配置文件include參考 https://csrc.nist.gov/pubs/sp/800/57/pt1/r2/final https://www.linuxquestions.org/questions/linux-security-4/1024-bit-dsa-vs-2048-bit-rsa-4175439131/ https://csrc.n…

第一課:大白話中的機器學習

各位看官好啊!今天咱們來聊一個聽起來高大上但實際上特別接地氣的玩意兒——機器學習。別被這名字嚇到,它其實就是教電腦像人類一樣學習知識的一套方法。想象一下你教你家狗子坐下、握手的過程,機器學習差不多就是這么回事,只不過"學生"換成了電腦。 一、啥是機…

實現 el-table 中鍵盤方向鍵導航功能vue2+vue3(類似 Excel)

實現 el-table 中鍵盤方向鍵導航功能vue2vue3(類似 Excel) 功能需求 在 Element UI 的 el-table 表格中實現以下功能: 使用鍵盤上下左右鍵在可編輯的 el-input/el-select 之間移動焦點焦點移動時自動定位到對應單元格支持光標位置自動調整…

MyBatis:從入門到進階

📌 摘要 在 Java 后端開發中,MyBatis 是一個非常流行且靈活的持久層框架。它不像 Hibernate 那樣完全封裝 SQL,而是提供了對 SQL 的精細控制能力,同時又具備 ORM(對象關系映射)的功能。 本文將帶你從 MyB…

leetcode51.N皇后:回溯算法與沖突檢測的核心邏輯

一、題目深度解析與N皇后問題本質 題目描述 n皇后問題研究的是如何將n個皇后放置在nn的棋盤上,并且使皇后彼此之間不能相互攻擊。給定一個整數n,返回所有不同的n皇后問題的解決方案。每一種解法包含一個明確的n皇后問題的棋子放置方案,該方…

算法-每日一題(DAY9)楊輝三角

1.題目鏈接: 118. 楊輝三角 - 力扣(LeetCode) 2.題目描述: 給定一個非負整數 numRows,生成「楊輝三角」的前 numRows 行。 在「楊輝三角」中,每個數是它左上方和右上方的數的和。 示例 1: 輸入: numRo…

【MATLAB代碼】制導方法介紹與例程——追蹤法,適用于二維平面,目標是移動的|附完整源代碼

追蹤法(追蹤導引法)是一種常見的導彈導引方式,其基本原理是保持導彈的速度矢量始終指向目標。在追蹤法中,導彈的加速度可以表示為指向目標的加速度。 本文給出二維平面下,移動目標的追蹤法導引的介紹、公式與matlab例程 訂閱專欄后,可以直接查看完整源代碼 文章目錄 運行…

小白的進階之路系列之十八----人工智能從初步到精通pytorch綜合運用的講解第十一部分

從零開始的NLP:使用序列到序列網絡和注意力機制進行翻譯 我們將編寫自己的類和函數來預處理數據以完成我們的 NLP 建模任務。 在這個項目中,我們將訓練一個神經網絡將法語翻譯成英語。 [KEY: > input, = target, < output]> il est en train de peindre un table…

SSL安全證書:數字時代的網絡安全基石

SSL安全證書&#xff1a;數字時代的網絡安全基石 在當今數字化浪潮中&#xff0c;網絡通信安全已成為個人、企業和組織不可忽視的核心議題。SSL&#xff08;Secure Sockets Layer&#xff0c;安全套接層&#xff09;安全證書作為保障數據傳輸安全的關鍵技術&#xff0c;通過加…

LLM-201: OpenHands與LLM交互鏈路分析

一、核心交互鏈路架構 #mermaid-svg-ZBqCSQk1PPDkIXNx {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-ZBqCSQk1PPDkIXNx .error-icon{fill:#552222;}#mermaid-svg-ZBqCSQk1PPDkIXNx .error-text{fill:#552222;strok…

【項目】仿muduo庫one thread one loop式并發服務器SERVER模塊(下)

&#x1f4da; 博主的專欄 &#x1f427; Linux | &#x1f5a5;? C | &#x1f4ca; 數據結構 | &#x1f4a1;C 算法 | &#x1f152; C 語言 | &#x1f310; 計算機網絡 |&#x1f5c3;? mysql 項目文章&#xff1a; 仿muduo庫one thread one loop式并發服務器…

數據庫索引結構 B 樹、B + 樹與哈希索引在不同數據查詢場景下的適用性分析

一、數據庫索引結構B樹 樹概述 樹是一種多路平衡查找樹&#xff0c;廣泛應用于數據庫和文件系統中。B樹的節點可以存儲多個數據元素&#xff0c;并且保持樹的平衡&#xff0c;以提高查詢效率。 適用性分析 在數據量較大&#xff0c;范圍查找較多的場景下&#xff0c;B樹的查詢效…

Linux進程間通信——信號

1.信號的介紹 信號( Signal )是 Unix, 類Unix以及其他POSIX兼容的操作系統中進程間通信的一種有限制的手段。 1&#xff09;信號是在軟件層面上對中斷機制的一種模擬&#xff0c;是一種異步通信方式。2&#xff09;信號可以直接進行用戶空間進程和內核進程之間的交互&#xff…