Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Godot

Ответ
 
Опции темы
Старый 23.10.2021, 14:58   #1
Tiranas
Разработчик
 
Аватар для Tiranas
 
Регистрация: 11.10.2017
Сообщений: 390
Написано 74 полезных сообщений
(для 117 пользователей)
Как избавиться от наследования albedo_color?

Как избавиться от наследования albedo_color после дублирования объекта?

Копирую объект (ключ), первый должен быть жёлтого цвета, второй красного, но оба создаются красными. Флаги при создании дубликатов выставил в минимум. Но цвет у первого продублированного ключа меняется с жёлтого на красный.

# Установить цвет ключа
func SetColorKey01(key01: Node, NumColor: int):
	var col
	match NumColor:
		1: col = Color(1, 1, 0)
		2: col = Color(1, 0, 0)
		3: col = Color(0, 1, 0)
		4: col = Color(0, 0, 1)
		5: col = Color(0, 1, 1)
		6: col = Color(1, 0, 1)
		7: col = Color(1, 1, 1)
		_: col = Color(0.7, 0.7, 0.7)
	key01.get_child(2).get_child(0).material.albedo_color = col
	key01.get_child(2).get_child(1).material.albedo_color = col
	key01.get_child(2).get_child(2).material.albedo_color = col
	key01.get_child(2).get_child(3).material.albedo_color = col
	key01.get_child(2).get_child(4).material.albedo_color = col
	key01.get_child(2).get_child(5).material.albedo_color = col

# металлическая дверь
func ABoxCreate1(y: int, x: int, numBox: int) -> Node:
	var newNode = $doorBox1.duplicate(7)
	newNode.translation = Vector3(x * 4, y * 4, -2)
	newNode.visible = true
	newNode.editor_description = "A" + str(numBox)
	newNode.get_child(0).editor_description = newNode.editor_description
	newNode.get_child(0).get_child(0).editor_description = newNode.editor_description
	newNode.get_child(0).get_child(1).editor_description = newNode.editor_description
	add_child(newNode)
	var key_add_01 = $Key01.duplicate(0)
	key_add_01.translation = Vector3(x * 4, (y + 1) * 4, 2)
	key_add_01.scale = Vector3(1.3, 1.3, 1.3)
	#key_add_01.bRotate = false
	SetColorKey01(key_add_01, numBox) # Установить цвет ключа
	key_add_01.visible = true
	add_child(key_add_01)
	#newNode.add_child(key_add_01)
	#var key01 = load("res://Key01.tscn").instance()
	return newNode
# Ключ к металлической двери
func aBoxCreate1(y: int, x: int, numBox: int) -> Node:
	var newNode = $KeySphere1.duplicate(7)
	#$KeySphere1.remove_child(newNode)
	newNode.translation = Vector3(x * 4, y * 4, 0)
	newNode.visible = true
	newNode.editor_description = "a" + str(numBox)
	newNode.get_child(0).editor_description = newNode.editor_description
	newNode.get_child(1).editor_description = newNode.editor_description
	add_child(newNode)
	var key_add_01 = $Key01.duplicate(4)
	#$Key01.remove_child(key_add_01)
	#key_add_01.get_parent().remove_child(key_add_01)
	key_add_01.translation = Vector3(0,0,0)
	SetColorKey01(key_add_01, numBox) # Установить цвет ключа
	key_add_01.visible = true
	#add_child(key_add_01)
	newNode.add_child(key_add_01)
	return newNode
__________________
Человек это или баг, или заложенное специально программное яйцо.
(Offline)
 
Ответить с цитированием
Старый 25.10.2021, 14:09   #2
ant0N
Бывалый
 
Аватар для ant0N
 
Регистрация: 10.06.2011
Адрес: В горах
Сообщений: 849
Написано 331 полезных сообщений
(для 853 пользователей)
Ответ: Как избавиться от наследования albedo_color?

Сори что не ответил, давно не заходил сюда. Вчера уже видел что на гд.ру тебе ответили на этот вопрос.
Если кратко, то нужно сделать материал локальным для сцены, так как по умолчанию все копии имеют ссылки на одни ресурсы
__________________
Абсолютли!
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Tiranas (25.10.2021)
Старый 25.10.2021, 23:16   #3
Tiranas
Разработчик
 
Аватар для Tiranas
 
Регистрация: 11.10.2017
Сообщений: 390
Написано 74 полезных сообщений
(для 117 пользователей)
Ответ: Как избавиться от наследования albedo_color?

Сообщение от ant0N Посмотреть сообщение
Сори что не ответил, давно не заходил сюда. Вчера уже видел что на гд.ру тебе ответили на этот вопрос.
Если кратко, то нужно сделать материал локальным для сцены, так как по умолчанию все копии имеют ссылки на одни ресурсы
Да, сначала сюда кинул, потом вижу тут глухо, забросил на ГД.
Но, всё равно, спасибо!
__________________
Человек это или баг, или заложенное специально программное яйцо.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 08:13.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com