GlowImposter Script

From Unify Community Wiki
Revision as of 08:45, 26 May 2006 by NCarter (Talk | contribs)

Jump to: navigation, search

Author: Forest (yoggy)

Description

This script uses a flat plane to generate a cool graphical effect that mimics a glowing volume by rotating and scaling a plane with a circle texture on it. This can be used for glowing bullets, lasers etc.

Usage

Use this script on both a flat plane object with an Additive shader and circle texture and a blank object that parents the flat plane. Set the "parent" variable accordingly.


JavaScript - GlowImposter.js

<javascript> var parent = true;

private var normalScale = Vector3(0, 0, 0);

function Update () { target = Camera.main.transform;

// Get the rotation tword the camera vector = target.position - transform.position;

/* parent should be true on the blank game object that parents the flat plane object parent should be false on the flat plane object parented by the blank object*/

if(parent) { // rotate the parent's z axis toward the camera vector.z = 0; transform.rotation = Quaternion.FromToRotation (Vector3.up, vector); } else { // rotate the child object's x axis toward the camera z = vector.normalized.z; if(normalScale == Vector3.zero) normalScale = transform.localScale; transform.localEulerAngles.x = z * 90;

// get a range for relative z distance z = Mathf.Abs(z); z = 1 - z;

// scale by relative z distance transform.localScale.z = z * normalScale.z; transform.localScale.z += normalScale.x; } }

</javascript>

Personal tools
Namespaces

Variants
Actions
Navigation
Extras
Toolbox