iddevnet/quake4/ModView
Daniel Gibson ef46a7566e Quake4 part of Yamagis dump
will need heavy cleaning up before it becomes usable at all
2021-04-10 03:29:43 +02:00

241 lines
15 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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>ModView - 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/ModView?action=raw">
<link rel="Alternate" media="print" title="Print View" href="/quake4/ModView?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/ModView?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/ModView?action=fullsearch&amp;value=linkto%3A%22ModView%22&amp;context=180">ModView</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/ModView">ModView</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/ModView?action=info">Info</a></li><li><a href="/quake4/ModView?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><ol type="1"><li><p class="line862">To access Modview, open the game, bring down the console by hitting tilda (~),type the word modview, and hit enter. The model viewer will then open. To view your model in ModView it will have to have been saved out in the q4base directory. To view it with animation, it will need to be set up with def files, a rig, point-weighted, and animated by you or an animator. <span class="anchor" id="line-2"></span><span class="anchor" id="line-3"></span></li><li class="gap"><p class="line862">To just view your model with the skin on it, you can open it through <strong>File/open mesh</strong> and then find it in the directory you saved it in. <span class="anchor" id="line-4"></span><span class="anchor" id="line-5"></span></li><li class="gap">Once the model is set up with animations, you can view it and click on differing anims to see how they look on your model, if there are enough polys at the joints, etc. Heres how to look at it: <span class="anchor" id="line-6"></span><span class="anchor" id="line-7"></span><ol type="i"><li><p class="line862">Open ModView. <span class="anchor" id="line-8"></span><span class="anchor" id="line-9"></span></li><li class="gap"><p class="line862">Go to the <strong>Groups</strong>: pull-down window and hit the arrow to the far right. <span class="anchor" id="line-10"></span><span class="anchor" id="line-11"></span></li><li class="gap"><p class="line862">From the list of assets, click on <strong>monster</strong> for creatures, <strong>char</strong> for Marines, <strong>weapon</strong> for weapons, etc to select it. <span class="anchor" id="line-12"></span><span class="anchor" id="line-13"></span></li><li class="gap"><p class="line862">Then go to the <strong>Entity Definition</strong>: pull-down and select your model by clicking on it. <span class="anchor" id="line-14"></span><span class="anchor" id="line-15"></span></li><li class="gap">Your model should open in the Quake4 window in the default T-pose. <span class="anchor" id="line-16"></span><span class="anchor" id="line-17"></span></li><li class="gap">If your model opens with a weird looking gray and white pattern on it that means that the engine cant find one or all of the skin files. Either you set up the shaders incorrectly or one or all of the skin files (normal, diffuse, specular, or height map) is missing, etc. <span class="anchor" id="line-18"></span><span class="anchor" id="line-19"></span></li><li class="gap">To rotate your model, just click and hold the left mouse button and push the mouse around to rotate your model in all directions. <span class="anchor" id="line-20"></span><span class="anchor" id="line-21"></span></li><li class="gap">To zoom in and out on your model, hold down the right mouse button and pull and push the mouse forward or back. <span class="anchor" id="line-22"></span><span class="anchor" id="line-23"></span></li><li class="gap"><p class="line862">If your model has alternate skins, etc, the <strong>Skin</strong>: pull-down will list them. Click on an alternate skin and it will automatically change. <span class="anchor" id="line-24"></span><span class="anchor" id="line-25"></span></li><li class="gap"><p class="line862">If there is a list of animations for the model, youll see them listed in the tabbed window. Just highlight one of the anims and then click on the Play arrow. To loop the anim hit the double arrowed button four down from the <strong>Play</strong> arrow. <span class="anchor" id="line-26"></span><span class="anchor" id="line-27"></span></li><li class="gap"><p class="line862"> In the tabbed window, youll also notice tabs for <strong>Surfaces</strong> and <strong>Skeleton</strong>. <span class="anchor" id="line-28"></span><span class="anchor" id="line-29"></span><ol type="a"><li> The Surfaces tab will list all the different parts of the model and their paths. You can click them on and off by clicking in the box to the left of each listed path. <span class="anchor" id="line-30"></span><span class="anchor" id="line-31"></span></li><li class="gap">The Skeleton tab allows you to see the animation rig and how its set up. <span class="anchor" id="line-32"></span><span class="anchor" id="line-33"></span></li></ol></li><li class="gap"><p class="line862">To update your skin as you paint it and view it in ModView, save your skin in the appropriate folder, then go to ModView. You can leave ModView open as you paint on your skin and then save it and look at the changes nearly instantaneously. Once you have saved your updated skin, go to ModView and click on <strong>Tools</strong> on the upper tool bar. In the pull-down, click on <strong>Reload Images</strong>. This will update your skin on your model. <span class="anchor" id="line-34"></span><span class="anchor" id="line-35"></span></li><li class="gap"><p class="line862">To update the model if there were changes done to it, hit <strong>Reload Models</strong>. <span class="anchor" id="line-36"></span><span class="anchor" id="line-37"></span></li><li class="gap"><p class="line862">If you happen to update your models shader by adding a glow pass or an alpha channel at a later date, youll need to click on <strong>Reload Decls</strong> to have them show up on ModView. <span class="anchor" id="line-38"></span></li></ol></ol><span class="anchor" id="bottom"></span></div><p id="pageinfo" class="info" lang="en" dir="ltr">ModView (last edited 2005-11-04 19:00:51 by <span title="EricBiessman @ 67.129.250.254[67.129.250.254]"><a class="nonexistent" href="/quake4/EricBiessman" title="EricBiessman @ 67.129.250.254[67.129.250.254]">EricBiessman</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/ModView?action=info">Info</a></li><li><a href="/quake4/ModView?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>