Substance Painter
In this start to finish texturing project within Substance Painter we cover all the techniques you need to texture the robot character.
# 16 19-07-2003 , 07:52 AM
ragecgi's Avatar
Registered User
Join Date: Sep 2002
Location: Minnesota, USA
Posts: 3,709
Thanks again mind-raper!

..and to post another variant for randomly-created particle attributes per a request in the MATRIX BULLET TRAIL thread
on how to get emitted particle instances (or even just particles)
to emit at random scale values:

Originally posted by Rage:

Try this in a creation expression:

NOTE: you MUST add a radiusPP attribute to your particleShape, and apply this expression to that for this to work as you intenduser added image

The BOLD one is the one to use first, as it is what you asked for.
The rest are variants to try for funuser added image

particleShape1.radiusPP = rand(.5,1)

OR

particleShape1.radiusPP = sin(time)

OR

particleShape1.radiusPP = sin(age)



Israel "Izzy" Long
Motion and Title Design for Broadcast-Film-DS
izzylong.com
# 17 25-08-2003 , 08:29 AM
Registered User
Join Date: Nov 2002
Location: Pakistan
Posts: 57

Controlling speed for instanced Object

when you have instanced an object to particle specially a moving geometry its sometime very difficult to handle cause sometime movement of particles is higher than your instanced object or the other way your object speed is higher then particles(e.g you have created a crown moving through the scene and when you have instanced it to particle they are moving (sliding). there are other manual ways to fix it but i will show you how to do it with expressions, And For this we use a matching script with it you can query how much fast is....particle/object is moving and then according to it you can plug that value into your instanced object/Particles.

A real good way while you are using instanced Geometry, is to use Custom Attributes and then write the expression on the custom attribute and then plug that custom attribute into your instanced geometry.

for a situation where let say you have (crowd) walking animation
you instanced it with particles first you instance like you do normally with basic cautions thats you take before instancing any geometry

create custom attibute from Particle Attribute

goto

ADD DYNAMIC ATTRIBUTE
and add a attribute with you desired setting

customAge
float and Per Particle Array

you will see a new attribute in per particle array attributes named customAge

we'll write a custom expression as follow:-

float $Speed = mag(particle2Shape.velocity);
particleShape1.customAge = particleShape1.age * $Speed /10 (this number can differ as per your need you have to keep playing untill your object is no longer sliding !) ;


mag is for Magnitude ! see documentation for it !

if you are not getting a very good try low down da lifespan of the particle through the scene

hope it helps

enjoy instancing
:bannana:


Learn the Rules|Then|
Burn the Rules Book

Last edited by mind_raper; 25-08-2003 at 08:34 AM.
# 18 25-08-2003 , 02:28 PM
ragecgi's Avatar
Registered User
Join Date: Sep 2002
Location: Minnesota, USA
Posts: 3,709
Rock on m8! That's a keeper!


Israel "Izzy" Long
Motion and Title Design for Broadcast-Film-DS
izzylong.com
# 19 25-08-2003 , 10:24 PM
Alan's Avatar
Moderator
Join Date: Oct 2002
Location: London, UK
Posts: 2,800
this one selects a random element from an array

proc int selectRandArrayVal(string $arr[])

{
int $randomInt = floor(rand(size($arr)))+1;
return $randomInt ;
}

user added image

Cool thread btw

Alan


Technical Director - Framestore

Currently working on: Your Highness

IMDB
# 20 09-09-2003 , 09:54 AM
Registered User
Join Date: Jun 2003
Posts: 13
Hehe, I think mind_raper is raping all the gnomon video expressions

# 21 09-09-2003 , 10:19 AM
Registered User
Join Date: Nov 2002
Location: Pakistan
Posts: 57

Hummmm

lolz
yeah..........
Cause not everyOne has the material so i think.....its helpfull ...!
but offcourse not all of them.....the are from different authors they are also mentioned !


Learn the Rules|Then|
Burn the Rules Book

Last edited by mind_raper; 09-09-2003 at 10:22 AM.
# 22 09-09-2003 , 10:35 AM
Registered User
Join Date: Jun 2003
Posts: 13
its all cool

# 23 09-09-2003 , 04:45 PM
ragecgi's Avatar
Registered User
Join Date: Sep 2002
Location: Minnesota, USA
Posts: 3,709
Either way, an expression is an expression, so keep em coming guys! user added image


Israel "Izzy" Long
Motion and Title Design for Broadcast-Film-DS
izzylong.com
# 24 11-09-2003 , 07:26 PM
kbrown's Avatar
Moderator
Join Date: Sep 2002
Location: London, UK
Posts: 3,198
Ok here's one which I just figured out.

Driving a shader attribute with distance from camera

Let's dig in to this with an example:

1. Create a lambert shader
2. Create a ramp texture (delete the place2dTexture node if it is created)
3. Connect the ramp's output to the lambert's color channel
4. Create a sampler info node
5. Create an expression with following code:
Code:
// NOTE: I'm using default object names here

vector $vPw = << samplerInfo1.pointWorldX, samplerInfo1.pointWorldY, samplerInfo1.pointWorldZ >>;
vector $vCamPos = << persp.translateX, persp.translateY, persp.translateZ >>;

float $fDistance = mag($vPw - $vCamPos);

ramp1.vCoord = $fDistance / 50; // The divider (50) is acting like a max distance value. You may need to adjust it depending on your scene size.
To test this, create a nurbs plane. Scale it in X and Z by 20. Apply the new lambert shader to it and render from different angles. You should see that the plane is red at near distance, green in the middle and blue in far distance. If you get repeats and banding then you need to adjust the divider in the expression.


Kari
- My Website
- My IMDB

Do a lot, Fail a lot and Learn a lot!

Last edited by kbrown; 11-09-2003 at 07:33 PM.
# 25 11-09-2003 , 09:14 PM
ragecgi's Avatar
Registered User
Join Date: Sep 2002
Location: Minnesota, USA
Posts: 3,709
WOW! Kinda like the Yuya Depth shader, only better!

Good one Kman!


Israel "Izzy" Long
Motion and Title Design for Broadcast-Film-DS
izzylong.com
# 26 13-09-2003 , 09:58 PM
kbrown's Avatar
Moderator
Join Date: Sep 2002
Location: London, UK
Posts: 3,198
I just figured out that controlling things based on the distance from camera is really usefull. For example HW particles (mainly points and streaks) are sized in pixels. So no matter how far they are, they will be (HW) rendered the same size -> not exactly realistic looking. If you add a runtime expression which scales the opacityPP based on the distance from the current camera it will look a lot better.

Example:
Code:
vector $vPPos = lpos; // last position of the particle
vector $vCPos = << persp.tx, persp.ty, persp.tz >>; // current camera position
float $fDistance = mag($vPPos - $vCPos) / 20; // particle's distance from camera (scaled to be in range of 0 - 1)
opacityPP = 1.2 - $fDistance; // the opacity will be at least 0.2 but degrades when the distance increases from the cam
Again you need to play with the divider (20) to scale the opacity reduction to fit the size of your scene. The "1.2" on the last line determines the overall opacity level of all particles (you want to keep this greater than 1.0)...


Kari
- My Website
- My IMDB

Do a lot, Fail a lot and Learn a lot!

Last edited by kbrown; 13-09-2003 at 10:06 PM.
# 27 14-09-2003 , 05:10 AM
ragecgi's Avatar
Registered User
Join Date: Sep 2002
Location: Minnesota, USA
Posts: 3,709
And with this expression, who says a lot of rain spoils a shot?

Good one again Kman!


Israel "Izzy" Long
Motion and Title Design for Broadcast-Film-DS
izzylong.com
# 28 14-09-2003 , 01:56 PM
Registered User
Join Date: Nov 2002
Location: Pakistan
Posts: 57
yeah that helps in densed(populated) particles scene where it need lots of camera adjustment will cut down lots of time !


Learn the Rules|Then|
Burn the Rules Book
# 29 06-01-2004 , 05:45 AM
Registered User
Join Date: Jan 2004
Posts: 6

I don't care from where they come here

Hi.

Cool thread !
I'm new here and I'd learned alot from these expressions.
I don't care from where they come here, all of them are good for me. Thank mind_raper and everyone.

Why the thread had stoped ?

Sorry about my poor English.

# 30 06-01-2004 , 04:56 PM
ragecgi's Avatar
Registered User
Join Date: Sep 2002
Location: Minnesota, USA
Posts: 3,709
Hasn't really stopped, just slowed down a bit because folks are a little busy.
It is a "sticky" thread so that way it is always at the top for referenceuser added image

Feel free to post any questions, and we will see if we can helpuser added image


Israel "Izzy" Long
Motion and Title Design for Broadcast-Film-DS
izzylong.com
Posting Rules Forum Rules
You may not post new threads | You may not post replies | You may not post attachments | You may not edit your posts | BB code is On | Smilies are On | [IMG] code is On | HTML code is Off

Similar Threads