1. 程式人生 > >Unity之一天一個技術點(十六)---狙擊鏡呼吸效果

Unity之一天一個技術點(十六)---狙擊鏡呼吸效果

 public void Noise()
    {

noisedeltaX += ((((Mathf.Cos(Time.time) * Random.Range(-nosieMaxRange, nosieMaxRange) / 5f) * nosieMaxSpeed) - noisedeltaX) / 100);
noisedeltaY += ((((Mathf.Sin(Time.time) * Random.Range(-nosieMaxRange, nosieMaxRange) / 5f) * nosieMaxSpeed) - noisedeltaY) / 100);




        rotationXtemp += (noisedeltaX * breathHolderVal);
        rotationYtemp += (noisedeltaY * breathHolderVal);
        rotationX += ((rotationXtemp - rotationX) / 3) ;
        rotationY += ((rotationYtemp - rotationY) / 3) ;


        if (rotationX >= 360)
        {
            rotationX = 0;
            rotationXtemp = 0;
        }
        if (rotationX <= -360)
        {
            rotationX = 0;
            rotationXtemp = 0;
        }


         rotationX = ClampAngle(rotationX, -180, 180);
         rotationY = ClampAngle(rotationY, -60, 60);
         rotationYtemp = ClampAngle(rotationYtemp, -60, 60);
        


        Quaternion xQuaternion = Quaternion.AngleAxis(rotationX, Vector3.left);
        Quaternion yQuaternion = Quaternion.AngleAxis(rotationY, Vector3.forward);


        transform.localRotation = transform.localRotation * xQuaternion * yQuaternion;


    
    }


    static float ClampAngle(float angle, float min, float max)
    {
        if (angle <= -360.0f)
            angle += 360.0f;


        if (angle >= 360.0f)
            angle -= 360.0f;


        return Mathf.Clamp(angle, min, max);
    }

相關推薦

