iddevnet/quake4/FXEditor_Tab_-_Origin.html

279 lines
18 KiB
HTML
Raw Normal View History

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<meta name="robots" content="index,nofollow">
<title>FXEditor Tab - Origin - Quake 4 SDK Documentation</title>
<script type="text/javascript" src="/wiki/common/js/common.js"></script>
<script type="text/javascript">
<!--// common functions
// We keep here the state of the search box
searchIsDisabled = false;
function searchChange(e) {
// Update search buttons status according to search box content.
// Ignore empty or whitespace search term.
var value = e.value.replace(/\s+/, '');
if (value == '' || searchIsDisabled) {
searchSetDisabled(true);
} else {
searchSetDisabled(false);
}
}
function searchSetDisabled(flag) {
// Enable or disable search
document.getElementById('fullsearch').disabled = flag;
document.getElementById('titlesearch').disabled = flag;
}
function searchFocus(e) {
// Update search input content on focus
if (e.value == 'Search') {
e.value = '';
e.className = '';
searchIsDisabled = false;
}
}
function searchBlur(e) {
// Update search input content on blur
if (e.value == '') {
e.value = 'Search';
e.className = 'disabled';
searchIsDisabled = true;
}
}
function actionsMenuInit(title) {
// Initialize action menu
for (i = 0; i < document.forms.length; i++) {
var form = document.forms[i];
if (form.className == 'actionsmenu') {
// Check if this form needs update
var div = form.getElementsByTagName('div')[0];
var label = div.getElementsByTagName('label')[0];
if (label) {
// This is the first time: remove label and do buton.
div.removeChild(label);
var dobutton = div.getElementsByTagName('input')[0];
div.removeChild(dobutton);
// and add menu title
var select = div.getElementsByTagName('select')[0];
var item = document.createElement('option');
item.appendChild(document.createTextNode(title));
item.value = 'show';
select.insertBefore(item, select.options[0]);
select.selectedIndex = 0;
}
}
}
}
//-->
</script>
<link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="/wiki/modern/css/common.css">
<link rel="stylesheet" type="text/css" charset="utf-8" media="screen" href="/wiki/modern/css/screen.css">
<link rel="stylesheet" type="text/css" charset="utf-8" media="print" href="/wiki/modern/css/print.css">
<link rel="stylesheet" type="text/css" charset="utf-8" media="projection" href="/wiki/modern/css/projection.css">
<!-- css only for MSIE browsers -->
<!--[if IE]>
<link rel="stylesheet" type="text/css" charset="utf-8" media="all" href="/wiki/modern/css/msie.css">
<![endif]-->
<link rel="Start" href="/quake4/Quake4SDK">
<link rel="Alternate" title="Wiki Markup" href="/quake4/FXEditor_Tab_-_Origin?action=raw">
<link rel="Alternate" media="print" title="Print View" href="/quake4/FXEditor_Tab_-_Origin?action=print">
<link rel="Search" href="/quake4/FindPage">
<link rel="Index" href="/quake4/TitleIndex">
<link rel="Glossary" href="/quake4/WordIndex">
<link rel="Help" href="/quake4/HelpOnFormatting">
</head>
<body lang="en" dir="ltr">
<div id="header">
<div id="logo"><a href="/quake4/Quake4SDK"><img src="/wiki/common/moinmoin.png" alt="MoinMoin Logo"></a></div>
<form id="searchform" method="get" action="">
<div>
<input type="hidden" name="action" value="fullsearch">
<input type="hidden" name="context" value="180">
<label for="searchinput">Search:</label>
<input id="searchinput" type="text" name="value" value="" size="20"
onfocus="searchFocus(this)" onblur="searchBlur(this)"
onkeyup="searchChange(this)" onchange="searchChange(this)" alt="Search">
<input id="titlesearch" name="titlesearch" type="submit"
value="Titles" alt="Search Titles">
<input id="fullsearch" name="fullsearch" type="submit"
value="Text" alt="Search Full Text">
</div>
</form>
<script type="text/javascript">
<!--// Initialize search form
var f = document.getElementById('searchform');
f.getElementsByTagName('label')[0].style.display = 'none';
var e = document.getElementById('searchinput');
searchChange(e);
searchBlur(e);
//-->
</script>
<ul id="username"><li><a href="/quake4/FXEditor_Tab_-_Origin?action=login" id="login">Login</a></li></ul>
<div id="locationline">
<ul id="pagelocation">
<li><a class="backlink" title="Click to do a full-text search for this title" href="/quake4/FXEditor_Tab_-_Origin?action=fullsearch&amp;value=linkto%3A%22FXEditor+Tab+-+Origin%22&amp;context=180">FXEditor Tab - Origin</a></li>
</ul>
</div>
<ul id="navibar">
<li class="wikilink"><a href="/quake4/GettingStarted">GettingStarted</a></li><li class="wikilink"><a href="/quake4/ScriptFile">ScriptFile</a></li><li class="wikilink"><a href="/quake4/MakeAMod">MakeAMod</a></li><li class="wikilink"><a href="/quake4/LevelEditor">LevelEditor</a></li><li class="wikilink"><a href="/quake4/FXEditor">FXEditor</a></li><li class="wikilink"><a href="/quake4/GUIEditor">GUIEditor</a></li><li class="wikilink"><a href="/quake4/Sounds">Sounds</a></li><li class="wikilink"><a href="/quake4/Animations">Animations</a></li><li class="wikilink"><a href="/quake4/ArtReference">ArtReference</a></li><li class="wikilink"><a href="/quake4/DownloadableContent">DownloadableContent</a></li><li class="wikilink"><a href="/quake4/RecentChanges">RecentChanges</a></li><li class="wikilink"><a href="/quake4/FindPage">FindPage</a></li><li class="wikilink"><a href="/quake4/HelpContents">HelpContents</a></li><li class="current"><a href="/quake4/FXEditor_Tab_-_Origin">FXEditor Tab - Origin</a></li>
</ul>
<div id="pageline"><hr style="display:none;"></div>
<ul class="editbar"><li><span class="disabled">Immutable Page</span></li><li><a href="/quake4/FXEditor_Tab_-_Origin?action=info">Info</a></li><li><a href="/quake4/FXEditor_Tab_-_Origin?action=AttachFile">Attachments</a></li><li>
<form class="actionsmenu" method="get" action="">
<div>
<label>More Actions:</label>
<select name="action"
onchange="if ((this.selectedIndex != 0) &&
(this.options[this.selectedIndex].disabled == false)) {
this.form.submit();
}
this.selectedIndex = 0;">
<option value="raw">Raw Text</option>
<option value="print">Print View</option>
<option value="RenderAsDocbook">Render as Docbook</option>
<option value="refresh">Delete Cache</option>
<option value="show" disabled class="disabled">------------</option>
<option value="SpellCheck">Check Spelling</option>
<option value="LikePages">Like Pages</option>
<option value="LocalSiteMap">Local Site Map</option>
<option value="show" disabled class="disabled">------------</option>
<option value="RenamePage" disabled class="disabled">Rename Page</option>
<option value="DeletePage" disabled class="disabled">Delete Page</option>
<option value="show" disabled class="disabled">------------</option>
<option value="MyPages">My Pages</option>
<option value="SubscribeUser">Subscribe User</option>
<option value="show" disabled class="disabled">------------</option>
<option value="Despam">Remove Spam</option>
<option value="PackagePages">Package Pages</option>
</select>
<input type="submit" value="Do">
</div>
<script type="text/javascript">
<!--// Init menu
actionsMenuInit('More Actions:');
//-->
</script>
</form>
</li></ul>
</div>
<div id="page" lang="en" dir="ltr">
<div dir="ltr" id="content" lang="en"><span class="anchor" id="top"></span>
<span class="anchor" id="line-1"></span><p class="line862">The Origin tab controls placement of effect and bounds in which it will spawn. In the case of using min/max origin numbers, the Origin will be the space in which a particle will spawn. Larger min/max numbers mean a more random spawn location within the origin space. Please see <a href="/quake4/Notes_about_Origins">Notes about Origins</a> below for more detailed information. <span class="anchor" id="line-2"></span><hr /><p class="line874"> <span class="anchor" id="line-3"></span>
<h3 id="head-27c49e96442aef4442cc1f44855955cf2dd09200">Forward</h3>
<span class="anchor" id="line-4"></span><ul><li style="list-style-type:none">Forward is relative to the normal the effect is played from. <span class="anchor" id="line-5"></span><span class="anchor" id="line-6"></span></li></ul><p class="line867">
<h3 id="head-727d58055ec124179076d925f3bb9dd91efc76c0">Left</h3>
<span class="anchor" id="line-7"></span><ul><li style="list-style-type:none">Relative to the world coordinates or bone coordinates the effect is played from. <span class="anchor" id="line-8"></span><span class="anchor" id="line-9"></span></li></ul><p class="line867">
<h3 id="head-95be532b9ebbc18d5464b587b8f404831456995d">Up</h3>
<span class="anchor" id="line-10"></span><ul><li style="list-style-type:none">Relative to the world coordinates or bone coordinates the effect is played from. <span class="anchor" id="line-11"></span><span class="anchor" id="line-12"></span></li></ul><p class="line867"><span class="anchor" id="linear"></span> <span class="anchor" id="line-13"></span>
<h3 id="head-ea81e01cb073119956ed984f98a82e44d75918e8">Linear</h3>
<span class="anchor" id="line-14"></span><ul><li style="list-style-type:none">Spawns sprites along a line. <span class="anchor" id="line-15"></span><span class="anchor" id="line-16"></span></li></ul><p class="line867"><span class="anchor" id="sphere"></span> <span class="anchor" id="line-17"></span>
<h3 id="head-6e71ccb45ac73a8011b07a26364f4f91e70bb116">Sphere</h3>
<span class="anchor" id="line-18"></span><ul><li style="list-style-type:none">Spawns sprites within the confines of a sphere. <span class="anchor" id="line-19"></span><span class="anchor" id="line-20"></span></li></ul><p class="line867"><span class="anchor" id="cone"></span> <span class="anchor" id="line-21"></span>
<h3 id="head-4c6be2a20b2b1d958f6ce26fbf92457865fae932">Cone</h3>
<span class="anchor" id="line-22"></span><ul><li style="list-style-type:none">Spawns sprites within the confines of a cone. <span class="anchor" id="line-23"></span><span class="anchor" id="line-24"></span></li></ul><p class="line867"><span class="anchor" id="box"></span> <span class="anchor" id="line-25"></span>
<h3 id="head-0403e02acd8013ae03a773adaa917cd939e32e7e">Box</h3>
<span class="anchor" id="line-26"></span><ul><li style="list-style-type:none">Spawns sprites within the confines of a box. <span class="anchor" id="line-27"></span><span class="anchor" id="line-28"></span></li></ul><p class="line867"><span class="anchor" id="cylinder"></span> <span class="anchor" id="line-29"></span>
<h3 id="head-f4f2b3565598ee3611d81d4dc178ef36fc9b63b5">Cylinder</h3>
<span class="anchor" id="line-30"></span><ul><li style="list-style-type:none">Spawns sprites within the confines of a cylinder. <span class="anchor" id="line-31"></span><span class="anchor" id="line-32"></span></li></ul><p class="line867">
<h3 id="head-2117f4070b64db652890321e94afac137f6c6068">Spiral</h3>
<span class="anchor" id="line-33"></span><ul><li style="list-style-type:none">Spawns sprites within the confines of a spiral, most noticeable when using lines or linked lines. The number to the right of the spiral setting determines how many subdivisions to use. <span class="anchor" id="line-34"></span><span class="anchor" id="line-35"></span></li></ul><p class="line867">
<h3 id="head-48fc239bd3d0fd98bd9e14fdfbf8a1ea4ece7e76">Model</h3>
<span class="anchor" id="line-36"></span><ul><li style="list-style-type:none">Spawns sprites within the confines of a specified model. <span class="anchor" id="line-37"></span><span class="anchor" id="line-38"></span></li></ul><p class="line867"><span class="anchor" id="spawnonsurface"></span> <span class="anchor" id="line-39"></span>
<h3 id="head-8356e8aca69305f6d7d345bf79e844cc3e0d4c69">Spawn on Surface</h3>
<span class="anchor" id="line-40"></span><ul><li style="list-style-type:none">Spawns on the outside surface of the specified origin rather than within the origin space. <span class="anchor" id="line-41"></span></li></ul><p class="line867"><span class="anchor" id="line-42"></span><pre>Example: With this setting checked and a sphere origin, sprites will spawn on the outside of the sphere: creating a “bubble.”
<span class="anchor" id="line-43"></span></pre><span class="anchor" id="line-44"></span><span class="anchor" id="line-45"></span><p class="line867">
<h3 id="head-b7f643c5c8cbf36cce8efefb1ee2ff52edb450c4">Flip Normal</h3>
<span class="anchor" id="line-46"></span><ul><li style="list-style-type:none">Used to invert the normal the effect is played on. <span class="anchor" id="line-47"></span><span class="anchor" id="line-48"></span></li></ul><p class="line867"><span class="anchor" id="endorigin"></span> <span class="anchor" id="line-49"></span>
<h3 id="head-17a9c3586aefc01e9bbac35fb3d15c2aaf43dd93">Use End Origin</h3>
<span class="anchor" id="line-50"></span><ul><li style="list-style-type:none">Draws a line from effect origin using the effect normal. This line projects until it hits a wall. This will override the “forward” origin and use the entire length of the projected line instead for the forward origin. <span class="anchor" id="line-51"></span></li></ul><p class="line867"><span class="anchor" id="line-52"></span><pre>Example: The Railgun effect uses end origin to ensure that the rail effect line is exactly the distance from the Railgun barrel to the surface the Railgun hits. End origin can also be affected by target_nulls in the level editor. An effect file that uses end origin targeting a target_null will instead project to the target_null instead of projecting until it hits a surface.
<span class="anchor" id="line-53"></span></pre><span class="anchor" id="line-54"></span><span class="anchor" id="line-55"></span><p class="line867">
<h3 id="head-483752005f1d2b16e4dc465d02373484843a2390">Distribute Evenly</h3>
<span class="anchor" id="line-56"></span><ul><li style="list-style-type:none">This will ensure even space between sprites throughout the origin. Mainly used for end origin effects so that particles do not bias one side. <span class="anchor" id="line-57"></span><span class="anchor" id="line-58"></span></li></ul><p class="line867">
<h3 id="head-1c51e764909c33bdd888c24830368cda370c20aa">Use Effect Normal</h3>
<span class="anchor" id="line-59"></span><ul><li style="list-style-type:none">This is the default mode for all effects and will play based upon projectile impact surface, func_fx placement in the level editor or bone on an .md5mesh. <span class="anchor" id="line-60"></span><span class="anchor" id="line-61"></span></li></ul><p class="line867"><span class="anchor" id="normalfromcenterorsurface"></span> <span class="anchor" id="line-62"></span>
<h3 id="head-816e26d0d22414293a31423fed19673a048c6cc2">Generate Normal from Center or Surface</h3>
<span class="anchor" id="line-63"></span><ul><li style="list-style-type:none"><p class="line862">This will generate the forward normal as the center of an origin spread (center of a sphere/shape origin), or the surface of the an origin if <a href="#spawnonsurface">spawn on surface</a> is checked. <span class="anchor" id="line-64"></span></li></ul><p class="line867"><span class="anchor" id="line-65"></span><pre>Example: An origin range of 10 min and 50 max for Forward, Left and Up will have a center of the effect that is not the effect origin.
<span class="anchor" id="line-66"></span></pre><span class="anchor" id="line-67"></span><span class="anchor" id="line-68"></span><p class="line867">
<h3 id="head-0d248e874c41a57c2f2167deb1cc9981da8deef0">Generate Normal from Effect Origin</h3>
<span class="anchor" id="line-69"></span><ul><li style="list-style-type:none">This will generate the forward normal from the effect origin, rather than the true center of the effect. <span class="anchor" id="line-70"></span></li></ul><span class="anchor" id="bottom"></span></div><p id="pageinfo" class="info" lang="en" dir="ltr">FXEditor Tab - Origin (last edited 2005-11-04 00:34:33 by <span title="MattVainio @ 67.129.250.254[67.129.250.254]"><a class="nonexistent" href="/quake4/MattVainio" title="MattVainio @ 67.129.250.254[67.129.250.254]">MattVainio</a></span>)</p>
<div id="pagebottom"></div>
</div>
<div id="footer">
<ul class="editbar"><li><span class="disabled">Immutable Page</span></li><li><a href="/quake4/FXEditor_Tab_-_Origin?action=info">Info</a></li><li><a href="/quake4/FXEditor_Tab_-_Origin?action=AttachFile">Attachments</a></li><li>
<form class="actionsmenu" method="get" action="">
<div>
<label>More Actions:</label>
<select name="action"
onchange="if ((this.selectedIndex != 0) &&
(this.options[this.selectedIndex].disabled == false)) {
this.form.submit();
}
this.selectedIndex = 0;">
<option value="raw">Raw Text</option>
<option value="print">Print View</option>
<option value="RenderAsDocbook">Render as Docbook</option>
<option value="refresh">Delete Cache</option>
<option value="show" disabled class="disabled">------------</option>
<option value="SpellCheck">Check Spelling</option>
<option value="LikePages">Like Pages</option>
<option value="LocalSiteMap">Local Site Map</option>
<option value="show" disabled class="disabled">------------</option>
<option value="RenamePage" disabled class="disabled">Rename Page</option>
<option value="DeletePage" disabled class="disabled">Delete Page</option>
<option value="show" disabled class="disabled">------------</option>
<option value="MyPages">My Pages</option>
<option value="SubscribeUser">Subscribe User</option>
<option value="show" disabled class="disabled">------------</option>
<option value="Despam">Remove Spam</option>
<option value="PackagePages">Package Pages</option>
</select>
<input type="submit" value="Do">
</div>
<script type="text/javascript">
<!--// Init menu
actionsMenuInit('More Actions:');
//-->
</script>
</form>
</li></ul>
<ul id="credits">
<li><a href="http://moinmoin.wikiwikiweb.de/">MoinMoin Powered</a></li><li><a href="http://www.python.org/">Python Powered</a></li><li><a href="http://validator.w3.org/check?uri=referer">Valid HTML 4.01</a></li>
</ul>
</div>
</body>
</html>