在物體的表面任意位置生成物體

功能效果展示

 

運行環境

Win7,Win8,Win10

Reworld版本 體驗版

vc_redist.x64 運行環境

 

針對零基礎讀者的補充

下載安裝 Reworld對應版本

Reworld官網鏈接http://www.reworlder.com/

Reworld創作者之家論壇:http://bbs.reworlder.com

下載後安裝後註冊賬號打開空地圖

下載安裝 vc_redist.x64.rar運行環境

redist.x64下載鏈接

 

思路分析

想要實現在物體的表面任意位置生成物塊的功能,我們可以通過攝像機向點擊點發一個射線,在點擊點的座標出創建一個零件,就可以實現這樣的效果。

 

功能搭建

一、底板搭建過程

1.在工作區內創建一個零件,將其錨定,修改零件的屬性作爲生成物體的底板。零件的屬性如下圖所示:

 

二、核心功能搭建過程

在玩家初始化,玩家初始化腳本里創建一個客戶端腳本。如下圖所示:

編寫客戶端腳本如下:

local function MyUpdate() --定義一個事件
    local ray = WorkSpace.攝像機:ScreenToRay(Mouse.MousePosition) --獲取點擊點座標
    local e,p,n = WorkSpace:FindObjOnRay(ray)
    if e~=nil then
    local part = RWObject.Create("Part") -- 創建零件
    part.Position = p + Vector3(0,e.Scale.y,0) --給零件的座標賦值
    end
end    
Mouse.MouseButtonLeftDown:Connect(function() --鼠標左鍵點擊時觸發事件 
    MyUpdate()
end)

 

補充說明

1.什麼是工作區?

工作區中的對象是會被可視化顯示到3D場景中的,並且只有在工作區中的對象纔會發生物理交互。

 

2.什麼是客戶端腳本?

只會在客戶端執行的腳本,執行的邏輯和表現也只會在本地客戶端展現;可在以下幾個文件目錄下自動執行,客戶端腳本在“工作區”下不會自動執行,需要放在以下對象裏面:
1. 客戶端最先加載 。
2. 工作區中的角色模型玩家初始化中的角色初始化腳本,在運行後會自動移動到角色模型下。
3. 玩家列表中的玩家玩家初始化中的玩家初始化腳本,在運行後會自動移動到玩家下
4. 玩家玩家界面界面初始化的腳本,在運行後會自動移動到玩家界面下。
5. 玩家的揹包,例如工具裏面的。

好了,接下來我們開始遊戲,我們鼠標點擊的位置就會生成一個零件啦。如果有什麼問題或者有更好的實現方式,大家可以在下方積極交流討論,我們也會參與進來和大家一起分享經驗,期望能和大家共同進步~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章