Unity之一天一技術---狙擊呼吸效果

 public void Noise()     {noisedeltaX += ((((Mathf.Cos(Time.time) * Random.Range(-nosieMaxRange, nosieMaxRange) / 5f) * nosieMaxSpeed) - noisedeltaX) / 100

Unity之一天一技術---指南針的實現

指南針的實現(可據鏡頭旋轉改變) 程式碼如下: 變數簡述: compassGUISkin面板用來顯示指南針貼圖 標籤Label貼圖用來作為指南針背景  Box貼圖用來作為箭頭貼圖把指令碼賦予給主鏡頭即可 GUI.skin = compassGUISkin;

Unity之一天一技術---到包圍盒的最近

Rigidbody.ClosestPointOnBounds 到包圍盒的最近點public class example : MonoBehaviour { function Start () { var explosionPosition = transform.posi

Unity之一天一技術---旋轉問題

旋轉問題 unity3d中圍繞一個指定的點旋轉 gameobject.transform.RotateAround(pos:Vector3, rotateAngle:vector); 引數1是要圍繞的座標點,第二個引數是旋轉角度(x軸角度,y軸角度,z軸角度)  以自身座標

Unity之一天一技術---解決U3D程式“按下休眠鍵時退出程式”的問題

解決U3D程式“按下休眠鍵時退出程式”的問題(官方解決方案)   更改AndroidManifest.xml中的<activity>標籤,來包含<android:configChanges>標記 活動標籤示例如下所示:- <activity a

HAWQ技術解析 —— 運維監控

        與任何IT系統一樣,為了保證HAWQ叢集的高可用和高效能,需要進行一系列監控與維護活動。本篇討論HAWQ推薦的運維與監控活動。一、推薦的監控與維護任務        表1至表5是HAWQ向系統管理員推薦定期執行的活動,包括系統與資料庫監控、資料與資料庫的維護、

2012 不宜進入的三技術

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

2012 不宜進入的三技術

                執行緒執行緒是指程序中的一個單一順序的控制流,是作業系統能夠排程的最小單位,一個程序中可以有多條執行緒,分別執行不同的任務。執行緒有核心執行緒和使用者執行緒之分,但在本文中僅指核心執行緒。在軟體開發中,使用執行緒有以下好處:1、在多核或多路 CPU 的機器上多執行緒程式能夠併發

OpenCV探索之路:圖像矯正技術深入探討

double gb2 教科書 長方形 strong fine open lines 導致 剛進入實驗室導師就交給我一個任務,就是讓我設計算法給圖像進行矯正。哎呀,我不太會圖像這塊啊,不過還是接下來了,硬著頭皮開幹吧! 那什麽是圖像的矯正呢?舉個例子就好明白了。 我的好朋友小

Android項目實戰:QQ空間實現—— 展示說說中的評論內容並有相應擊事件

con toast short demo append 集合 obj parent 自帶 原文:Android項目實戰(十六):QQ空間實現(一)—— 展示說說中的評論內容並有相應點擊事件大家都玩QQ空間客戶端,對於每一個說說,我們都可以評論,那麽,對於某一條評論:

python學習之網站的編寫HTML,CSS,JS----------示例,構造一個左側管理選單的功能,選主選單才顯示下面的內容

結果: 程式碼: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>逆水行舟不進則退</title>

劍指offer之兩連結串列的第一公共Java實現

兩個連結串列的第一個公共點 輸入兩個連結串列,找出它們的第一個公共結點 思路:我們先遍歷找到兩個連結串列的長度m和n, 如果m大,m比n大多少,比如說k,那麼先讓m先走k步,然後n和m再一起走。

HAWQ技術解析 —— 高可用性

一、HAWQ高可用簡介        HAWQ作為一個傳統數倉在Hadoop上的替代品,其高可用性至關重要。通常硬體容錯、HAWQ HA、HDFS HA是保持系統高可用時需要考慮並實施的三個層次。另外實時監控和定期維護,也是保證叢集所有元件健康的必不可少的工作。       

Unity Shader入門精要筆記:紋理屬性

本系列文章由Aimar_Johnny編寫,歡迎轉載,轉載請標明出處,謝謝。 http://blog.csdn.net/lzhq1982/article/details/75045358 紋理從廣義上講不是一個普通的圖片,我們今後會遇到各種功能性紋理,比如法線紋理,立方體紋

關於大型網站技術演進的思考--網站靜態化處理—前後端分離—下8

  我第一次聽說nodejs技術大概是在2009年年末,不過我真正認真在網路上進一步瞭解nodejs還是在2010年年中,當時對nodejs的認識和我現在對nodejs的認識有著天壤的區別,開始想了解nodejs我只是為了感慨谷歌公司開發的V8引擎居然如此強大,它不僅僅可以作為chrome瀏覽器的javasc

TensorFlow技術內幕:模型優化之量化Quantize

背景 Neural Network模型一般都會佔用很大的磁碟空間,比如AlexNet的模型檔案就超過了200 MB.模型包含了數百萬的引數,絕大部分的空間都用來儲存這些模型的引數了。這些引數是浮點數型別的,普通的壓縮演算法很難壓縮它們的空間。 一般模型的內部

Unity中寫GLSL—— 菲涅爾反射

先上圖:不過看不太出什麼區別 然後是程式碼: Shader "Custom/ShaderExample17" { Properties { _Color ("Diffuse Material Color", Col

Unity Shader入門精要筆記:透明度混合

本系列文章由Aimar_Johnny編寫,歡迎轉載,轉載請標明出處,謝謝。 前面章節介紹過,透明度混合是實現了真正的半透效果。它會以當前片元透明度作為混合因子,與已經儲存在顏色緩衝區中的顏色進行混合,得到新的顏色。同時要關掉深度寫入,小心物體的渲染順序。 為了進行

unity官方demo學習之Stealth單開門動畫

1,將modles中的door_generic_slide拖入層級檢視,位置:-6,0,7;角度:90.子物件勾選 use light probes使光可以照到門 2,父物件新增Sphere collider使門可以檢測到敵人或玩家的靠近,center:y:1,radius

unity官方demo學習之Stealth角色移動

十一,角色移動 為char_ethan新增指令碼DonePlayerMovement using UnityEngine; using System.Collections; public class DonePlayerMovement : MonoBehaviour