Альт

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Альт » Альт » моя версия безмятежности


моя версия безмятежности

Сообщений 1 страница 19 из 19

1

https://upforme.ru/uploads/001c/aa/0e/3/t925948.jpg

Теги: gamedev

2

https://upforme.ru/uploads/001c/aa/0e/3/t739427.png
https://upforme.ru/uploads/001c/aa/0e/3/t60313.png

Код:
extends CharacterBody3D

var speed = 6.0
var jump_velocity = 6
var gravity = ProjectSettings.get_setting("physics/3d/default_gravity")

var mouse_sensitivity = 0.002
var camera_follow_speed = 10.0 
var camera_height_offset = 1.5

var is_aiming = false

var yaw = 0.0 
var pitch = 0.0

# --- ССЫЛКИ НА УЗЛЫ ---
@onready var camera_pivot = get_tree().get_first_node_in_group("camera_pivot") 
@onready var hp_ui = get_tree().get_first_node_in_group("ui")
@onready var animation_player = $AnimationPlayer

func _ready():
	Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
	

func _input(event):
	
	if event is InputEventMouseMotion:
    yaw -= event.relative.x * mouse_sensitivity
    pitch -= event.relative.y * mouse_sensitivity
    pitch = clamp(pitch, deg_to_rad(-60), deg_to_rad(40))
    camera_pivot.rotation.y = yaw

	
	if event.is_action_pressed("ui_cancel"):
    if Input.mouse_mode == Input.MOUSE_MODE_CAPTURED:
    	Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
    else:
    	Input.mouse_mode = Input.MOUSE_MODE_CAPTURED

func start_aiming():
	is_aiming = true
	
	if audio_bow and sound_draw:
    audio_bow.stream = sound_draw
    audio_bow.play()


func _physics_process(delta):
	if grass_mat:
    grass_mat.set_shader_parameter("player_position", self.global_position)
	
	if not is_on_floor():
    velocity.y -= gravity * delta
	else:
    if velocity.y < 0:
    	velocity.y = 0

	if Input.is_action_just_pressed("ui_accept") and is_on_floor():
    velocity.y = jump_velocity

	var input_dir = Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down")
	
	var aim_basis = camera_pivot.global_transform.basis
	var forward_dir = aim_basis.z 
	var right_dir = aim_basis.x
	
	var direction = (forward_dir * input_dir.y + right_dir * input_dir.x).normalized()
	
	if direction:
    velocity.x = direction.x * speed
    velocity.z = direction.z * speed
    
    var target_position = global_position + direction
    var target_transform = transform.looking_at(target_position, Vector3.UP)
    
    var target_basis = Basis.from_euler(Vector3(0, target_transform.basis.get_euler().y, 0))
    transform.basis = transform.basis.slerp(target_basis, 15 * delta)
	else:
    velocity.x = move_toward(velocity.x, 0, speed)
    velocity.z = move_toward(velocity.z, 0, speed)

    if is_aiming:
	
    	var cam_basis = camera_pivot.global_transform.basis
	
    	var look_dir = -cam_basis.z
	
	
    	if look_dir.length() > 0.1:
        var target_pos = global_position + look_dir
        var target_transform = transform.looking_at(target_pos, Vector3.UP)
    
        var target_basis = Basis.from_euler(Vector3(0, target_transform.basis.get_euler().y, 0))
        transform.basis = transform.basis.slerp(target_basis, 20 * delta)
	move_and_slide()

	
	if animation_player and animation_player.has_animation("walk"):
    if velocity.length() > 0.1:
    	animation_player.play("walk")
    else:
    	animation_player.play("idle")

func _process(delta):
	
	
	if camera_pivot.has_node("CameraBoom"):
    camera_pivot.get_node("CameraBoom").rotation.x = pitch

	
	var target_pos = global_position + Vector3(0, camera_height_offset, 0)
	camera_pivot.global_position = camera_pivot.global_position.lerp(target_pos, camera_follow_speed * delta)

Перевести3

:flirt:

Перевести4

https://i.pinimg.com/736x/c4/9e/81/c49e81c953740c66784672743f6c1d0d.jpg

Перевести5

:surprise:

6

mimes написал(а):

Цитировать

эй, у меня этот мем есть

7

о великий гриб
https://i.pinimg.com/736x/f2/03/11/f20311e57997140981dc3c59e0c43a75.jpg

8

и этот!  :O

9

я ворую твои грибы

Перевести10

:(

Перевести11

:shine:

12

добро пожаловать в годот

Перевести13

:flirt:

Перевести14

:tomato:

15

mimes написал(а):

добро пожаловать в годот

спасибо за билет :glasses:

Перевести16

https://i.pinimg.com/originals/ca/a4/69/caa4690b57d5302b0cafa3d9dc6b0b47.gif

Перевести17

:rolleyes:

18

lua написал(а):

гля

19

оу щет, мне это нужно


Вы здесь » Альт » Альт » моя версия безмятежности


Рейтинг форумов | Создать форум бесплатно