24 lines
730 B
GDScript
24 lines
730 B
GDScript
@tool
|
|
extends Node3D
|
|
class_name Ocean
|
|
|
|
@onready var OceanTileMesh:PlaneMesh = preload("uid://wes0mbjy8mno")
|
|
@onready var gravity: float = ProjectSettings.get_setting("physics/3d/default_gravity")
|
|
var time:float
|
|
@export_tool_button("Generate Tiles","Ocean") var generate_tile_action = generate_tile
|
|
|
|
func generate_tile():
|
|
for i in range(8):
|
|
var NewTile = OceanTile.new()
|
|
add_child(NewTile)
|
|
|
|
func _ready() -> void:
|
|
if not Engine.is_editor_hint():
|
|
add_to_group("Ocean")
|
|
if OceanTileMesh != null:
|
|
OceanTileMesh.surface_get_material(0).set_shader_parameter("wave_time",0.0)
|
|
|
|
func _process(delta):
|
|
if OceanTileMesh != null:
|
|
time += delta
|
|
OceanTileMesh.surface_get_material(0).set_shader_parameter("wave_time",time)
|