導航:首頁 > 物理學科 > unity3d如何物理模擬

unity3d如何物理模擬

發布時間:2022-08-09 19:33:02

1. Unity3D如何模擬彈力

有幾種方式可以做到

  1. 採用Dotween或者Itween這種緩動插件來做,在其中可以設置路徑點,然後根據路徑點移動。相對來說比較簡單

  2. 通過代碼實現, 根據初中的物理知識(應該是初中的)拋物線運動在水平方向是勻速的,垂直方向上是v=a*t(v是速度,a是加速度,t是時間).也就是說只要得到垂直方向初始化速度,讓水平方向和垂直方向各自運行就可以了.

    如果知道目標(距離)和水平速度,就能得到飛行的時間.time=distance/speed; 在time這段時間內,炮彈用1/2的時間上升,1/2的時間下降.炮彈發出時在垂直方向上的速度是多少呢?我們可以反過來看,在最頂點時炮彈速度是0,經過1/2的時間下落到平面,根據v=a*t(也就是speed=重力加速度*1/2*時間),這樣就得到了垂直方向的初始化速度.然後用邏輯控制垂直方向和水平方向各自運行就可以了.

    大致寫了一段邏輯如下:

    publicclassBullet:MonoBehaviour
    {
    publicconstfloatg=9.8f;

    publicGameObjecttarget;
    publicfloatspeed=10;
    privatefloatverticalSpeed;
    privateVector3moveDirection;

    privatefloatangleSpeed;
    privatefloatangle;
    voidStart()
    {
    floattmepDistance=Vector3.Distance(transform.position,target.transform.position);
    floattempTime=tmepDistance/speed;
    floatriseTime,downTime;
    riseTime=downTime=tempTime/2;
    verticalSpeed=g*riseTime;
    transform.LookAt(target.transform.position);

    floattempTan=verticalSpeed/speed;
    doublehu=Math.Atan(tempTan);
    angle=(float)(180/Math.PI*hu);
    transform.eulerAngles=newVector3(-angle,transform.eulerAngles.y,transform.eulerAngles.z);
    angleSpeed=angle/riseTime;

    moveDirection=target.transform.position-transform.position;
    }
    privatefloattime;
    voidUpdate()
    {
    if(transform.position.y<target.transform.position.y)
    {
    //finish
    return;
    }
    time+=Time.deltaTime;
    floattest=verticalSpeed-g*time;
    transform.Translate(moveDirection.normalized*speed*Time.deltaTime,Space.World);
    transform.Translate(Vector3.up*test*Time.deltaTime,Space.World);
    floattestAngle=-angle+angleSpeed*time;
    transform.eulerAngles=newVector3(testAngle,transform.eulerAngles.y,transform.eulerAngles.z);
    }
    }
    創建一個A物體用來移動,B物體是終止點。然後掛腳本運行即可。

2. Unity3D導入外部模型沒有物理效果

碰撞體是否勾選了Is Trigger,如果任一碰撞體勾選了,那麼就會穿過。

3. unity3d引擎是如何來驅動三維模型,最終生成模擬系統的

首先,要在模型里拖進去Assembly(就是平面庫里第一個那個圓形)。 建模注意:你的機構構件的連接點數以跟其它構件連接點數為准,可以多,但是不能少。多的可以加 zero force source 填上佔位。 鉸接點無驅動時用 pivot junction 有驅動用 pilot pivot junction。 平動副用 translation junction、pilot translation junction,如果用jack可以直接代表油缸加兩端的鉸接點。 構件參數設置時最好以構件坐標原點(X,Y)=(0,0)為一個鉸接點向外推,多出鉸接點的空位可以用zero force source 填上佔位並設置數值來標識構件的輪廓外形。 三維模型的導入,要在參數設置模式下雙擊Assembly圖標進入三維顯示界面。並在三維顯示界面導入。導入格式有幾種,我為了跟SimulationX通用一般用STL格式。STL可以用三維制圖軟體導出,導出時最好將輸出坐標原點設置在鉸接點處,這樣在模型里調整時方便。 導入命令在三維顯示模式的creat->3D model中選取。導入時要先在object樹中點擊選取三維模型要關聯的構件。object樹在三維顯示界面的最左邊那排按鈕右側緊貼著一個左右拉動的框,向右拉就可以看到object樹了。跟在proe里那種顯示方法一樣。點選樹中的構件並有顯示選中後再導入模型就可以關聯了,不然導入的三維模型會在總樹下面,不會跟任何構件運動,成了模擬的背景圖像。導入的三維模型不一定能夠跟構件的角度、方向吻合,可以在object樹中設置轉動方向、角度、顏色等等。 最後,AMEsim對構件的計算支持並不好,加了構件的液壓模型計算經常報錯。效率並不高。曾經有Adams聯合模擬的模型,去掉介面用平面機構庫建模。原來聯仿只要2+小時的計算最後花了29小時+,而且最大的缺點是只能做平面機構。相比而言如果想在一個軟體里實現控制和機械聯合我推薦用SimulationX,操作基本類似,但是Modelica語言對機械結構的支持要明顯好於AMEsim,(但是液壓系統的支持要弱些。。。) 總之只要你有條件,高精度的聯合模擬才好。 最好是AMEsim和VirtualLab.Motion的(一個公司,軟體配合上有優化)。 VirtualLab.Motion的操作不太常規,資料也少。上手快的話還是AMEsim+Adams好些,國內資料豐富,可以指導的高手也很多。 但是如果做履帶,還是花點功夫學學VirtualLab.Motion。Adams的計算履帶的時間會讓你感覺時間真是個寶貴。

