123457899 发表于 2021-6-30 12:31:08

WindShake树叶随风飘动插件

该插件支持对需要进行晃动的part或modle进行标签,该插件性能优化非常好!
1、获得tag插件Tag Window


2、获得windShake插件



Roblox
WindShake

Use WindShake and thousands of other assets to build an immersive experience. Select from a wide range of models, decals, meshes, plugins, or audio that help bring your imagination into reality.


3、demo演示

Roblox

Wind Demo

Check out Wind Demo. It’s one of the millions of unique, user-generated 3D experiences created on Roblox. Wind Lines and Shaky LeavesTrees are from Free Models, not...


4、API接口
Functions

function WindShake:Init()
Initializes the wind shake logic and adds shake to all tagged objects
Returns:
void
function WindShake:Cleanup()
Halts and clears the wind shake logic and all object shakes
Returns:
void
function WindShake:Pause()
Halts the wind shake logic without clearing
Returns:
void
function WindShake:Resume()
Restarts the wind shake logic without clearing
Returns:
void
function WindShake:AddObjectShake(Object, Settings)
Adds an object to be shaken
Parameters:

[*]Object
The Object to apply shaking to
[*]Settings
The settings to apply to this object’s shake (See below for Settings structure)
Returns:
void
function WindShake:RemoveObjectShake(Object)
Removes shake from an object
Parameters:

[*]Object
The Object to remove shaking from
Returns:
void
function WindShake:SetDefaultSettings(Settings)
Deprecated in favor of setting the Attributes of the WindShake modulescript
Sets the default settings for future object shake additions
Parameters:

[*]Settings
The settings to use as default (See below for Settings structure)
Returns:
void
function WindShake:UpdateObjectSettings(Object, Settings)
Deprecated in favor of setting the Attributes of the Object
Updates the shake settings of an object already added
Parameters:

[*]Object
The Object to apply shake settings to
[*]Settings
The settings to apply to this object’s shake (See below for Settings structure)
Returns:
void
function WindShake:UpdateAllObjectSettings(Settings)
Updates the shake settings of all active shakes
Parameters:

[*]Settings
The settings to apply to all objects’ shake (See below for Settings structure)
Returns:
void
Settings
Events

RBXScriptSignal WindShake.ObjectShakeAdded(Object)
Fires when an object is added to WindShake
Parameters:

[*]Object
The object that was added
RBXScriptSignal WindShake.ObjectShakeRemoved(Object)
Fires when an object is removed from WindShake
Parameters:

[*]Object
The object that was removed
RBXScriptSignal WindShake.ObjectShakeUpdated(Object)
Fires when an object’s settings are updated through the update APIs
Parameters:

[*]Object
The object that had its settings updated
RBXScriptSignal WindShake.Resumed()
Fires when WindShake begins shaking the objects
RBXScriptSignal WindShake.Paused()
Fires when WindShake stops shaking the objects
Types

Settings tables are structured like so:
{
    WindDirection: Vector3 to shake towards (Initially 0.5,0,0.5)
    WindSpeed: Positive number that defines how fast to shake (Initially 20)
    WindPower: Positive number that defines how much to shake (Initially 0.5)

    --If one of these is not defined, it will use default for that one,
    --so you can pass a table with just one or two settings and the rest
    --will be default so you don't need to make the full table every time.
}
Usage Example:

local WIND_DIRECTION = Vector3.new(1,0,0.3)
local WIND_SPEED = 25
local WIND_POWER = 0.4

local WindShake = require(script.WindShake)

WindShake:SetDefaultSettings({
    WindSpeed = WIND_SPEED;
    WindDirection = WIND_DIRECTION;
    WindPower = WIND_POWER;
})

WindShake:Init() -- Anything with the WindShake tag will now shake
5、原文地址:https://devforum.roblox.com/t/wind-shake-high-performance-wind-effect-for-leaves-and-foliage/1039806
页: [1]
查看完整版本: WindShake树叶随风飘动插件