Friday, 28 November 2025

TEKART HW13

Load the GeoJSON in a Python SOP, read each feature’s country name and its Polygon or MultiPolygon coordinates, convert longitude–latitude to planar XY to create points and closed polygon primitives, tag primitives with attributes for the country name, a numeric country_id, and whether each ring is an outer boundary or a hole, use a Boolean SOP to subtract rings marked as holes per country, then assign a unique color driven by the country_id (or name) so all pieces of the same country share one color, optionally pack by country_id to make each country a single selectable piece.

P4V



Thursday, 27 November 2025

TEKART HW12

NameRules_UE5.json stores categories including Level, Material, Blueprint, Texture, Mesh, Particles, Animation, Audio, Physics, UI, Misc. Each with their own prefix/suffix pairs. Sub-categories get flattened automatically.

NameGenerator.py:

1. Load and flatten rules

The JSON file is parsed and any nested categories are flattened into direct lookup keys. If the file is missing or invalid, the generator stays uninitialized.

2. Generate names
Given an asset type and a base name, the class retrieves the corresponding prefix/suffix and produces the final name. If the asset type is unknown or inputs are invalid, the function handles the error safely and returns None.

3. Add custom rules
Users can inject new naming rules at runtime. Invalid custom rule definitions are caught and reported without interrupting execution.

The output shows the system behaving correctly in every case: initialization, JSON parsing, rule flattening, name generation, custom rule override, and exception handling.

P4V:




TEKART HW11

I implemented a small CSG framework in Python for Houdini. GeometryModule.py provides a base class that creates a clean geometry container under /obj. CSGModule.py extends this by building a standard CSG SOP network (object merges, Boolean, switch, transform, color, normal, OUT) and overloads the +, -, and & operators to perform union, difference, and intersection between CSG objects by wiring their results into a new Boolean node. BoxModule.py and TubeModule.py are thin subclasses that define the actual source geometry (a box and a capped polygon tube) feeding into the CSG pipeline. HW11.py uses these classes to construct the homework’s specific Boolean tree: first a union between a box and a tube, then a chained subtraction between boxes and a tube, and lastly the intersection of both branches, resulting in the final yellow CSG shape visible in the viewport.





















P4V:



Thursday, 6 November 2025

COMMON ART W11

rim-glow / edge-highlight shader using a Custom node.custom HLSL function (OutlineGLow_Color) inside OutlineGlow.ush, which calculates a Fresnel-style rim effect based on the dot product between the world normal and the view vector. The function adds a colored glow around the edges of the object, controlled by parameters like EdgePower (rim width) and GlowIntensity (brightness).

















In the material, the shader is connected through a Custom node that calls this function and outputs to the Emissive Color, blending the glow with the object’s original material. This setup is for easier adjust rim width, glow intensity, and color per material instance, while keeping the logic clean and reusable through the external shader file.

P4V



Sunday, 2 November 2025

COMMON ART W12

 Custom Plugins in Engine

1. Add a Custom Plugin:

Edit --- Plugins --- +Add --- New Plugins --- Blueprint Library

name it ShaderPathPlugin

2. Editing Plugin:

Open ShaderPathPlugin.cpp, ShaderPathPlugin.h, ShaderPathPlugin.Build.cs inside VS2022, input as following code:3. Folder and File:

Create folder called "Shaders" directly under Project (not Content)

Open VS Code, create a text file for debug and save it under Shaders as test.usf file4. Rebuild:

Close UE5 and rebuild solution in VS2022. Open UE5 after compiling.

5. Test on Material:

Add custom node on a new created material.

Add index under Include File Paths and input /Project/Shaders/test.usf

input return green(); for testing

(Output Type needs to be modified according to the return value type of the function that returning. For example, if the function returns float, the output type should be CMOT floating-point 1. Here green() returns half3, so it should be CMOT floating-point 3.

P4V





Saturday, 1 November 2025

COMMON ART W10

M_Waterfall is set to Translucent blend mode under the Surface domain with Unlit shading for efficiency and control, uses Texture Coordinates modified through multiple operations to pan the UVs vertically, representing downward water flow. A Dynamic Parameter allows particle systems to drive animation speed and distortion scale in real time. Two sets of Lerp and Multiply nodes blend between lighter and deeper tones of blue, giving the material depth and a shimmering effect. The Emissive Color output is tied to a combination of particle color and brightness control, producing glowing highlights that mimic sunlight reflection. The Opacity output is modulated by sine-based waves to simulate transparency variation as the water moves.

NS_Waterfall contains two emitters using the custom material. Each emitter spawns particles from a sphere location and applies linear downward velocity to emulate gravity-driven water flow. The Dynamic Material Parameters module connects to the material’s dynamic inputs, enabling animation speed and color variance per emitter. The Align Sprite to Mesh Orientation ensures the particle planes always face the camera, keeping the waterfall visually coherent from all angles. By layering two emitters slightly offset in timing and scale, the system achieves a more natural “sheeted” water appearance with subtle parallax.

P4V


Thursday, 23 October 2025

COMMON ART W9

 PortalGate FX







Descriptions:
>>>using a Niagara particle system combined with a custom unlit material. The effect represents a swirling dimensional rift. It blends animated distortion, radial gradients, and emissive glow.

   >>>M_Portal is designed for translucent rendering with dynamic emissive intensity and displacement: VectorToRadialValue node converts UV coordinates into polar space, allowing rotational distortion instead of linear flow. The Dynamic Parameter connects to the Niagara system, controlling distortion strength and panning speed interactively. A Panner node drives the swirl texture over time, creating rotational turbulence across the surface. RadialGradientExponential nodes define the portal’s falloff and edge glow—one controlling inner opacity, the other emphasizing emissive density near the boundary. These gradients are multiplied and blended using Lerp, Multiply, and Power nodes to modulate transparency and emissive brightness based on distance from the center. The Particle Color input is used to tint the final emissive output.






   >>>NS_Portal consists of three emitters: The two Minimal emitters generate the main portal disk layers. They use the M_Portal and dynamic parameters to animate swirl speed and emissive intensity over time. The Fountain emitter continuously spawns particles in a torus shape with upward velocity and UV animation. This layer adds energy sparks and soft mist trails emerging from the portal’s rim, increasing depth and dynamism. The combination of burst and continuous emitters ensures both structural presence and ongoing motion. All emitters use Align Sprite to Mesh Orientation for consistent visual facing and employ Dynamic Material Parameters to sync animation phases.

P4V Proof


Sunday, 28 September 2025

TEK ART - - - GAME ANIM ASSIGNMENT

Preview

Create anim in Maya --- Import Skeletal Mesh & Animation into UE5 --- Create anim instance in level















Retargeting Maximo Anim to Custom Skeletal Mesh










Retargeting Custom Anim to Maximo Skeletal Mesh










Using C++ Classes with Blueprints to Create Floating & Rotating Objects and Flashing Lights











Rim Material + Post Process Volume --- Glow Outline Effect









Interactive Floor using MPC & Actor Blueprints













Press 1 Play Music ( I haven't solve audio overlaps behavior when trigger activated repeatedly)