Unreal 5 y el sistema de iluminación en tiempo real Lumen, nos permiten tener materiales con emisión que no solo van a crear un halo suavizado , sino que realmente iluminan.
Para ello tendremos que crear un material con Emission, el que mejor resultado me ha dado es Surface, y convertirlo en parámetro quedando:
Ahora viene algo que al principio parece extraño pero que luego tiene toda su lógica, y es crear dinámicamente una copia del material , modificarlo y reasignarlo.
Es necesario crear una copia ya que si se pudiera, creo que Unreal no deja manipular el material directamente, estaríamos modificando las propiedades del material en todos los objetos que lo tuvieran, por lo que un cambio en el emissor cambiaria todos y normalmente lo que se busca es tener control sobre cada uno
- Obtener copia dinámica del material, para ello tenemos que fijarnos en que índice está, lo ideal es crear una variable para poder cambiarlo
DynMaterial = UMaterialInstanceDynamic::Create(LampMesh->GetMaterial(indexOfMaterial), this);
Donde DynMaterial es UMaterialInstanceDynamic* DynMaterial;
2. Modificar los parámetros, aquí es muy importante que el nombre del parámetro y el que vamos a pasar coincidan, de nuevo crear una variable ParamEmissionName (FName ParamEmissionName = FName(TEXT(“EmissionIntesity”));) para el nombre
DynMaterial->SetScalarParameterValue(ParamEmissionName, 0.0f);
3. Por último reasignar la copia del material al elemento, sino se habrá creado la copia pero no tendrá dueño, LampMesh es mesh del objeto que contiene los materiales definido como UStaticMeshComponent* LampMesh;
LampMesh->SetMaterial(indexOfMaterial, DynMaterial);
The ad is displayed on the page
current post: Creando una bombilla en Unreal 5, encendido y apagado en c++, ID: 2871
Ad: Anuncio2 (2573)
Placement: After Content 2 (after-content_2)
Display Conditions
Ad | wp_the_query | |
---|---|---|
term_id | 0 | |
taxonomy | 0 | |
is_main_query | 1 | 1 |
is_rest_api | 0 | |
page | 0 | 1 |
numpages | 0 | 1 |
is_archive | 1 | |
is_search | 1 | |
is_home | 1 | |
is_404 | 1 | |
is_attachment | 1 | |
is_singular | 1 | 1 |
is_front_page | 1 | |
is_feed | 1 |
Find solutions in the manual