最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

unity實現(xiàn)UI元素跟隨3D物體

 更新時間:2020年04月17日 11:32:53   作者:夸克電子漿  
這篇文章主要為大家詳細介紹了unity實現(xiàn)UI元素跟隨3D物體,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了unity實現(xiàn)UI元素跟隨3D物體的具體代碼,供大家參考,具體內(nèi)容如下

在Canvas不同的渲染模式(RenderMode)下實現(xiàn)UI跟隨3D物體

Canvas.RenderMode為Screen Space-Overlay

利用WorldToScreenPoint(worldPos)將物體的世界坐標轉(zhuǎn)換成屏幕坐標,實時更新UI的坐標:

using UnityEngine;
using System.Collections;

public class FollowWorldObj : MonoBehaviour {
 [SerializeField]
 GameObject worldPos;//3D物體(人物)
 [SerializeField]
 RectTransform rectTrans;//UI元素(如:血條等)
 public Vector2 offset;//偏移量

 // Update is called once per frame
 void Update () {
  Vector2 screenPos=Camera.main.WorldToScreenPoint(worldPos.transform.position);
  rectTrans.position = screenPos + offset;
 }
}

Canvas.RenderMode為Screen Space-Camera

利用RectTransformUtility.ScreenPointToLocalPointInRectangle換算出UI元素在Canvas的2D坐標:

using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;

public class UI_FollowObj : MonoBehaviour {
 [SerializeField]
 Camera UI_Camera;//UI相機
 [SerializeField]
 RectTransform image;//UI元素
 [SerializeField]
 GameObject obj;//3D物體
 [SerializeField]
 Canvas ui_Canvas;
 // Update is called once per frame
 void Update () {
  UpdateNamePosition();
 }
 /// <summary>
 /// 更新image位置
 /// </summary>
 void UpdateNamePosition()
 {
  Vector2 mouseDown = Camera.main.WorldToScreenPoint(obj.transform.position);
  Vector2 mouseUGUIPos = new Vector2();
  bool isRect = RectTransformUtility.ScreenPointToLocalPointInRectangle(ui_Canvas.transform as RectTransform, mouseDown, UI_Camera, out mouseUGUIPos);
  if (isRect)
  {
   image.anchoredPosition = mouseUGUIPos;
  }
 }
}

效果如下:

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • c#字符串值類型與引用類型比較示例

    c#字符串值類型與引用類型比較示例

    這篇文章主要介紹了c#字符串值類型與引用類型比較示例,需要的朋友可以參考下
    2014-03-03
  • 如何使用C#在PDF文件添加圖片印章

    如何使用C#在PDF文件添加圖片印章

    文檔中添加印章可以起一定的作用,比如,防止文件隨意被使用,或者確保文檔內(nèi)容的安全性和權(quán)威性。C#添加圖片印章其實也有很多實現(xiàn)方法,這里我使用的是免費的第三方軟件Free Spire.PDF,向大家闡述如何以編程的方式在PDF文件中添加圖片印章
    2017-01-01
  • Unity實現(xiàn)簡單場景分層移動

    Unity實現(xiàn)簡單場景分層移動

    這篇文章主要為大家詳細介紹了Unity實現(xiàn)簡單場景分層移動,分為前景、場景、背景等,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • C#實現(xiàn)聊天消息渲染與圖文混排詳解

    C#實現(xiàn)聊天消息渲染與圖文混排詳解

    在實現(xiàn)聊天軟件時,渲染文字表情圖文混排是一項非常繁瑣的工作,再加上還要支持GIF動圖、引用消息、撤回消息、名片等不同樣式的消息渲染時,就更加麻煩了。本文就來和大家分享一下具體實現(xiàn)方法,希望對大家有所幫助
    2023-02-02
  • 基于C#?實現(xiàn)劉謙春晚魔術(shù)(示例代碼)

    基于C#?實現(xiàn)劉謙春晚魔術(shù)(示例代碼)

    劉謙春晚魔術(shù)是一個讓人嘆為觀止的魔術(shù)表演,其中涉及到了數(shù)學、編程和創(chuàng)意的結(jié)合,看了春晚魔術(shù)的朋友們,是不是好奇春晚劉謙的魔術(shù)是怎么變的,本文分享C#?實現(xiàn)劉謙春晚魔術(shù)示例代碼,一起看看吧
    2024-02-02
  • C#中Linq的入門教程

    C#中Linq的入門教程

    這篇文章介紹了C#中Linq的基礎(chǔ)操作,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • C#中動態(tài)顯示當前系統(tǒng)時間的實例方法

    C#中動態(tài)顯示當前系統(tǒng)時間的實例方法

    想在網(wǎng)頁中動態(tài)地顯示當前系統(tǒng)的時間,找了好多,不過都是一些停在那里不動的。。。不過皇天不負有心人,終于讓我找到了
    2013-05-05
  • WPF的ListView控件自定義布局用法實例

    WPF的ListView控件自定義布局用法實例

    這篇文章主要介紹了WPF的ListView控件自定義布局的方法,結(jié)合實例形式分析了WPF中ListView控件的布局方法,需要的朋友可以參考下
    2016-07-07
  • C#操作Access通用類實例

    C#操作Access通用類實例

    這篇文章主要介紹了C#操作Access通用類,實例分析了C#操作access的各種常見技巧,非常具有實用價值,需要的朋友可以參考下
    2015-06-06
  • c#快速寫本地日志方法

    c#快速寫本地日志方法

    下面小編就為大家分享一篇c#快速寫本地日志方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01

最新評論

醴陵市| 江口县| 永宁县| 青冈县| 福鼎市| 雷波县| 万年县| 修文县| 延边| 安溪县| 水富县| 卓尼县| 洪泽县| 深圳市| 黄梅县| 琼海市| 盐边县| 邓州市| 响水县| 东港市| 丹凤县| 镇康县| 资源县| 邵阳县| 阜城县| 富源县| 临泽县| 富裕县| 瓮安县| 台安县| 丹江口市| 西平县| 彰化市| 洪江市| 南郑县| 潼关县| 滁州市| 华坪县| 新宾| 丹东市| 建德市|