4. 生產線3D動畫演示用什麼軟體

生產線3D動畫演示用「Unity3D」這個軟體。

生產線3D動畫演示製作方案:

1、可以客戶端,美術,模型等都分別建的項目,然後各自用SVN上傳、更新。美術的話只管把UI做好上傳就行了,然後客戶端這邊更新好UI自己再在客戶端進行處理,有什麼不合適的和美術溝通就行了。

2、版本管理優先選用AssetServer。Git和SVN什麼的也挺好,前提是要培訓所有成員正確使用,如果項目比較大,建議拆分為2~3個項目。

3、AssetsProject:主要存放模型、特效等美術素材。也放一些測試腳本,以便測試美術素材能正確配合腳本運行。

4、DataProject:存放策劃的數值、關卡編輯器等等。也要放一些測試腳本,以便關卡能跑起來。

5、ScriptsProject:程序員專門維護的項目。主要用於邏輯開發,存放部分的美術資源。FinalProject: 最終合並的項目。開發過程中,視具體情況,上述項目某兩個可以合並。

6、這樣拆分項目肯定會導致額外的工作量,會有冗餘的腳本,而且到時候合並也是個問題。這些都是無法避免的。所以前期一定要定好標准。



(4)unity3d如何物理模擬擴展閱讀:

如何學習Unity3D:

1、第一步首先了解unity3d的菜單,視圖界面。這些是最基本的基礎,可以像學word操作一樣,大致能明白有幾個菜單,幾個基本的視圖,各自起什麼作用的就可以了。當然還要了解人物基本的比例和結構。

2、第二步理解場景裡面的坐標系統,輸入系統,簡單的向量概念。Unity3D的坐標系統及向量概念如果不理解清楚,不理解世界坐標,局部坐標的關系,即使一個簡單的移動,縮放,旋轉的幾行代碼,也會困惑你半天。

3、第三步學習創建基本的場景的一些基本概念:游戲對象,組件,腳本。在界面上分別體現在層次視圖,項目視圖及屬性視圖,要理清楚彼此之間的關系

4、第四步學習資源導入方面的一些基本元素:網格,材質,貼圖,動畫等。

5、第五步學習腳本的生命周期,Start,UpDate,ONGUI這些基本的方法。了解,預制,時間,數學等常用的類及相關方法。理解游戲對象,組件,腳本彼此之間的關系。

6、第六步進一步學習攝像機,燈光,地形,渲染,粒子系統,物理系統等等,這些每一個深入進去都是一個很復雜的主題。

7、第七步一些更高級的概念:向量的加減法點乘叉乘,光照法線貼圖,內存管理,圖形優化等等。

參考資料:網路-Unity3D

5. unity3d實現 軟體物理 效果哪個方式好

也就是說 步驟1-步驟2是一個流程,計時器是另外一個流程;
這里提供兩種方法去判斷步驟1是否完成:
1.在計時器里,每倒數1次就判斷是否已經是0(或步驟1是否完成).若完成,則執行步驟2;
2.單獨將每個步驟寫成方法,封裝和該方法返回值與參數列表均相同的委託,設計一個總開關.按下總開關的時候執行步驟1對應的委託,在步驟1的回調函數里執行步驟2,以此類推..而計時器單獨寫一個計數類,包含開始、暫停和繼續的方法,在每個步驟里去實例計數類的對象執行

6. 如何使用unity3d製作出真實的物理效果

給物體添加物理特性即可,在屬性裡面,使其具有碰撞,重力等物理性質

7. unity如何實現液壓桿效果

1、首先了解液壓桿的構成構造,在了解它的使用方法,效果是什麼。
2、其次在打開Unity,新創建一個UIJoystick.cs腳本,利用Pro/E、3dsMax、Unity3D及面向對象的編程技術,做出液壓桿。
3、最後即可實現液壓支架的整體三維建模和運動模擬,實現壓桿效果。

閱讀全文

與unity3d如何物理模擬相關的資料

熱點內容
word中化學式的數字怎麼打出來 瀏覽:408
乙酸乙酯化學式怎麼算 瀏覽:1084
沈陽初中的數學是什麼版本的 瀏覽:884
華為手機家人共享如何查看地理位置 瀏覽:713
一氧化碳還原氧化鋁化學方程式怎麼配平 瀏覽:557
數學c什麼意思是什麼意思是什麼 瀏覽:1041
中考初中地理如何補 瀏覽:995
360瀏覽器歷史在哪裡下載迅雷下載 瀏覽:428
數學奧數卡怎麼辦 瀏覽:1017
如何回答地理是什麼 瀏覽:747
win7如何刪除電腦文件瀏覽歷史 瀏覽:787
大學物理實驗干什麼用的到 瀏覽:1132
二年級上冊數學框框怎麼填 瀏覽:1335
西安瑞禧生物科技有限公司怎麼樣 瀏覽:493
武大的分析化學怎麼樣 瀏覽:924
ige電化學發光偏高怎麼辦 瀏覽:925
學而思初中英語和語文怎麼樣 瀏覽:1230
下列哪個水飛薊素化學結構 瀏覽:1084
化學理學哪些專業好 瀏覽:1168
數學中的棱的意思是什麼 瀏覽:693