unity使用射線實現(xiàn)貼花系統(tǒng)
更新時間:2020年07月12日 13:33:00 作者:Maddie_Mo
這篇文章主要為大家詳細介紹了unity使用射線實現(xiàn)貼花系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Unity使用射線實現(xiàn)貼花系統(tǒng),供大家參考,具體內(nèi)容如下
老規(guī)矩,直接上代碼:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
/// <summary>
/// 貼花系統(tǒng)
/// </summary>
public class Applique_ZH: MonoBehaviour
{
[Header("貼花粒子")]
public Transform _AppliqueParticle;
void Start()
{
//實例化
_AppliqueParticle = Instantiate(_AppliqueParticle);
}
void LateUpdate()
{
Applique();
}
//貼花實現(xiàn)
public void Applique()
{
//屏幕坐標轉(zhuǎn)射線
object _Ray = Camera.main.ScreenPointToRay(Input.mousePosition);
//射線對象是:結(jié)構(gòu)體類型(存儲了相關(guān)信息)
RaycastHit _Hit;
//發(fā)出射線檢測到了碰撞 isHit返回的是 一個bool值
bool _IsHit = Physics.Raycast((Ray)_Ray, out _Hit, 1000, ~(LayerMask.GetMask("AppliqueParticle")| LayerMask.GetMask("Click")));
//EventSystem.current.IsPointerOverGameObject() 鼠標在UI上面
if (_IsHit && !EventSystem.current.IsPointerOverGameObject())
{
_AppliqueParticle.localPosition = _Hit.point;
_AppliqueParticle.localRotation = Quaternion.LookRotation(_Hit.normal);
}
}
}
最終效果:




暫時先這樣吧。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
相關(guān)文章
C#實現(xiàn)從多列的DataTable里取需要的幾列
這篇文章主要介紹了C#實現(xiàn)從多列的DataTable里取需要的幾列,涉及C#針對DataTable操作的相關(guān)技巧,需要的朋友可以參考下2016-03-03
C#調(diào)用??倒I(yè)相機SDK采集圖像并在Halcon窗口中顯示方式
這篇文章主要介紹了C#調(diào)用??倒I(yè)相機SDK采集圖像并在Halcon窗口中顯示方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02
Unity?UGUI的MaskableGraphic可遮罩圖形組件介紹使用
這篇文章主要為大家介紹了Unity?UGUI的MaskableGraphic可遮罩圖形組件介紹使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07
datatable生成excel和excel插入圖片示例詳解
excel導(dǎo)出在C#代碼中應(yīng)用己經(jīng)很廣泛了,下面講了datatable生成excel、復(fù)制sheet頁、刪除sheet頁、選中sheet頁、另存excel文件、excel中插入圖片等功能2014-01-01
使用C#實現(xiàn)將Word?轉(zhuǎn)文本存儲到數(shù)據(jù)庫并進行管理
這篇文章主要為大家詳細介紹了如何使用C#實現(xiàn)將Word?轉(zhuǎn)文本存儲到數(shù)據(jù)庫并進行管理,文中的示例代碼講解詳細,需要的小伙伴可以參考一下2024-03-03

