/home
/jhiemstraxartec
/public_html
/test
/user
/themes
/minimaxing
/templates
/partials
/sections
/bios.html.twig
<section>
{% set creators = page.find('/components/creators') %}
{{ creators.content }}
<ul class="small-image-list">
{% for module in creators.collection %}
{{ module.content }}
{% endfor %}
</ul>
</section>
Arguments
"An exception has been thrown during the rendering of a template ("Template "modular/bio.txt.twig" is not defined.")."
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Twig
/Twig.php
$output = '';
try {
// Process Modular Twig
if ($item->modularTwig()) {
$twig_vars['content'] = $content;
$extension = $item->templateFormat();
$extension = $extension ? ".{$extension}.twig" : TEMPLATE_EXT;
$template = $item->template() . $extension;
$output = $content = $local_twig->render($template, $twig_vars);
}
// Process in-page Twig
if ($item->shouldProcess('twig')) {
$name = '@Page:' . $item->path();
$this->setTemplate($name, $content);
$output = $local_twig->render($name, $twig_vars);
}
} catch (\Twig_Error_Loader $e) {
throw new \RuntimeException($e->getRawMessage(), 404, $e);
}
return $output;
}
/**
* Process a Twig template directly by using a template name
* and optional array of variables
*
* @param string $template template to render with
* @param array $vars Optional variables
*
* @return string
*/
public function processTemplate($template, $vars = [])
{
// override the twig header vars for local resolution
$this->grav->fireEvent('onTwigTemplateVariables');
$vars += $this->twig_vars;
Arguments
"Template "modular/bio.txt.twig" is not defined."
/home
/jhiemstraxartec
/public_html
/test
/vendor
/twig
/twig
/src
/Loader
/ChainLoader.php
return $this->hasSourceCache[$name] = false;
}
public function getCacheKey($name)
{
$exceptions = [];
foreach ($this->loaders as $loader) {
if ($loader instanceof ExistsLoaderInterface && !$loader->exists($name)) {
continue;
}
try {
return $loader->getCacheKey($name);
} catch (LoaderError $e) {
$exceptions[] = \get_class($loader).': '.$e->getMessage();
}
}
throw new LoaderError(sprintf('Template "%s" is not defined%s.', $name, $exceptions ? ' ('.implode(', ', $exceptions).')' : ''));
}
public function isFresh($name, $time)
{
$exceptions = [];
foreach ($this->loaders as $loader) {
if ($loader instanceof ExistsLoaderInterface && !$loader->exists($name)) {
continue;
}
try {
return $loader->isFresh($name, $time);
} catch (LoaderError $e) {
$exceptions[] = \get_class($loader).': '.$e->getMessage();
}
}
throw new LoaderError(sprintf('Template "%s" is not defined%s.', $name, $exceptions ? ' ('.implode(', ', $exceptions).')' : ''));
}
}
Arguments
"Template "modular/bio.txt.twig" is not defined."
/home
/jhiemstraxartec
/public_html
/test
/vendor
/twig
/twig
/src
/Environment.php
/**
* Gets the template class associated with the given string.
*
* The generated template class is based on the following parameters:
*
* * The cache key for the given template;
* * The currently enabled extensions;
* * Whether the Twig C extension is available or not;
* * PHP version;
* * Twig version;
* * Options with what environment was created.
*
* @param string $name The name for which to calculate the template class name
* @param int|null $index The index if it is an embedded template
*
* @return string The template class name
*/
public function getTemplateClass($name, $index = null)
{
$key = $this->getLoader()->getCacheKey($name).$this->optionsHash;
return $this->templateClassPrefix.hash('sha256', $key).(null === $index ? '' : '___'.$index);
}
/**
* Gets the template class prefix.
*
* @return string The template class prefix
*
* @deprecated since 1.22 (to be removed in 2.0)
*/
public function getTemplateClassPrefix()
{
@trigger_error(sprintf('The %s method is deprecated since version 1.22 and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
return $this->templateClassPrefix;
}
/**
* Renders a template.
Arguments
/home
/jhiemstraxartec
/public_html
/test
/vendor
/twig
/twig
/src
/Environment.php
/**
* Loads a template internal representation.
*
* This method is for internal use only and should never be called
* directly.
*
* @param string $name The template name
* @param int $index The index if it is an embedded template
*
* @return \Twig_TemplateInterface A template instance representing the given template name
*
* @throws LoaderError When the template cannot be found
* @throws RuntimeError When a previously generated cache is corrupted
* @throws SyntaxError When an error occurred during compilation
*
* @internal
*/
public function loadTemplate($name, $index = null)
{
return $this->loadClass($this->getTemplateClass($name), $name, $index);
}
/**
* @internal
*/
public function loadClass($cls, $name, $index = null)
{
$mainCls = $cls;
if (null !== $index) {
$cls .= '___'.$index;
}
if (isset($this->loadedTemplates[$cls])) {
return $this->loadedTemplates[$cls];
}
if (!class_exists($cls, false)) {
if ($this->bcGetCacheFilename) {
$key = $this->getCacheFilename($name);
} else {
Arguments
/home
/jhiemstraxartec
/public_html
/test
/vendor
/twig
/twig
/src
/Environment.php
*
* @param string|TemplateWrapper|\Twig\Template $name The template name
*
* @throws LoaderError When the template cannot be found
* @throws RuntimeError When a previously generated cache is corrupted
* @throws SyntaxError When an error occurred during compilation
*
* @return TemplateWrapper
*/
public function load($name)
{
if ($name instanceof TemplateWrapper) {
return $name;
}
if ($name instanceof Template) {
return new TemplateWrapper($this, $name);
}
return new TemplateWrapper($this, $this->loadTemplate($name));
}
/**
* Loads a template internal representation.
*
* This method is for internal use only and should never be called
* directly.
*
* @param string $name The template name
* @param int $index The index if it is an embedded template
*
* @return \Twig_TemplateInterface A template instance representing the given template name
*
* @throws LoaderError When the template cannot be found
* @throws RuntimeError When a previously generated cache is corrupted
* @throws SyntaxError When an error occurred during compilation
*
* @internal
*/
public function loadTemplate($name, $index = null)
Arguments
/home
/jhiemstraxartec
/public_html
/test
/vendor
/twig
/twig
/src
/Environment.php
@trigger_error(sprintf('The %s method is deprecated since version 1.22 and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
return $this->templateClassPrefix;
}
/**
* Renders a template.
*
* @param string|TemplateWrapper $name The template name
* @param array $context An array of parameters to pass to the template
*
* @return string The rendered template
*
* @throws LoaderError When the template cannot be found
* @throws SyntaxError When an error occurred during compilation
* @throws RuntimeError When an error occurred during rendering
*/
public function render($name, array $context = [])
{
return $this->load($name)->render($context);
}
/**
* Displays a template.
*
* @param string|TemplateWrapper $name The template name
* @param array $context An array of parameters to pass to the template
*
* @throws LoaderError When the template cannot be found
* @throws SyntaxError When an error occurred during compilation
* @throws RuntimeError When an error occurred during rendering
*/
public function display($name, array $context = [])
{
$this->load($name)->display($context);
}
/**
* Loads a template.
*
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Twig
/Twig.php
// override the twig header vars for local resolution
$this->grav->fireEvent('onTwigPageVariables', new Event(['page' => $item]));
$twig_vars = $this->twig_vars;
$twig_vars['page'] = $item;
$twig_vars['media'] = $item->media();
$twig_vars['header'] = $item->header();
$local_twig = clone $this->twig;
$output = '';
try {
// Process Modular Twig
if ($item->modularTwig()) {
$twig_vars['content'] = $content;
$extension = $item->templateFormat();
$extension = $extension ? ".{$extension}.twig" : TEMPLATE_EXT;
$template = $item->template() . $extension;
$output = $content = $local_twig->render($template, $twig_vars);
}
// Process in-page Twig
if ($item->shouldProcess('twig')) {
$name = '@Page:' . $item->path();
$this->setTemplate($name, $content);
$output = $local_twig->render($name, $twig_vars);
}
} catch (\Twig_Error_Loader $e) {
throw new \RuntimeException($e->getRawMessage(), 404, $e);
}
return $output;
}
/**
* Process a Twig template directly by using a template name
* and optional array of variables
*
Arguments
"modular/bio.txt.twig"
array:27 [
"config" => Config {}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {}
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"page" => Page {}
"media" => Media {}
"header" => {}
"content" => "<p>.3DS & .MAX</p>"
]
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Page
/Page.php
$excerpts = new Excerpts($this, $defaults);
// Initialize the preferred variant of Parsedown
if ($extra) {
$parsedown = new ParsedownExtra($excerpts);
} else {
$parsedown = new Parsedown($excerpts);
}
$this->content = $parsedown->text($this->content);
}
/**
* Process the Twig page content.
*/
private function processTwig()
{
$twig = Grav::instance()['twig'];
$this->content = $twig->processPage($this, $this->content);
}
/**
* Fires the onPageContentProcessed event, and caches the page content using a unique ID for the page
*/
public function cachePageContent()
{
$cache = Grav::instance()['cache'];
$cache_id = md5('page' . $this->id());
$cache->save($cache_id, ['content' => $this->content, 'content_meta' => $this->content_meta]);
}
/**
* Needed by the onPageContentProcessed event to get the raw page content
*
* @return string the current page content
*/
public function getRawContent()
{
return $this->content;
Arguments
Page {}
"<p>.3DS & .MAX</p>"
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Page
/Page.php
if ($process_twig) {
$this->processTwig();
}
if ($process_markdown) {
$this->processMarkdown();
}
// Content Processed but not cached yet
Grav::instance()->fireEvent('onPageContentProcessed', new Event(['page' => $this]));
} else {
if ($process_markdown) {
$this->processMarkdown();
}
// Content Processed but not cached yet
Grav::instance()->fireEvent('onPageContentProcessed', new Event(['page' => $this]));
if ($process_twig) {
$this->processTwig();
}
}
if ($cache_enable) {
$this->cachePageContent();
}
}
}
// Handle summary divider
$delimiter = $config->get('site.summary.delimiter', '===');
$divider_pos = mb_strpos($this->content, "<p>{$delimiter}</p>");
if ($divider_pos !== false) {
$this->summary_size = $divider_pos;
$this->content = str_replace("<p>{$delimiter}</p>", '', $this->content);
}
// Fire event when Page::content() is called
Grav::instance()->fireEvent('onPageContent', new Event(['page' => $this]));
}
/home
/jhiemstraxartec
/public_html
/test
/vendor
/twig
/twig
/src
/Template.php
if ($ignoreStrictCheck || !$this->env->isStrictVariables()) {
return;
}
throw new RuntimeError(sprintf('Neither the property "%1$s" nor one of the methods "%1$s()", "get%1$s()"/"is%1$s()" or "__call()" exist and have public access in class "%2$s".', $item, $class), -1, $this->getSourceContext());
}
if ($isDefinedTest) {
return true;
}
if ($this->env->hasExtension('\Twig\Extension\SandboxExtension')) {
$this->env->getExtension('\Twig\Extension\SandboxExtension')->checkMethodAllowed($object, $method);
}
// Some objects throw exceptions when they have __call, and the method we try
// to call is not supported. If ignoreStrictCheck is true, we should return null.
try {
if (!$arguments) {
$ret = $object->$method();
} else {
$ret = \call_user_func_array([$object, $method], $arguments);
}
} catch (\BadMethodCallException $e) {
if ($call && ($ignoreStrictCheck || !$this->env->isStrictVariables())) {
return;
}
throw $e;
}
// @deprecated in 1.28
if ($object instanceof \Twig_TemplateInterface) {
$self = $object->getTemplateName() === $this->getTemplateName();
$message = sprintf('Calling "%s" on template "%s" from template "%s" is deprecated since version 1.28 and won\'t be supported anymore in 2.0.', $item, $object->getTemplateName(), $this->getTemplateName());
if ('renderBlock' === $method || 'displayBlock' === $method) {
$message .= sprintf(' Use block("%s"%s) instead).', $arguments[0], $self ? '' : ', template');
} elseif ('hasBlock' === $method) {
$message .= sprintf(' Use "block("%s"%s) is defined" instead).', $arguments[0], $self ? '' : ', template');
} elseif ('render' === $method || 'display' === $method) {
$message .= sprintf(' Use include("%s") instead).', $object->getTemplateName());
/home
/jhiemstraxartec
/public_html
/test
/cache
/twig
/a6
/a6e71229c07c4ac03d31c4ed1a3b887e66b4114333548c3d78e7922329d932c3.php
protected function doDisplay(array $context, array $blocks = [])
{
// line 1
echo "<section>
\t";
// line 2
$context["creators"] = $this->getAttribute(($context["page"] ?? null), "find", [0 => "/components/creators"], "method");
// line 3
echo "\t";
echo $this->getAttribute(($context["creators"] ?? null), "content", []);
echo "
\t<ul class=\"small-image-list\">
\t\t";
// line 5
$context['_parent'] = $context;
$context['_seq'] = twig_ensure_traversable($this->getAttribute(($context["creators"] ?? null), "collection", []));
foreach ($context['_seq'] as $context["_key"] => $context["module"]) {
// line 6
echo "\t\t\t";
echo $this->getAttribute($context["module"], "content", []);
echo "
\t\t";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_iterated'], $context['_key'], $context['module'], $context['_parent'], $context['loop']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 8
echo "\t</ul>
</section>
";
}
public function getTemplateName()
{
return "partials/sections/bios.html.twig";
}
public function isTraitable()
{
return false;
Arguments
/home
/jhiemstraxartec
/public_html
/test
/vendor
/twig
/twig
/src
/Template.php
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = [])
{
try {
$this->doDisplay($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
// this is mostly useful for \Twig\Error\LoaderError exceptions
// see \Twig\Error\LoaderError
if (-1 === $e->getTemplateLine()) {
$e->guess();
}
throw $e;
} catch (\Exception $e) {
$e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
$e->guess();
throw $e;
}
}
Arguments
array:35 [
"config" => Config {#1}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {#2}
"assets" => Assets {#3}
"taxonomy" => Taxonomy {#4}
"browser" => Browser {#5}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {#6}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"pages" => Page {#7}
"page" => Page {#8}
"header" => {#9}
"media" => Media {#10}
"content" => """
<p>In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/samplechain.jpg" /></p>\n
<p>Modeling and ‘posing’ 3D chains may seem like a tedious job, but actually can be done rather easily by using the Array Tool and treating the links in the chain as bones. In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
<p><strong>Step 1</strong>\n
We are going to start with modeling a single link from the chain. Click the Shapes button on the Command Panel, click the Rectangle button, and then draw a rectangle as shown in the picture below. Don’t worry about the exact size yet.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/1.gif" /></p>\n
<p><strong>Step 2</strong>\n
Click on the Modify tab of the Command Panel, and change the Length and Width values below the Parameters section to 1 cm and 3 cm respectively:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/2.gif" /></p>\n
<p><strong>Step 3</strong>\n
Press the Zoom Extents Select button at the right bottom of your screen:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/3.gif" /></p>\n
<p><strong>Step 4</strong>\n
Set the Corner Radius setting to 0.35cm</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/4.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/5.gif" /></p>\n
<p><strong>Step 5</strong>\n
Click on the Rendering section to open it, enable the Enable In Renderer option and the Enable In Viewport option. Set the Thickness value to: 0.4cm.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/6.gif" /></p>\n
<p><strong>Step 6</strong>\n
Click the Hierarchy tab of the Command Panel, and click the Affect Pivot Only button. Move the Pivot to the right to the location shown in the picture below:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/7.gif" /></p>\n
<p>Click the Affect Pivot Only button again to disable it.</p>\n
<p><strong>Step 7</strong>\n
Unless you're using a huge screen, zoom out a bit you so can what you're doing during the next step. Select Array… from the Tools menu:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/9.gif" /></p>\n
<p><strong>Step 8</strong>\n
Change the Incremental Move X value to -2.54cm and the Incremental Rotate X value to 90. Set the Count value for 1D to 10 and click on the Preview button. If the results look like below, press the OK button.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/10.gif" /></p>\n
<p>If you are going to use textures for the links, you should create at least 3 to 5 different versions depending on the length of the chain, and rotate and mirror the individual links to avoid repetition in the textures.</p>\n
<p>Now we have a straight chain with only 10 links. While we could have picked a higher number for the Count value in the Array tool, using less will actually save us some work during the next step, and allows you to add some extra variation by rotating the links. The next step is ‘linking the links’.</p>\n
<p><strong>Step 9</strong>\n
Click the Select and Link button on the main toolbar:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/11.gif" /></p>\n
<p>Select the last chain link, on the left of the chain, and drag the mouse pointer to the next chain link. If you do it correctly, the chain link to which you link the other chain link will flash white for a split second. Repeat this process for all chains links</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/12.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/sal.gif" /></p>\n
<p><strong>Step 10</strong>\n
Select all the chain links, hold down the Shift key and drag the links to the left as shown in the following picture. When the Clone Options dialog box appears, choose the option Reference.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/13.gif" /></p>\n
<p><strong>Step 11</strong>\n
Click the Select and Link button again and link the center two chain links (from left to right as we did earlier. In other words, link the chain link left from the center of the chain, to the chain link right from the center of the chain. Make sure you deselect the 20 chain links you just cloned.) To create a longer chain, you can simply repeat this process, e.g. select all 20 chain links, clone them, and then link the center chain links again. You can make the chain as long as you want, as long as the chain links are linked in one direction. I repeated these steps again, ending up with chain of 40 links.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/14.gif" /></p>\n
<p><strong>Step 12</strong>\n
Select the first chain link on the left of the chain. Choose SplineIK Solver from the IK Solver submenu from the Animation menu.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/15.gif" /></p>\n
<p>The mouse cursor will change to a + sign, showing a trail back to the chain link you selected. Now click on the chain link at the other end of the chain. Two blue lines are added of which one goes all the way through the model, as shown in the following picture. This is called an IK Chain.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/16.gif" /></p>\n
<p><strong>Step 13</strong>\n
Click the Shapes button on the Create tab of the Command Panel. Click the Line button and draw a straight line directly above the chain, of approximately the same size as the chain. Make sure you draw it from right to left, and click 5 times along the way to add some vertexes to the line. Disable the Enable In Renderer option and the Enable In Viewport option.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/17.gif" /></p>\n
<p><strong>Step 14</strong>\n
Click on the Motion tab of the Command Panel. Click the button labeled None below Pick Shape: in the SplineIK Solver section and select the Line you created in the previous step. The button of the label with change into Line01.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/18.gif" /></p>\n
<p><strong>Step 15</strong>\n
Select the Line and switch to Vertex sub-object level. Select one of the vertexes of the line and move it around. If you followed all steps correctly, the chain should now take the shape of the Line.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/19.gif" /></p>\n
<p><strong>Step 16</strong>\n
To allow the chain to take a more realistic shape, we need to change the vertexes from ‘corner’ to ‘smooth’. While you still have that vertex selected from the previous step, press CTRL-A on your keyboard to select all the vertexes in the Line. Right-click in the viewport and select smooth as shown in the following picture:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/20.gif" /></p>\n
<p>The Line as well as the chain will now take a more curved shape. Move around some of the other vertexes and see what the results are. If the links do line up on certain corners, you can change the corresponding vertex to Bezier, which gives you some extra control. Instead of using an SplineIK Solver, you can also use a more simple HI Solver for example (in step 12), but by using the additional Line shape to control the IK Chain ‘and’ the chain object you can easily pose the chain as needed. For example, place a necklace around a model’s neck, or slightly hanging between two poles. The more links you add, and the more vertexes you add to the control spline, the more granular your control over the chain will become.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/21.gif" /></p>\n
<p>Assign a metal or paint material to it and you got yourself a lifelike chain. Instead of creating a chain link based on a Rectangle shape, try one of the other shapes (e.g. Circle, Donut, Ellipse, Helix, Star) or create your own original chain link by drawing a complex Line shape.</p>\n
<p>I hope you enjoyed this tutorial and that it contributed something to your 3D Studio Max modeling skills.</p>
"""
"grav" => Grav {#11}
"theme_config" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"creators" => Page {#12}
"_parent" => array:31 [
"config" => Config {#1}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {#2}
"assets" => Assets {#3}
"taxonomy" => Taxonomy {#4}
"browser" => Browser {#5}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {#6}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"pages" => Page {#7}
"page" => Page {#8}
"header" => {#9}
"media" => Media {#10}
"content" => """
<p>In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/samplechain.jpg" /></p>\n
<p>Modeling and ‘posing’ 3D chains may seem like a tedious job, but actually can be done rather easily by using the Array Tool and treating the links in the chain as bones. In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
<p><strong>Step 1</strong>\n
We are going to start with modeling a single link from the chain. Click the Shapes button on the Command Panel, click the Rectangle button, and then draw a rectangle as shown in the picture below. Don’t worry about the exact size yet.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/1.gif" /></p>\n
<p><strong>Step 2</strong>\n
Click on the Modify tab of the Command Panel, and change the Length and Width values below the Parameters section to 1 cm and 3 cm respectively:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/2.gif" /></p>\n
<p><strong>Step 3</strong>\n
Press the Zoom Extents Select button at the right bottom of your screen:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/3.gif" /></p>\n
<p><strong>Step 4</strong>\n
Set the Corner Radius setting to 0.35cm</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/4.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/5.gif" /></p>\n
<p><strong>Step 5</strong>\n
Click on the Rendering section to open it, enable the Enable In Renderer option and the Enable In Viewport option. Set the Thickness value to: 0.4cm.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/6.gif" /></p>\n
<p><strong>Step 6</strong>\n
Click the Hierarchy tab of the Command Panel, and click the Affect Pivot Only button. Move the Pivot to the right to the location shown in the picture below:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/7.gif" /></p>\n
<p>Click the Affect Pivot Only button again to disable it.</p>\n
<p><strong>Step 7</strong>\n
Unless you're using a huge screen, zoom out a bit you so can what you're doing during the next step. Select Array… from the Tools menu:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/9.gif" /></p>\n
<p><strong>Step 8</strong>\n
Change the Incremental Move X value to -2.54cm and the Incremental Rotate X value to 90. Set the Count value for 1D to 10 and click on the Preview button. If the results look like below, press the OK button.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/10.gif" /></p>\n
<p>If you are going to use textures for the links, you should create at least 3 to 5 different versions depending on the length of the chain, and rotate and mirror the individual links to avoid repetition in the textures.</p>\n
<p>Now we have a straight chain with only 10 links. While we could have picked a higher number for the Count value in the Array tool, using less will actually save us some work during the next step, and allows you to add some extra variation by rotating the links. The next step is ‘linking the links’.</p>\n
<p><strong>Step 9</strong>\n
Click the Select and Link button on the main toolbar:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/11.gif" /></p>\n
<p>Select the last chain link, on the left of the chain, and drag the mouse pointer to the next chain link. If you do it correctly, the chain link to which you link the other chain link will flash white for a split second. Repeat this process for all chains links</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/12.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/sal.gif" /></p>\n
<p><strong>Step 10</strong>\n
Select all the chain links, hold down the Shift key and drag the links to the left as shown in the following picture. When the Clone Options dialog box appears, choose the option Reference.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/13.gif" /></p>\n
<p><strong>Step 11</strong>\n
Click the Select and Link button again and link the center two chain links (from left to right as we did earlier. In other words, link the chain link left from the center of the chain, to the chain link right from the center of the chain. Make sure you deselect the 20 chain links you just cloned.) To create a longer chain, you can simply repeat this process, e.g. select all 20 chain links, clone them, and then link the center chain links again. You can make the chain as long as you want, as long as the chain links are linked in one direction. I repeated these steps again, ending up with chain of 40 links.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/14.gif" /></p>\n
<p><strong>Step 12</strong>\n
Select the first chain link on the left of the chain. Choose SplineIK Solver from the IK Solver submenu from the Animation menu.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/15.gif" /></p>\n
<p>The mouse cursor will change to a + sign, showing a trail back to the chain link you selected. Now click on the chain link at the other end of the chain. Two blue lines are added of which one goes all the way through the model, as shown in the following picture. This is called an IK Chain.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/16.gif" /></p>\n
<p><strong>Step 13</strong>\n
Click the Shapes button on the Create tab of the Command Panel. Click the Line button and draw a straight line directly above the chain, of approximately the same size as the chain. Make sure you draw it from right to left, and click 5 times along the way to add some vertexes to the line. Disable the Enable In Renderer option and the Enable In Viewport option.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/17.gif" /></p>\n
<p><strong>Step 14</strong>\n
Click on the Motion tab of the Command Panel. Click the button labeled None below Pick Shape: in the SplineIK Solver section and select the Line you created in the previous step. The button of the label with change into Line01.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/18.gif" /></p>\n
<p><strong>Step 15</strong>\n
Select the Line and switch to Vertex sub-object level. Select one of the vertexes of the line and move it around. If you followed all steps correctly, the chain should now take the shape of the Line.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/19.gif" /></p>\n
<p><strong>Step 16</strong>\n
To allow the chain to take a more realistic shape, we need to change the vertexes from ‘corner’ to ‘smooth’. While you still have that vertex selected from the previous step, press CTRL-A on your keyboard to select all the vertexes in the Line. Right-click in the viewport and select smooth as shown in the following picture:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/20.gif" /></p>\n
<p>The Line as well as the chain will now take a more curved shape. Move around some of the other vertexes and see what the results are. If the links do line up on certain corners, you can change the corresponding vertex to Bezier, which gives you some extra control. Instead of using an SplineIK Solver, you can also use a more simple HI Solver for example (in step 12), but by using the additional Line shape to control the IK Chain ‘and’ the chain object you can easily pose the chain as needed. For example, place a necklace around a model’s neck, or slightly hanging between two poles. The more links you add, and the more vertexes you add to the control spline, the more granular your control over the chain will become.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/21.gif" /></p>\n
<p>Assign a metal or paint material to it and you got yourself a lifelike chain. Instead of creating a chain link based on a Rectangle shape, try one of the other shapes (e.g. Circle, Donut, Ellipse, Helix, Star) or create your own original chain link by drawing a complex Line shape.</p>\n
<p>I hope you enjoyed this tutorial and that it contributed something to your 3D Studio Max modeling skills.</p>
"""
"grav" => Grav {#11}
"theme_config" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"creators" => Page {#12}
]
"_seq" => Collection {}
"module" => Page {}
"_key" => "_latestmodel1"
]
[]
/home
/jhiemstraxartec
/public_html
/test
/vendor
/twig
/twig
/src
/Template.php
{
return $this;
}
/**
* Returns all blocks.
*
* This method is for internal use only and should never be called
* directly.
*
* @return array An array of blocks
*/
public function getBlocks()
{
return $this->blocks;
}
public function display(array $context, array $blocks = [])
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
public function render(array $context)
{
$level = ob_get_level();
ob_start(function () { return ''; });
try {
$this->display($context);
} catch (\Exception $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
Arguments
array:30 [
"config" => Config {}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {}
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<p>In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/samplechain.jpg" /></p>\n
<p>Modeling and ‘posing’ 3D chains may seem like a tedious job, but actually can be done rather easily by using the Array Tool and treating the links in the chain as bones. In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
<p><strong>Step 1</strong>\n
We are going to start with modeling a single link from the chain. Click the Shapes button on the Command Panel, click the Rectangle button, and then draw a rectangle as shown in the picture below. Don’t worry about the exact size yet.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/1.gif" /></p>\n
<p><strong>Step 2</strong>\n
Click on the Modify tab of the Command Panel, and change the Length and Width values below the Parameters section to 1 cm and 3 cm respectively:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/2.gif" /></p>\n
<p><strong>Step 3</strong>\n
Press the Zoom Extents Select button at the right bottom of your screen:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/3.gif" /></p>\n
<p><strong>Step 4</strong>\n
Set the Corner Radius setting to 0.35cm</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/4.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/5.gif" /></p>\n
<p><strong>Step 5</strong>\n
Click on the Rendering section to open it, enable the Enable In Renderer option and the Enable In Viewport option. Set the Thickness value to: 0.4cm.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/6.gif" /></p>\n
<p><strong>Step 6</strong>\n
Click the Hierarchy tab of the Command Panel, and click the Affect Pivot Only button. Move the Pivot to the right to the location shown in the picture below:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/7.gif" /></p>\n
<p>Click the Affect Pivot Only button again to disable it.</p>\n
<p><strong>Step 7</strong>\n
Unless you're using a huge screen, zoom out a bit you so can what you're doing during the next step. Select Array… from the Tools menu:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/9.gif" /></p>\n
<p><strong>Step 8</strong>\n
Change the Incremental Move X value to -2.54cm and the Incremental Rotate X value to 90. Set the Count value for 1D to 10 and click on the Preview button. If the results look like below, press the OK button.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/10.gif" /></p>\n
<p>If you are going to use textures for the links, you should create at least 3 to 5 different versions depending on the length of the chain, and rotate and mirror the individual links to avoid repetition in the textures.</p>\n
<p>Now we have a straight chain with only 10 links. While we could have picked a higher number for the Count value in the Array tool, using less will actually save us some work during the next step, and allows you to add some extra variation by rotating the links. The next step is ‘linking the links’.</p>\n
<p><strong>Step 9</strong>\n
Click the Select and Link button on the main toolbar:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/11.gif" /></p>\n
<p>Select the last chain link, on the left of the chain, and drag the mouse pointer to the next chain link. If you do it correctly, the chain link to which you link the other chain link will flash white for a split second. Repeat this process for all chains links</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/12.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/sal.gif" /></p>\n
<p><strong>Step 10</strong>\n
Select all the chain links, hold down the Shift key and drag the links to the left as shown in the following picture. When the Clone Options dialog box appears, choose the option Reference.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/13.gif" /></p>\n
<p><strong>Step 11</strong>\n
Click the Select and Link button again and link the center two chain links (from left to right as we did earlier. In other words, link the chain link left from the center of the chain, to the chain link right from the center of the chain. Make sure you deselect the 20 chain links you just cloned.) To create a longer chain, you can simply repeat this process, e.g. select all 20 chain links, clone them, and then link the center chain links again. You can make the chain as long as you want, as long as the chain links are linked in one direction. I repeated these steps again, ending up with chain of 40 links.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/14.gif" /></p>\n
<p><strong>Step 12</strong>\n
Select the first chain link on the left of the chain. Choose SplineIK Solver from the IK Solver submenu from the Animation menu.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/15.gif" /></p>\n
<p>The mouse cursor will change to a + sign, showing a trail back to the chain link you selected. Now click on the chain link at the other end of the chain. Two blue lines are added of which one goes all the way through the model, as shown in the following picture. This is called an IK Chain.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/16.gif" /></p>\n
<p><strong>Step 13</strong>\n
Click the Shapes button on the Create tab of the Command Panel. Click the Line button and draw a straight line directly above the chain, of approximately the same size as the chain. Make sure you draw it from right to left, and click 5 times along the way to add some vertexes to the line. Disable the Enable In Renderer option and the Enable In Viewport option.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/17.gif" /></p>\n
<p><strong>Step 14</strong>\n
Click on the Motion tab of the Command Panel. Click the button labeled None below Pick Shape: in the SplineIK Solver section and select the Line you created in the previous step. The button of the label with change into Line01.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/18.gif" /></p>\n
<p><strong>Step 15</strong>\n
Select the Line and switch to Vertex sub-object level. Select one of the vertexes of the line and move it around. If you followed all steps correctly, the chain should now take the shape of the Line.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/19.gif" /></p>\n
<p><strong>Step 16</strong>\n
To allow the chain to take a more realistic shape, we need to change the vertexes from ‘corner’ to ‘smooth’. While you still have that vertex selected from the previous step, press CTRL-A on your keyboard to select all the vertexes in the Line. Right-click in the viewport and select smooth as shown in the following picture:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/20.gif" /></p>\n
<p>The Line as well as the chain will now take a more curved shape. Move around some of the other vertexes and see what the results are. If the links do line up on certain corners, you can change the corresponding vertex to Bezier, which gives you some extra control. Instead of using an SplineIK Solver, you can also use a more simple HI Solver for example (in step 12), but by using the additional Line shape to control the IK Chain ‘and’ the chain object you can easily pose the chain as needed. For example, place a necklace around a model’s neck, or slightly hanging between two poles. The more links you add, and the more vertexes you add to the control spline, the more granular your control over the chain will become.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/21.gif" /></p>\n
<p>Assign a metal or paint material to it and you got yourself a lifelike chain. Instead of creating a chain link based on a Rectangle shape, try one of the other shapes (e.g. Circle, Donut, Ellipse, Helix, Star) or create your own original chain link by drawing a complex Line shape.</p>\n
<p>I hope you enjoyed this tutorial and that it contributed something to your 3D Studio Max modeling skills.</p>
"""
"grav" => Grav {}
"theme_config" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
]
[]
/home
/jhiemstraxartec
/public_html
/test
/cache
/twig
/6c
/6c1d65ea28cc330dbce01f6ef934f905e3f32b4a038c5fa70ecf5b43ea230884.php
use Twig\Source;
use Twig\Template;
/* partials/sidebar1.html.twig */
class __TwigTemplate_a78487088a0ec74ac1aef8f1f93868851d1727715fab3c67f9d695c8bcc1596c extends \Twig\Template
{
public function __construct(Environment $env)
{
parent::__construct($env);
$this->parent = false;
$this->blocks = [
];
}
protected function doDisplay(array $context, array $blocks = [])
{
// line 1
$this->loadTemplate("partials/sections/bios.html.twig", "partials/sidebar1.html.twig", 1)->display($context);
// line 2
$this->loadTemplate("partials/sections/sidebarbanner.html.twig", "partials/sidebar1.html.twig", 2)->display($context);
// line 3
$this->loadTemplate("partials/sections/randomimage.html.twig", "partials/sidebar1.html.twig", 3)->display($context);
}
public function getTemplateName()
{
return "partials/sidebar1.html.twig";
}
public function isTraitable()
{
return false;
}
public function getDebugInfo()
{
return array ( 34 => 3, 32 => 2, 30 => 1,);
}
Arguments
array:30 [
"config" => Config {}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {}
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<p>In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/samplechain.jpg" /></p>\n
<p>Modeling and ‘posing’ 3D chains may seem like a tedious job, but actually can be done rather easily by using the Array Tool and treating the links in the chain as bones. In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
<p><strong>Step 1</strong>\n
We are going to start with modeling a single link from the chain. Click the Shapes button on the Command Panel, click the Rectangle button, and then draw a rectangle as shown in the picture below. Don’t worry about the exact size yet.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/1.gif" /></p>\n
<p><strong>Step 2</strong>\n
Click on the Modify tab of the Command Panel, and change the Length and Width values below the Parameters section to 1 cm and 3 cm respectively:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/2.gif" /></p>\n
<p><strong>Step 3</strong>\n
Press the Zoom Extents Select button at the right bottom of your screen:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/3.gif" /></p>\n
<p><strong>Step 4</strong>\n
Set the Corner Radius setting to 0.35cm</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/4.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/5.gif" /></p>\n
<p><strong>Step 5</strong>\n
Click on the Rendering section to open it, enable the Enable In Renderer option and the Enable In Viewport option. Set the Thickness value to: 0.4cm.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/6.gif" /></p>\n
<p><strong>Step 6</strong>\n
Click the Hierarchy tab of the Command Panel, and click the Affect Pivot Only button. Move the Pivot to the right to the location shown in the picture below:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/7.gif" /></p>\n
<p>Click the Affect Pivot Only button again to disable it.</p>\n
<p><strong>Step 7</strong>\n
Unless you're using a huge screen, zoom out a bit you so can what you're doing during the next step. Select Array… from the Tools menu:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/9.gif" /></p>\n
<p><strong>Step 8</strong>\n
Change the Incremental Move X value to -2.54cm and the Incremental Rotate X value to 90. Set the Count value for 1D to 10 and click on the Preview button. If the results look like below, press the OK button.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/10.gif" /></p>\n
<p>If you are going to use textures for the links, you should create at least 3 to 5 different versions depending on the length of the chain, and rotate and mirror the individual links to avoid repetition in the textures.</p>\n
<p>Now we have a straight chain with only 10 links. While we could have picked a higher number for the Count value in the Array tool, using less will actually save us some work during the next step, and allows you to add some extra variation by rotating the links. The next step is ‘linking the links’.</p>\n
<p><strong>Step 9</strong>\n
Click the Select and Link button on the main toolbar:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/11.gif" /></p>\n
<p>Select the last chain link, on the left of the chain, and drag the mouse pointer to the next chain link. If you do it correctly, the chain link to which you link the other chain link will flash white for a split second. Repeat this process for all chains links</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/12.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/sal.gif" /></p>\n
<p><strong>Step 10</strong>\n
Select all the chain links, hold down the Shift key and drag the links to the left as shown in the following picture. When the Clone Options dialog box appears, choose the option Reference.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/13.gif" /></p>\n
<p><strong>Step 11</strong>\n
Click the Select and Link button again and link the center two chain links (from left to right as we did earlier. In other words, link the chain link left from the center of the chain, to the chain link right from the center of the chain. Make sure you deselect the 20 chain links you just cloned.) To create a longer chain, you can simply repeat this process, e.g. select all 20 chain links, clone them, and then link the center chain links again. You can make the chain as long as you want, as long as the chain links are linked in one direction. I repeated these steps again, ending up with chain of 40 links.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/14.gif" /></p>\n
<p><strong>Step 12</strong>\n
Select the first chain link on the left of the chain. Choose SplineIK Solver from the IK Solver submenu from the Animation menu.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/15.gif" /></p>\n
<p>The mouse cursor will change to a + sign, showing a trail back to the chain link you selected. Now click on the chain link at the other end of the chain. Two blue lines are added of which one goes all the way through the model, as shown in the following picture. This is called an IK Chain.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/16.gif" /></p>\n
<p><strong>Step 13</strong>\n
Click the Shapes button on the Create tab of the Command Panel. Click the Line button and draw a straight line directly above the chain, of approximately the same size as the chain. Make sure you draw it from right to left, and click 5 times along the way to add some vertexes to the line. Disable the Enable In Renderer option and the Enable In Viewport option.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/17.gif" /></p>\n
<p><strong>Step 14</strong>\n
Click on the Motion tab of the Command Panel. Click the button labeled None below Pick Shape: in the SplineIK Solver section and select the Line you created in the previous step. The button of the label with change into Line01.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/18.gif" /></p>\n
<p><strong>Step 15</strong>\n
Select the Line and switch to Vertex sub-object level. Select one of the vertexes of the line and move it around. If you followed all steps correctly, the chain should now take the shape of the Line.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/19.gif" /></p>\n
<p><strong>Step 16</strong>\n
To allow the chain to take a more realistic shape, we need to change the vertexes from ‘corner’ to ‘smooth’. While you still have that vertex selected from the previous step, press CTRL-A on your keyboard to select all the vertexes in the Line. Right-click in the viewport and select smooth as shown in the following picture:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/20.gif" /></p>\n
<p>The Line as well as the chain will now take a more curved shape. Move around some of the other vertexes and see what the results are. If the links do line up on certain corners, you can change the corresponding vertex to Bezier, which gives you some extra control. Instead of using an SplineIK Solver, you can also use a more simple HI Solver for example (in step 12), but by using the additional Line shape to control the IK Chain ‘and’ the chain object you can easily pose the chain as needed. For example, place a necklace around a model’s neck, or slightly hanging between two poles. The more links you add, and the more vertexes you add to the control spline, the more granular your control over the chain will become.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/21.gif" /></p>\n
<p>Assign a metal or paint material to it and you got yourself a lifelike chain. Instead of creating a chain link based on a Rectangle shape, try one of the other shapes (e.g. Circle, Donut, Ellipse, Helix, Star) or create your own original chain link by drawing a complex Line shape.</p>\n
<p>I hope you enjoyed this tutorial and that it contributed something to your 3D Studio Max modeling skills.</p>
"""
"grav" => Grav {}
"theme_config" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
]
/home
/jhiemstraxartec
/public_html
/test
/vendor
/twig
/twig
/src
/Template.php
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = [])
{
try {
$this->doDisplay($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
// this is mostly useful for \Twig\Error\LoaderError exceptions
// see \Twig\Error\LoaderError
if (-1 === $e->getTemplateLine()) {
$e->guess();
}
throw $e;
} catch (\Exception $e) {
$e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
$e->guess();
throw $e;
}
}
Arguments
array:30 [
"config" => Config {}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {}
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<p>In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/samplechain.jpg" /></p>\n
<p>Modeling and ‘posing’ 3D chains may seem like a tedious job, but actually can be done rather easily by using the Array Tool and treating the links in the chain as bones. In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
<p><strong>Step 1</strong>\n
We are going to start with modeling a single link from the chain. Click the Shapes button on the Command Panel, click the Rectangle button, and then draw a rectangle as shown in the picture below. Don’t worry about the exact size yet.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/1.gif" /></p>\n
<p><strong>Step 2</strong>\n
Click on the Modify tab of the Command Panel, and change the Length and Width values below the Parameters section to 1 cm and 3 cm respectively:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/2.gif" /></p>\n
<p><strong>Step 3</strong>\n
Press the Zoom Extents Select button at the right bottom of your screen:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/3.gif" /></p>\n
<p><strong>Step 4</strong>\n
Set the Corner Radius setting to 0.35cm</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/4.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/5.gif" /></p>\n
<p><strong>Step 5</strong>\n
Click on the Rendering section to open it, enable the Enable In Renderer option and the Enable In Viewport option. Set the Thickness value to: 0.4cm.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/6.gif" /></p>\n
<p><strong>Step 6</strong>\n
Click the Hierarchy tab of the Command Panel, and click the Affect Pivot Only button. Move the Pivot to the right to the location shown in the picture below:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/7.gif" /></p>\n
<p>Click the Affect Pivot Only button again to disable it.</p>\n
<p><strong>Step 7</strong>\n
Unless you're using a huge screen, zoom out a bit you so can what you're doing during the next step. Select Array… from the Tools menu:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/9.gif" /></p>\n
<p><strong>Step 8</strong>\n
Change the Incremental Move X value to -2.54cm and the Incremental Rotate X value to 90. Set the Count value for 1D to 10 and click on the Preview button. If the results look like below, press the OK button.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/10.gif" /></p>\n
<p>If you are going to use textures for the links, you should create at least 3 to 5 different versions depending on the length of the chain, and rotate and mirror the individual links to avoid repetition in the textures.</p>\n
<p>Now we have a straight chain with only 10 links. While we could have picked a higher number for the Count value in the Array tool, using less will actually save us some work during the next step, and allows you to add some extra variation by rotating the links. The next step is ‘linking the links’.</p>\n
<p><strong>Step 9</strong>\n
Click the Select and Link button on the main toolbar:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/11.gif" /></p>\n
<p>Select the last chain link, on the left of the chain, and drag the mouse pointer to the next chain link. If you do it correctly, the chain link to which you link the other chain link will flash white for a split second. Repeat this process for all chains links</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/12.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/sal.gif" /></p>\n
<p><strong>Step 10</strong>\n
Select all the chain links, hold down the Shift key and drag the links to the left as shown in the following picture. When the Clone Options dialog box appears, choose the option Reference.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/13.gif" /></p>\n
<p><strong>Step 11</strong>\n
Click the Select and Link button again and link the center two chain links (from left to right as we did earlier. In other words, link the chain link left from the center of the chain, to the chain link right from the center of the chain. Make sure you deselect the 20 chain links you just cloned.) To create a longer chain, you can simply repeat this process, e.g. select all 20 chain links, clone them, and then link the center chain links again. You can make the chain as long as you want, as long as the chain links are linked in one direction. I repeated these steps again, ending up with chain of 40 links.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/14.gif" /></p>\n
<p><strong>Step 12</strong>\n
Select the first chain link on the left of the chain. Choose SplineIK Solver from the IK Solver submenu from the Animation menu.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/15.gif" /></p>\n
<p>The mouse cursor will change to a + sign, showing a trail back to the chain link you selected. Now click on the chain link at the other end of the chain. Two blue lines are added of which one goes all the way through the model, as shown in the following picture. This is called an IK Chain.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/16.gif" /></p>\n
<p><strong>Step 13</strong>\n
Click the Shapes button on the Create tab of the Command Panel. Click the Line button and draw a straight line directly above the chain, of approximately the same size as the chain. Make sure you draw it from right to left, and click 5 times along the way to add some vertexes to the line. Disable the Enable In Renderer option and the Enable In Viewport option.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/17.gif" /></p>\n
<p><strong>Step 14</strong>\n
Click on the Motion tab of the Command Panel. Click the button labeled None below Pick Shape: in the SplineIK Solver section and select the Line you created in the previous step. The button of the label with change into Line01.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/18.gif" /></p>\n
<p><strong>Step 15</strong>\n
Select the Line and switch to Vertex sub-object level. Select one of the vertexes of the line and move it around. If you followed all steps correctly, the chain should now take the shape of the Line.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/19.gif" /></p>\n
<p><strong>Step 16</strong>\n
To allow the chain to take a more realistic shape, we need to change the vertexes from ‘corner’ to ‘smooth’. While you still have that vertex selected from the previous step, press CTRL-A on your keyboard to select all the vertexes in the Line. Right-click in the viewport and select smooth as shown in the following picture:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/20.gif" /></p>\n
<p>The Line as well as the chain will now take a more curved shape. Move around some of the other vertexes and see what the results are. If the links do line up on certain corners, you can change the corresponding vertex to Bezier, which gives you some extra control. Instead of using an SplineIK Solver, you can also use a more simple HI Solver for example (in step 12), but by using the additional Line shape to control the IK Chain ‘and’ the chain object you can easily pose the chain as needed. For example, place a necklace around a model’s neck, or slightly hanging between two poles. The more links you add, and the more vertexes you add to the control spline, the more granular your control over the chain will become.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/21.gif" /></p>\n
<p>Assign a metal or paint material to it and you got yourself a lifelike chain. Instead of creating a chain link based on a Rectangle shape, try one of the other shapes (e.g. Circle, Donut, Ellipse, Helix, Star) or create your own original chain link by drawing a complex Line shape.</p>\n
<p>I hope you enjoyed this tutorial and that it contributed something to your 3D Studio Max modeling skills.</p>
"""
"grav" => Grav {}
"theme_config" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
]
[]
/home
/jhiemstraxartec
/public_html
/test
/vendor
/twig
/twig
/src
/Template.php
{
return $this;
}
/**
* Returns all blocks.
*
* This method is for internal use only and should never be called
* directly.
*
* @return array An array of blocks
*/
public function getBlocks()
{
return $this->blocks;
}
public function display(array $context, array $blocks = [])
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
public function render(array $context)
{
$level = ob_get_level();
ob_start(function () { return ''; });
try {
$this->display($context);
} catch (\Exception $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
Arguments
array:30 [
"config" => Config {}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {}
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<p>In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/samplechain.jpg" /></p>\n
<p>Modeling and ‘posing’ 3D chains may seem like a tedious job, but actually can be done rather easily by using the Array Tool and treating the links in the chain as bones. In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
<p><strong>Step 1</strong>\n
We are going to start with modeling a single link from the chain. Click the Shapes button on the Command Panel, click the Rectangle button, and then draw a rectangle as shown in the picture below. Don’t worry about the exact size yet.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/1.gif" /></p>\n
<p><strong>Step 2</strong>\n
Click on the Modify tab of the Command Panel, and change the Length and Width values below the Parameters section to 1 cm and 3 cm respectively:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/2.gif" /></p>\n
<p><strong>Step 3</strong>\n
Press the Zoom Extents Select button at the right bottom of your screen:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/3.gif" /></p>\n
<p><strong>Step 4</strong>\n
Set the Corner Radius setting to 0.35cm</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/4.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/5.gif" /></p>\n
<p><strong>Step 5</strong>\n
Click on the Rendering section to open it, enable the Enable In Renderer option and the Enable In Viewport option. Set the Thickness value to: 0.4cm.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/6.gif" /></p>\n
<p><strong>Step 6</strong>\n
Click the Hierarchy tab of the Command Panel, and click the Affect Pivot Only button. Move the Pivot to the right to the location shown in the picture below:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/7.gif" /></p>\n
<p>Click the Affect Pivot Only button again to disable it.</p>\n
<p><strong>Step 7</strong>\n
Unless you're using a huge screen, zoom out a bit you so can what you're doing during the next step. Select Array… from the Tools menu:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/9.gif" /></p>\n
<p><strong>Step 8</strong>\n
Change the Incremental Move X value to -2.54cm and the Incremental Rotate X value to 90. Set the Count value for 1D to 10 and click on the Preview button. If the results look like below, press the OK button.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/10.gif" /></p>\n
<p>If you are going to use textures for the links, you should create at least 3 to 5 different versions depending on the length of the chain, and rotate and mirror the individual links to avoid repetition in the textures.</p>\n
<p>Now we have a straight chain with only 10 links. While we could have picked a higher number for the Count value in the Array tool, using less will actually save us some work during the next step, and allows you to add some extra variation by rotating the links. The next step is ‘linking the links’.</p>\n
<p><strong>Step 9</strong>\n
Click the Select and Link button on the main toolbar:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/11.gif" /></p>\n
<p>Select the last chain link, on the left of the chain, and drag the mouse pointer to the next chain link. If you do it correctly, the chain link to which you link the other chain link will flash white for a split second. Repeat this process for all chains links</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/12.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/sal.gif" /></p>\n
<p><strong>Step 10</strong>\n
Select all the chain links, hold down the Shift key and drag the links to the left as shown in the following picture. When the Clone Options dialog box appears, choose the option Reference.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/13.gif" /></p>\n
<p><strong>Step 11</strong>\n
Click the Select and Link button again and link the center two chain links (from left to right as we did earlier. In other words, link the chain link left from the center of the chain, to the chain link right from the center of the chain. Make sure you deselect the 20 chain links you just cloned.) To create a longer chain, you can simply repeat this process, e.g. select all 20 chain links, clone them, and then link the center chain links again. You can make the chain as long as you want, as long as the chain links are linked in one direction. I repeated these steps again, ending up with chain of 40 links.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/14.gif" /></p>\n
<p><strong>Step 12</strong>\n
Select the first chain link on the left of the chain. Choose SplineIK Solver from the IK Solver submenu from the Animation menu.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/15.gif" /></p>\n
<p>The mouse cursor will change to a + sign, showing a trail back to the chain link you selected. Now click on the chain link at the other end of the chain. Two blue lines are added of which one goes all the way through the model, as shown in the following picture. This is called an IK Chain.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/16.gif" /></p>\n
<p><strong>Step 13</strong>\n
Click the Shapes button on the Create tab of the Command Panel. Click the Line button and draw a straight line directly above the chain, of approximately the same size as the chain. Make sure you draw it from right to left, and click 5 times along the way to add some vertexes to the line. Disable the Enable In Renderer option and the Enable In Viewport option.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/17.gif" /></p>\n
<p><strong>Step 14</strong>\n
Click on the Motion tab of the Command Panel. Click the button labeled None below Pick Shape: in the SplineIK Solver section and select the Line you created in the previous step. The button of the label with change into Line01.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/18.gif" /></p>\n
<p><strong>Step 15</strong>\n
Select the Line and switch to Vertex sub-object level. Select one of the vertexes of the line and move it around. If you followed all steps correctly, the chain should now take the shape of the Line.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/19.gif" /></p>\n
<p><strong>Step 16</strong>\n
To allow the chain to take a more realistic shape, we need to change the vertexes from ‘corner’ to ‘smooth’. While you still have that vertex selected from the previous step, press CTRL-A on your keyboard to select all the vertexes in the Line. Right-click in the viewport and select smooth as shown in the following picture:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/20.gif" /></p>\n
<p>The Line as well as the chain will now take a more curved shape. Move around some of the other vertexes and see what the results are. If the links do line up on certain corners, you can change the corresponding vertex to Bezier, which gives you some extra control. Instead of using an SplineIK Solver, you can also use a more simple HI Solver for example (in step 12), but by using the additional Line shape to control the IK Chain ‘and’ the chain object you can easily pose the chain as needed. For example, place a necklace around a model’s neck, or slightly hanging between two poles. The more links you add, and the more vertexes you add to the control spline, the more granular your control over the chain will become.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/21.gif" /></p>\n
<p>Assign a metal or paint material to it and you got yourself a lifelike chain. Instead of creating a chain link based on a Rectangle shape, try one of the other shapes (e.g. Circle, Donut, Ellipse, Helix, Star) or create your own original chain link by drawing a complex Line shape.</p>\n
<p>I hope you enjoyed this tutorial and that it contributed something to your 3D Studio Max modeling skills.</p>
"""
"grav" => Grav {}
"theme_config" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
]
[]
/home
/jhiemstraxartec
/public_html
/test
/cache
/twig
/f4
/f448589b8fa5e8e96d271b869702bdf2c5f6c03d9e1ebdec2a1766abd9e01266.php
\t\t\t<div id=\"item\" class=\"block pure-u-2-3 h-entry\">
\t\t\t ";
// line 18
$this->loadTemplate("partials/tutorial.html.twig", "tutorialfull.html.twig", 18)->display(twig_array_merge($context, ["blog" => $this->getAttribute(($context["page"] ?? null), "parent", []), "truncate" => false]));
// line 19
echo "\t\t\t</div>
</div>
<a href=\"";
// line 23
echo $this->getAttribute($this->getAttribute(($context["page"] ?? null), "parent", []), "url", []);
echo "\"><strong><< Back to Tutorials</strong></a><br />
\t\t</section>
\t</div>
\t<div class=\"4u 12u(mobile)\">
\t\t";
// line 28
$this->loadTemplate("partials/sidebar1.html.twig", "tutorialfull.html.twig", 28)->display($context);
// line 29
echo "\t</div>
</div>
";
}
public function getTemplateName()
{
return "tutorialfull.html.twig";
}
public function isTraitable()
{
return false;
}
public function getDebugInfo()
{
Arguments
array:30 [
"config" => Config {}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {}
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<p>In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/samplechain.jpg" /></p>\n
<p>Modeling and ‘posing’ 3D chains may seem like a tedious job, but actually can be done rather easily by using the Array Tool and treating the links in the chain as bones. In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
<p><strong>Step 1</strong>\n
We are going to start with modeling a single link from the chain. Click the Shapes button on the Command Panel, click the Rectangle button, and then draw a rectangle as shown in the picture below. Don’t worry about the exact size yet.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/1.gif" /></p>\n
<p><strong>Step 2</strong>\n
Click on the Modify tab of the Command Panel, and change the Length and Width values below the Parameters section to 1 cm and 3 cm respectively:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/2.gif" /></p>\n
<p><strong>Step 3</strong>\n
Press the Zoom Extents Select button at the right bottom of your screen:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/3.gif" /></p>\n
<p><strong>Step 4</strong>\n
Set the Corner Radius setting to 0.35cm</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/4.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/5.gif" /></p>\n
<p><strong>Step 5</strong>\n
Click on the Rendering section to open it, enable the Enable In Renderer option and the Enable In Viewport option. Set the Thickness value to: 0.4cm.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/6.gif" /></p>\n
<p><strong>Step 6</strong>\n
Click the Hierarchy tab of the Command Panel, and click the Affect Pivot Only button. Move the Pivot to the right to the location shown in the picture below:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/7.gif" /></p>\n
<p>Click the Affect Pivot Only button again to disable it.</p>\n
<p><strong>Step 7</strong>\n
Unless you're using a huge screen, zoom out a bit you so can what you're doing during the next step. Select Array… from the Tools menu:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/9.gif" /></p>\n
<p><strong>Step 8</strong>\n
Change the Incremental Move X value to -2.54cm and the Incremental Rotate X value to 90. Set the Count value for 1D to 10 and click on the Preview button. If the results look like below, press the OK button.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/10.gif" /></p>\n
<p>If you are going to use textures for the links, you should create at least 3 to 5 different versions depending on the length of the chain, and rotate and mirror the individual links to avoid repetition in the textures.</p>\n
<p>Now we have a straight chain with only 10 links. While we could have picked a higher number for the Count value in the Array tool, using less will actually save us some work during the next step, and allows you to add some extra variation by rotating the links. The next step is ‘linking the links’.</p>\n
<p><strong>Step 9</strong>\n
Click the Select and Link button on the main toolbar:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/11.gif" /></p>\n
<p>Select the last chain link, on the left of the chain, and drag the mouse pointer to the next chain link. If you do it correctly, the chain link to which you link the other chain link will flash white for a split second. Repeat this process for all chains links</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/12.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/sal.gif" /></p>\n
<p><strong>Step 10</strong>\n
Select all the chain links, hold down the Shift key and drag the links to the left as shown in the following picture. When the Clone Options dialog box appears, choose the option Reference.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/13.gif" /></p>\n
<p><strong>Step 11</strong>\n
Click the Select and Link button again and link the center two chain links (from left to right as we did earlier. In other words, link the chain link left from the center of the chain, to the chain link right from the center of the chain. Make sure you deselect the 20 chain links you just cloned.) To create a longer chain, you can simply repeat this process, e.g. select all 20 chain links, clone them, and then link the center chain links again. You can make the chain as long as you want, as long as the chain links are linked in one direction. I repeated these steps again, ending up with chain of 40 links.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/14.gif" /></p>\n
<p><strong>Step 12</strong>\n
Select the first chain link on the left of the chain. Choose SplineIK Solver from the IK Solver submenu from the Animation menu.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/15.gif" /></p>\n
<p>The mouse cursor will change to a + sign, showing a trail back to the chain link you selected. Now click on the chain link at the other end of the chain. Two blue lines are added of which one goes all the way through the model, as shown in the following picture. This is called an IK Chain.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/16.gif" /></p>\n
<p><strong>Step 13</strong>\n
Click the Shapes button on the Create tab of the Command Panel. Click the Line button and draw a straight line directly above the chain, of approximately the same size as the chain. Make sure you draw it from right to left, and click 5 times along the way to add some vertexes to the line. Disable the Enable In Renderer option and the Enable In Viewport option.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/17.gif" /></p>\n
<p><strong>Step 14</strong>\n
Click on the Motion tab of the Command Panel. Click the button labeled None below Pick Shape: in the SplineIK Solver section and select the Line you created in the previous step. The button of the label with change into Line01.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/18.gif" /></p>\n
<p><strong>Step 15</strong>\n
Select the Line and switch to Vertex sub-object level. Select one of the vertexes of the line and move it around. If you followed all steps correctly, the chain should now take the shape of the Line.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/19.gif" /></p>\n
<p><strong>Step 16</strong>\n
To allow the chain to take a more realistic shape, we need to change the vertexes from ‘corner’ to ‘smooth’. While you still have that vertex selected from the previous step, press CTRL-A on your keyboard to select all the vertexes in the Line. Right-click in the viewport and select smooth as shown in the following picture:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/20.gif" /></p>\n
<p>The Line as well as the chain will now take a more curved shape. Move around some of the other vertexes and see what the results are. If the links do line up on certain corners, you can change the corresponding vertex to Bezier, which gives you some extra control. Instead of using an SplineIK Solver, you can also use a more simple HI Solver for example (in step 12), but by using the additional Line shape to control the IK Chain ‘and’ the chain object you can easily pose the chain as needed. For example, place a necklace around a model’s neck, or slightly hanging between two poles. The more links you add, and the more vertexes you add to the control spline, the more granular your control over the chain will become.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/21.gif" /></p>\n
<p>Assign a metal or paint material to it and you got yourself a lifelike chain. Instead of creating a chain link based on a Rectangle shape, try one of the other shapes (e.g. Circle, Donut, Ellipse, Helix, Star) or create your own original chain link by drawing a complex Line shape.</p>\n
<p>I hope you enjoyed this tutorial and that it contributed something to your 3D Studio Max modeling skills.</p>
"""
"grav" => Grav {}
"theme_config" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
]
/home
/jhiemstraxartec
/public_html
/test
/vendor
/twig
/twig
/src
/Template.php
if ($useBlocks && isset($blocks[$name])) {
$template = $blocks[$name][0];
$block = $blocks[$name][1];
} elseif (isset($this->blocks[$name])) {
$template = $this->blocks[$name][0];
$block = $this->blocks[$name][1];
} else {
$template = null;
$block = null;
}
// avoid RCEs when sandbox is enabled
if (null !== $template && !$template instanceof self) {
throw new \LogicException('A block must be a method on a \Twig\Template instance.');
}
if (null !== $template) {
try {
$template->$block($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($template->getSourceContext());
}
// this is mostly useful for \Twig\Error\LoaderError exceptions
// see \Twig\Error\LoaderError
if (-1 === $e->getTemplateLine()) {
$e->guess();
}
throw $e;
} catch (\Exception $e) {
$e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getSourceContext(), $e);
$e->guess();
throw $e;
}
} elseif (false !== $parent = $this->getParent($context)) {
$parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false);
Arguments
array:30 [
"config" => Config {}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {}
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<p>In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/samplechain.jpg" /></p>\n
<p>Modeling and ‘posing’ 3D chains may seem like a tedious job, but actually can be done rather easily by using the Array Tool and treating the links in the chain as bones. In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
<p><strong>Step 1</strong>\n
We are going to start with modeling a single link from the chain. Click the Shapes button on the Command Panel, click the Rectangle button, and then draw a rectangle as shown in the picture below. Don’t worry about the exact size yet.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/1.gif" /></p>\n
<p><strong>Step 2</strong>\n
Click on the Modify tab of the Command Panel, and change the Length and Width values below the Parameters section to 1 cm and 3 cm respectively:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/2.gif" /></p>\n
<p><strong>Step 3</strong>\n
Press the Zoom Extents Select button at the right bottom of your screen:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/3.gif" /></p>\n
<p><strong>Step 4</strong>\n
Set the Corner Radius setting to 0.35cm</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/4.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/5.gif" /></p>\n
<p><strong>Step 5</strong>\n
Click on the Rendering section to open it, enable the Enable In Renderer option and the Enable In Viewport option. Set the Thickness value to: 0.4cm.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/6.gif" /></p>\n
<p><strong>Step 6</strong>\n
Click the Hierarchy tab of the Command Panel, and click the Affect Pivot Only button. Move the Pivot to the right to the location shown in the picture below:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/7.gif" /></p>\n
<p>Click the Affect Pivot Only button again to disable it.</p>\n
<p><strong>Step 7</strong>\n
Unless you're using a huge screen, zoom out a bit you so can what you're doing during the next step. Select Array… from the Tools menu:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/9.gif" /></p>\n
<p><strong>Step 8</strong>\n
Change the Incremental Move X value to -2.54cm and the Incremental Rotate X value to 90. Set the Count value for 1D to 10 and click on the Preview button. If the results look like below, press the OK button.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/10.gif" /></p>\n
<p>If you are going to use textures for the links, you should create at least 3 to 5 different versions depending on the length of the chain, and rotate and mirror the individual links to avoid repetition in the textures.</p>\n
<p>Now we have a straight chain with only 10 links. While we could have picked a higher number for the Count value in the Array tool, using less will actually save us some work during the next step, and allows you to add some extra variation by rotating the links. The next step is ‘linking the links’.</p>\n
<p><strong>Step 9</strong>\n
Click the Select and Link button on the main toolbar:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/11.gif" /></p>\n
<p>Select the last chain link, on the left of the chain, and drag the mouse pointer to the next chain link. If you do it correctly, the chain link to which you link the other chain link will flash white for a split second. Repeat this process for all chains links</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/12.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/sal.gif" /></p>\n
<p><strong>Step 10</strong>\n
Select all the chain links, hold down the Shift key and drag the links to the left as shown in the following picture. When the Clone Options dialog box appears, choose the option Reference.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/13.gif" /></p>\n
<p><strong>Step 11</strong>\n
Click the Select and Link button again and link the center two chain links (from left to right as we did earlier. In other words, link the chain link left from the center of the chain, to the chain link right from the center of the chain. Make sure you deselect the 20 chain links you just cloned.) To create a longer chain, you can simply repeat this process, e.g. select all 20 chain links, clone them, and then link the center chain links again. You can make the chain as long as you want, as long as the chain links are linked in one direction. I repeated these steps again, ending up with chain of 40 links.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/14.gif" /></p>\n
<p><strong>Step 12</strong>\n
Select the first chain link on the left of the chain. Choose SplineIK Solver from the IK Solver submenu from the Animation menu.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/15.gif" /></p>\n
<p>The mouse cursor will change to a + sign, showing a trail back to the chain link you selected. Now click on the chain link at the other end of the chain. Two blue lines are added of which one goes all the way through the model, as shown in the following picture. This is called an IK Chain.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/16.gif" /></p>\n
<p><strong>Step 13</strong>\n
Click the Shapes button on the Create tab of the Command Panel. Click the Line button and draw a straight line directly above the chain, of approximately the same size as the chain. Make sure you draw it from right to left, and click 5 times along the way to add some vertexes to the line. Disable the Enable In Renderer option and the Enable In Viewport option.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/17.gif" /></p>\n
<p><strong>Step 14</strong>\n
Click on the Motion tab of the Command Panel. Click the button labeled None below Pick Shape: in the SplineIK Solver section and select the Line you created in the previous step. The button of the label with change into Line01.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/18.gif" /></p>\n
<p><strong>Step 15</strong>\n
Select the Line and switch to Vertex sub-object level. Select one of the vertexes of the line and move it around. If you followed all steps correctly, the chain should now take the shape of the Line.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/19.gif" /></p>\n
<p><strong>Step 16</strong>\n
To allow the chain to take a more realistic shape, we need to change the vertexes from ‘corner’ to ‘smooth’. While you still have that vertex selected from the previous step, press CTRL-A on your keyboard to select all the vertexes in the Line. Right-click in the viewport and select smooth as shown in the following picture:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/20.gif" /></p>\n
<p>The Line as well as the chain will now take a more curved shape. Move around some of the other vertexes and see what the results are. If the links do line up on certain corners, you can change the corresponding vertex to Bezier, which gives you some extra control. Instead of using an SplineIK Solver, you can also use a more simple HI Solver for example (in step 12), but by using the additional Line shape to control the IK Chain ‘and’ the chain object you can easily pose the chain as needed. For example, place a necklace around a model’s neck, or slightly hanging between two poles. The more links you add, and the more vertexes you add to the control spline, the more granular your control over the chain will become.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/21.gif" /></p>\n
<p>Assign a metal or paint material to it and you got yourself a lifelike chain. Instead of creating a chain link based on a Rectangle shape, try one of the other shapes (e.g. Circle, Donut, Ellipse, Helix, Star) or create your own original chain link by drawing a complex Line shape.</p>\n
<p>I hope you enjoyed this tutorial and that it contributed something to your 3D Studio Max modeling skills.</p>
"""
"grav" => Grav {}
"theme_config" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
]
array:11 [
"head" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_head"
]
"galalbummeta" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_galalbummeta"
]
"stylesheets" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_stylesheets"
]
"javascripts" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_javascripts"
]
"header" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_header"
]
"header_navigation" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_header_navigation"
]
"banner" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_banner"
]
"body" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_body"
]
"content" => array:2 [
0 => __TwigTemplate_1fd2da7f05a02335033099a06781b7d00f84f79ced9a93dc72d9cf5790c09ebd {}
1 => "block_content"
]
"footer" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_footer"
]
"bottom" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_bottom"
]
]
/home
/jhiemstraxartec
/public_html
/test
/cache
/twig
/05
/05d859bec41ac5da994bb517e48f7a9558c5995f959256a93748d96374b382ab.php
$this->loadTemplate("partials/navigation.html.twig", "partials/base.html.twig", 79)->display($context);
// line 80
echo " </nav>
";
}
// line 106
public function block_banner($context, array $blocks = [])
{
}
// line 109
public function block_body($context, array $blocks = [])
{
// line 110
echo " <div id=\"main\">
<div class=\"container\">
";
// line 112
$this->displayBlock('content', $context, $blocks);
// line 113
echo " </div>
</div>
";
}
// line 112
public function block_content($context, array $blocks = [])
{
}
// line 117
public function block_footer($context, array $blocks = [])
{
// line 118
echo " <div id=\"footer-wrapper\">
<div class=\"container\">
";
// line 120
$this->loadTemplate("partials/footer.html.twig", "partials/base.html.twig", 120)->display($context);
Arguments
"content"
array:30 [
"config" => Config {}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {}
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<p>In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/samplechain.jpg" /></p>\n
<p>Modeling and ‘posing’ 3D chains may seem like a tedious job, but actually can be done rather easily by using the Array Tool and treating the links in the chain as bones. In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
<p><strong>Step 1</strong>\n
We are going to start with modeling a single link from the chain. Click the Shapes button on the Command Panel, click the Rectangle button, and then draw a rectangle as shown in the picture below. Don’t worry about the exact size yet.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/1.gif" /></p>\n
<p><strong>Step 2</strong>\n
Click on the Modify tab of the Command Panel, and change the Length and Width values below the Parameters section to 1 cm and 3 cm respectively:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/2.gif" /></p>\n
<p><strong>Step 3</strong>\n
Press the Zoom Extents Select button at the right bottom of your screen:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/3.gif" /></p>\n
<p><strong>Step 4</strong>\n
Set the Corner Radius setting to 0.35cm</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/4.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/5.gif" /></p>\n
<p><strong>Step 5</strong>\n
Click on the Rendering section to open it, enable the Enable In Renderer option and the Enable In Viewport option. Set the Thickness value to: 0.4cm.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/6.gif" /></p>\n
<p><strong>Step 6</strong>\n
Click the Hierarchy tab of the Command Panel, and click the Affect Pivot Only button. Move the Pivot to the right to the location shown in the picture below:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/7.gif" /></p>\n
<p>Click the Affect Pivot Only button again to disable it.</p>\n
<p><strong>Step 7</strong>\n
Unless you're using a huge screen, zoom out a bit you so can what you're doing during the next step. Select Array… from the Tools menu:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/9.gif" /></p>\n
<p><strong>Step 8</strong>\n
Change the Incremental Move X value to -2.54cm and the Incremental Rotate X value to 90. Set the Count value for 1D to 10 and click on the Preview button. If the results look like below, press the OK button.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/10.gif" /></p>\n
<p>If you are going to use textures for the links, you should create at least 3 to 5 different versions depending on the length of the chain, and rotate and mirror the individual links to avoid repetition in the textures.</p>\n
<p>Now we have a straight chain with only 10 links. While we could have picked a higher number for the Count value in the Array tool, using less will actually save us some work during the next step, and allows you to add some extra variation by rotating the links. The next step is ‘linking the links’.</p>\n
<p><strong>Step 9</strong>\n
Click the Select and Link button on the main toolbar:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/11.gif" /></p>\n
<p>Select the last chain link, on the left of the chain, and drag the mouse pointer to the next chain link. If you do it correctly, the chain link to which you link the other chain link will flash white for a split second. Repeat this process for all chains links</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/12.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/sal.gif" /></p>\n
<p><strong>Step 10</strong>\n
Select all the chain links, hold down the Shift key and drag the links to the left as shown in the following picture. When the Clone Options dialog box appears, choose the option Reference.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/13.gif" /></p>\n
<p><strong>Step 11</strong>\n
Click the Select and Link button again and link the center two chain links (from left to right as we did earlier. In other words, link the chain link left from the center of the chain, to the chain link right from the center of the chain. Make sure you deselect the 20 chain links you just cloned.) To create a longer chain, you can simply repeat this process, e.g. select all 20 chain links, clone them, and then link the center chain links again. You can make the chain as long as you want, as long as the chain links are linked in one direction. I repeated these steps again, ending up with chain of 40 links.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/14.gif" /></p>\n
<p><strong>Step 12</strong>\n
Select the first chain link on the left of the chain. Choose SplineIK Solver from the IK Solver submenu from the Animation menu.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/15.gif" /></p>\n
<p>The mouse cursor will change to a + sign, showing a trail back to the chain link you selected. Now click on the chain link at the other end of the chain. Two blue lines are added of which one goes all the way through the model, as shown in the following picture. This is called an IK Chain.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/16.gif" /></p>\n
<p><strong>Step 13</strong>\n
Click the Shapes button on the Create tab of the Command Panel. Click the Line button and draw a straight line directly above the chain, of approximately the same size as the chain. Make sure you draw it from right to left, and click 5 times along the way to add some vertexes to the line. Disable the Enable In Renderer option and the Enable In Viewport option.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/17.gif" /></p>\n
<p><strong>Step 14</strong>\n
Click on the Motion tab of the Command Panel. Click the button labeled None below Pick Shape: in the SplineIK Solver section and select the Line you created in the previous step. The button of the label with change into Line01.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/18.gif" /></p>\n
<p><strong>Step 15</strong>\n
Select the Line and switch to Vertex sub-object level. Select one of the vertexes of the line and move it around. If you followed all steps correctly, the chain should now take the shape of the Line.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/19.gif" /></p>\n
<p><strong>Step 16</strong>\n
To allow the chain to take a more realistic shape, we need to change the vertexes from ‘corner’ to ‘smooth’. While you still have that vertex selected from the previous step, press CTRL-A on your keyboard to select all the vertexes in the Line. Right-click in the viewport and select smooth as shown in the following picture:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/20.gif" /></p>\n
<p>The Line as well as the chain will now take a more curved shape. Move around some of the other vertexes and see what the results are. If the links do line up on certain corners, you can change the corresponding vertex to Bezier, which gives you some extra control. Instead of using an SplineIK Solver, you can also use a more simple HI Solver for example (in step 12), but by using the additional Line shape to control the IK Chain ‘and’ the chain object you can easily pose the chain as needed. For example, place a necklace around a model’s neck, or slightly hanging between two poles. The more links you add, and the more vertexes you add to the control spline, the more granular your control over the chain will become.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/21.gif" /></p>\n
<p>Assign a metal or paint material to it and you got yourself a lifelike chain. Instead of creating a chain link based on a Rectangle shape, try one of the other shapes (e.g. Circle, Donut, Ellipse, Helix, Star) or create your own original chain link by drawing a complex Line shape.</p>\n
<p>I hope you enjoyed this tutorial and that it contributed something to your 3D Studio Max modeling skills.</p>
"""
"grav" => Grav {}
"theme_config" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
]
array:11 [
"head" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_head"
]
"galalbummeta" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_galalbummeta"
]
"stylesheets" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_stylesheets"
]
"javascripts" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_javascripts"
]
"header" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_header"
]
"header_navigation" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_header_navigation"
]
"banner" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_banner"
]
"body" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_body"
]
"content" => array:2 [
0 => __TwigTemplate_1fd2da7f05a02335033099a06781b7d00f84f79ced9a93dc72d9cf5790c09ebd {}
1 => "block_content"
]
"footer" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_footer"
]
"bottom" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_bottom"
]
]
/home
/jhiemstraxartec
/public_html
/test
/vendor
/twig
/twig
/src
/Template.php
if ($useBlocks && isset($blocks[$name])) {
$template = $blocks[$name][0];
$block = $blocks[$name][1];
} elseif (isset($this->blocks[$name])) {
$template = $this->blocks[$name][0];
$block = $this->blocks[$name][1];
} else {
$template = null;
$block = null;
}
// avoid RCEs when sandbox is enabled
if (null !== $template && !$template instanceof self) {
throw new \LogicException('A block must be a method on a \Twig\Template instance.');
}
if (null !== $template) {
try {
$template->$block($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($template->getSourceContext());
}
// this is mostly useful for \Twig\Error\LoaderError exceptions
// see \Twig\Error\LoaderError
if (-1 === $e->getTemplateLine()) {
$e->guess();
}
throw $e;
} catch (\Exception $e) {
$e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $template->getSourceContext(), $e);
$e->guess();
throw $e;
}
} elseif (false !== $parent = $this->getParent($context)) {
$parent->displayBlock($name, $context, array_merge($this->blocks, $blocks), false);
Arguments
array:30 [
"config" => Config {}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {}
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<p>In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/samplechain.jpg" /></p>\n
<p>Modeling and ‘posing’ 3D chains may seem like a tedious job, but actually can be done rather easily by using the Array Tool and treating the links in the chain as bones. In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
<p><strong>Step 1</strong>\n
We are going to start with modeling a single link from the chain. Click the Shapes button on the Command Panel, click the Rectangle button, and then draw a rectangle as shown in the picture below. Don’t worry about the exact size yet.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/1.gif" /></p>\n
<p><strong>Step 2</strong>\n
Click on the Modify tab of the Command Panel, and change the Length and Width values below the Parameters section to 1 cm and 3 cm respectively:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/2.gif" /></p>\n
<p><strong>Step 3</strong>\n
Press the Zoom Extents Select button at the right bottom of your screen:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/3.gif" /></p>\n
<p><strong>Step 4</strong>\n
Set the Corner Radius setting to 0.35cm</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/4.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/5.gif" /></p>\n
<p><strong>Step 5</strong>\n
Click on the Rendering section to open it, enable the Enable In Renderer option and the Enable In Viewport option. Set the Thickness value to: 0.4cm.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/6.gif" /></p>\n
<p><strong>Step 6</strong>\n
Click the Hierarchy tab of the Command Panel, and click the Affect Pivot Only button. Move the Pivot to the right to the location shown in the picture below:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/7.gif" /></p>\n
<p>Click the Affect Pivot Only button again to disable it.</p>\n
<p><strong>Step 7</strong>\n
Unless you're using a huge screen, zoom out a bit you so can what you're doing during the next step. Select Array… from the Tools menu:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/9.gif" /></p>\n
<p><strong>Step 8</strong>\n
Change the Incremental Move X value to -2.54cm and the Incremental Rotate X value to 90. Set the Count value for 1D to 10 and click on the Preview button. If the results look like below, press the OK button.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/10.gif" /></p>\n
<p>If you are going to use textures for the links, you should create at least 3 to 5 different versions depending on the length of the chain, and rotate and mirror the individual links to avoid repetition in the textures.</p>\n
<p>Now we have a straight chain with only 10 links. While we could have picked a higher number for the Count value in the Array tool, using less will actually save us some work during the next step, and allows you to add some extra variation by rotating the links. The next step is ‘linking the links’.</p>\n
<p><strong>Step 9</strong>\n
Click the Select and Link button on the main toolbar:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/11.gif" /></p>\n
<p>Select the last chain link, on the left of the chain, and drag the mouse pointer to the next chain link. If you do it correctly, the chain link to which you link the other chain link will flash white for a split second. Repeat this process for all chains links</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/12.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/sal.gif" /></p>\n
<p><strong>Step 10</strong>\n
Select all the chain links, hold down the Shift key and drag the links to the left as shown in the following picture. When the Clone Options dialog box appears, choose the option Reference.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/13.gif" /></p>\n
<p><strong>Step 11</strong>\n
Click the Select and Link button again and link the center two chain links (from left to right as we did earlier. In other words, link the chain link left from the center of the chain, to the chain link right from the center of the chain. Make sure you deselect the 20 chain links you just cloned.) To create a longer chain, you can simply repeat this process, e.g. select all 20 chain links, clone them, and then link the center chain links again. You can make the chain as long as you want, as long as the chain links are linked in one direction. I repeated these steps again, ending up with chain of 40 links.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/14.gif" /></p>\n
<p><strong>Step 12</strong>\n
Select the first chain link on the left of the chain. Choose SplineIK Solver from the IK Solver submenu from the Animation menu.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/15.gif" /></p>\n
<p>The mouse cursor will change to a + sign, showing a trail back to the chain link you selected. Now click on the chain link at the other end of the chain. Two blue lines are added of which one goes all the way through the model, as shown in the following picture. This is called an IK Chain.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/16.gif" /></p>\n
<p><strong>Step 13</strong>\n
Click the Shapes button on the Create tab of the Command Panel. Click the Line button and draw a straight line directly above the chain, of approximately the same size as the chain. Make sure you draw it from right to left, and click 5 times along the way to add some vertexes to the line. Disable the Enable In Renderer option and the Enable In Viewport option.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/17.gif" /></p>\n
<p><strong>Step 14</strong>\n
Click on the Motion tab of the Command Panel. Click the button labeled None below Pick Shape: in the SplineIK Solver section and select the Line you created in the previous step. The button of the label with change into Line01.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/18.gif" /></p>\n
<p><strong>Step 15</strong>\n
Select the Line and switch to Vertex sub-object level. Select one of the vertexes of the line and move it around. If you followed all steps correctly, the chain should now take the shape of the Line.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/19.gif" /></p>\n
<p><strong>Step 16</strong>\n
To allow the chain to take a more realistic shape, we need to change the vertexes from ‘corner’ to ‘smooth’. While you still have that vertex selected from the previous step, press CTRL-A on your keyboard to select all the vertexes in the Line. Right-click in the viewport and select smooth as shown in the following picture:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/20.gif" /></p>\n
<p>The Line as well as the chain will now take a more curved shape. Move around some of the other vertexes and see what the results are. If the links do line up on certain corners, you can change the corresponding vertex to Bezier, which gives you some extra control. Instead of using an SplineIK Solver, you can also use a more simple HI Solver for example (in step 12), but by using the additional Line shape to control the IK Chain ‘and’ the chain object you can easily pose the chain as needed. For example, place a necklace around a model’s neck, or slightly hanging between two poles. The more links you add, and the more vertexes you add to the control spline, the more granular your control over the chain will become.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/21.gif" /></p>\n
<p>Assign a metal or paint material to it and you got yourself a lifelike chain. Instead of creating a chain link based on a Rectangle shape, try one of the other shapes (e.g. Circle, Donut, Ellipse, Helix, Star) or create your own original chain link by drawing a complex Line shape.</p>\n
<p>I hope you enjoyed this tutorial and that it contributed something to your 3D Studio Max modeling skills.</p>
"""
"grav" => Grav {}
"theme_config" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
]
array:11 [
"head" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_head"
]
"galalbummeta" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_galalbummeta"
]
"stylesheets" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_stylesheets"
]
"javascripts" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_javascripts"
]
"header" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_header"
]
"header_navigation" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_header_navigation"
]
"banner" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_banner"
]
"body" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_body"
]
"content" => array:2 [
0 => __TwigTemplate_1fd2da7f05a02335033099a06781b7d00f84f79ced9a93dc72d9cf5790c09ebd {}
1 => "block_content"
]
"footer" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_footer"
]
"bottom" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_bottom"
]
]
/home
/jhiemstraxartec
/public_html
/test
/cache
/twig
/05
/05d859bec41ac5da994bb517e48f7a9558c5995f959256a93748d96374b382ab.php
<!-- 3dvtop -->
<ins class=\"adsbygoogle\"
style=\"display:inline-block;width:970px;height:90px\"
data-ad-client=\"ca-pub-2314626359896816\"
data-ad-slot=\"2869655782\"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>
\t\t</div>
\t</div>
</div>
";
// line 106
$this->displayBlock('banner', $context, $blocks);
// line 108
echo "
";
// line 109
$this->displayBlock('body', $context, $blocks);
// line 116
echo "
";
// line 117
$this->displayBlock('footer', $context, $blocks);
// line 124
echo "
</div>
";
// line 127
$this->displayBlock('bottom', $context, $blocks);
// line 130
echo "</body>
</html>
";
}
// line 6
public function block_head($context, array $blocks = [])
Arguments
"body"
array:30 [
"config" => Config {}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {}
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<p>In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/samplechain.jpg" /></p>\n
<p>Modeling and ‘posing’ 3D chains may seem like a tedious job, but actually can be done rather easily by using the Array Tool and treating the links in the chain as bones. In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
<p><strong>Step 1</strong>\n
We are going to start with modeling a single link from the chain. Click the Shapes button on the Command Panel, click the Rectangle button, and then draw a rectangle as shown in the picture below. Don’t worry about the exact size yet.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/1.gif" /></p>\n
<p><strong>Step 2</strong>\n
Click on the Modify tab of the Command Panel, and change the Length and Width values below the Parameters section to 1 cm and 3 cm respectively:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/2.gif" /></p>\n
<p><strong>Step 3</strong>\n
Press the Zoom Extents Select button at the right bottom of your screen:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/3.gif" /></p>\n
<p><strong>Step 4</strong>\n
Set the Corner Radius setting to 0.35cm</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/4.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/5.gif" /></p>\n
<p><strong>Step 5</strong>\n
Click on the Rendering section to open it, enable the Enable In Renderer option and the Enable In Viewport option. Set the Thickness value to: 0.4cm.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/6.gif" /></p>\n
<p><strong>Step 6</strong>\n
Click the Hierarchy tab of the Command Panel, and click the Affect Pivot Only button. Move the Pivot to the right to the location shown in the picture below:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/7.gif" /></p>\n
<p>Click the Affect Pivot Only button again to disable it.</p>\n
<p><strong>Step 7</strong>\n
Unless you're using a huge screen, zoom out a bit you so can what you're doing during the next step. Select Array… from the Tools menu:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/9.gif" /></p>\n
<p><strong>Step 8</strong>\n
Change the Incremental Move X value to -2.54cm and the Incremental Rotate X value to 90. Set the Count value for 1D to 10 and click on the Preview button. If the results look like below, press the OK button.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/10.gif" /></p>\n
<p>If you are going to use textures for the links, you should create at least 3 to 5 different versions depending on the length of the chain, and rotate and mirror the individual links to avoid repetition in the textures.</p>\n
<p>Now we have a straight chain with only 10 links. While we could have picked a higher number for the Count value in the Array tool, using less will actually save us some work during the next step, and allows you to add some extra variation by rotating the links. The next step is ‘linking the links’.</p>\n
<p><strong>Step 9</strong>\n
Click the Select and Link button on the main toolbar:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/11.gif" /></p>\n
<p>Select the last chain link, on the left of the chain, and drag the mouse pointer to the next chain link. If you do it correctly, the chain link to which you link the other chain link will flash white for a split second. Repeat this process for all chains links</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/12.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/sal.gif" /></p>\n
<p><strong>Step 10</strong>\n
Select all the chain links, hold down the Shift key and drag the links to the left as shown in the following picture. When the Clone Options dialog box appears, choose the option Reference.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/13.gif" /></p>\n
<p><strong>Step 11</strong>\n
Click the Select and Link button again and link the center two chain links (from left to right as we did earlier. In other words, link the chain link left from the center of the chain, to the chain link right from the center of the chain. Make sure you deselect the 20 chain links you just cloned.) To create a longer chain, you can simply repeat this process, e.g. select all 20 chain links, clone them, and then link the center chain links again. You can make the chain as long as you want, as long as the chain links are linked in one direction. I repeated these steps again, ending up with chain of 40 links.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/14.gif" /></p>\n
<p><strong>Step 12</strong>\n
Select the first chain link on the left of the chain. Choose SplineIK Solver from the IK Solver submenu from the Animation menu.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/15.gif" /></p>\n
<p>The mouse cursor will change to a + sign, showing a trail back to the chain link you selected. Now click on the chain link at the other end of the chain. Two blue lines are added of which one goes all the way through the model, as shown in the following picture. This is called an IK Chain.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/16.gif" /></p>\n
<p><strong>Step 13</strong>\n
Click the Shapes button on the Create tab of the Command Panel. Click the Line button and draw a straight line directly above the chain, of approximately the same size as the chain. Make sure you draw it from right to left, and click 5 times along the way to add some vertexes to the line. Disable the Enable In Renderer option and the Enable In Viewport option.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/17.gif" /></p>\n
<p><strong>Step 14</strong>\n
Click on the Motion tab of the Command Panel. Click the button labeled None below Pick Shape: in the SplineIK Solver section and select the Line you created in the previous step. The button of the label with change into Line01.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/18.gif" /></p>\n
<p><strong>Step 15</strong>\n
Select the Line and switch to Vertex sub-object level. Select one of the vertexes of the line and move it around. If you followed all steps correctly, the chain should now take the shape of the Line.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/19.gif" /></p>\n
<p><strong>Step 16</strong>\n
To allow the chain to take a more realistic shape, we need to change the vertexes from ‘corner’ to ‘smooth’. While you still have that vertex selected from the previous step, press CTRL-A on your keyboard to select all the vertexes in the Line. Right-click in the viewport and select smooth as shown in the following picture:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/20.gif" /></p>\n
<p>The Line as well as the chain will now take a more curved shape. Move around some of the other vertexes and see what the results are. If the links do line up on certain corners, you can change the corresponding vertex to Bezier, which gives you some extra control. Instead of using an SplineIK Solver, you can also use a more simple HI Solver for example (in step 12), but by using the additional Line shape to control the IK Chain ‘and’ the chain object you can easily pose the chain as needed. For example, place a necklace around a model’s neck, or slightly hanging between two poles. The more links you add, and the more vertexes you add to the control spline, the more granular your control over the chain will become.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/21.gif" /></p>\n
<p>Assign a metal or paint material to it and you got yourself a lifelike chain. Instead of creating a chain link based on a Rectangle shape, try one of the other shapes (e.g. Circle, Donut, Ellipse, Helix, Star) or create your own original chain link by drawing a complex Line shape.</p>\n
<p>I hope you enjoyed this tutorial and that it contributed something to your 3D Studio Max modeling skills.</p>
"""
"grav" => Grav {}
"theme_config" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
]
array:11 [
"head" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_head"
]
"galalbummeta" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_galalbummeta"
]
"stylesheets" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_stylesheets"
]
"javascripts" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_javascripts"
]
"header" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_header"
]
"header_navigation" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_header_navigation"
]
"banner" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_banner"
]
"body" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_body"
]
"content" => array:2 [
0 => __TwigTemplate_1fd2da7f05a02335033099a06781b7d00f84f79ced9a93dc72d9cf5790c09ebd {}
1 => "block_content"
]
"footer" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_footer"
]
"bottom" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_bottom"
]
]
/home
/jhiemstraxartec
/public_html
/test
/vendor
/twig
/twig
/src
/Template.php
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = [])
{
try {
$this->doDisplay($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
// this is mostly useful for \Twig\Error\LoaderError exceptions
// see \Twig\Error\LoaderError
if (-1 === $e->getTemplateLine()) {
$e->guess();
}
throw $e;
} catch (\Exception $e) {
$e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
$e->guess();
throw $e;
}
}
Arguments
array:30 [
"config" => Config {}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {}
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<p>In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/samplechain.jpg" /></p>\n
<p>Modeling and ‘posing’ 3D chains may seem like a tedious job, but actually can be done rather easily by using the Array Tool and treating the links in the chain as bones. In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
<p><strong>Step 1</strong>\n
We are going to start with modeling a single link from the chain. Click the Shapes button on the Command Panel, click the Rectangle button, and then draw a rectangle as shown in the picture below. Don’t worry about the exact size yet.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/1.gif" /></p>\n
<p><strong>Step 2</strong>\n
Click on the Modify tab of the Command Panel, and change the Length and Width values below the Parameters section to 1 cm and 3 cm respectively:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/2.gif" /></p>\n
<p><strong>Step 3</strong>\n
Press the Zoom Extents Select button at the right bottom of your screen:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/3.gif" /></p>\n
<p><strong>Step 4</strong>\n
Set the Corner Radius setting to 0.35cm</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/4.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/5.gif" /></p>\n
<p><strong>Step 5</strong>\n
Click on the Rendering section to open it, enable the Enable In Renderer option and the Enable In Viewport option. Set the Thickness value to: 0.4cm.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/6.gif" /></p>\n
<p><strong>Step 6</strong>\n
Click the Hierarchy tab of the Command Panel, and click the Affect Pivot Only button. Move the Pivot to the right to the location shown in the picture below:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/7.gif" /></p>\n
<p>Click the Affect Pivot Only button again to disable it.</p>\n
<p><strong>Step 7</strong>\n
Unless you're using a huge screen, zoom out a bit you so can what you're doing during the next step. Select Array… from the Tools menu:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/9.gif" /></p>\n
<p><strong>Step 8</strong>\n
Change the Incremental Move X value to -2.54cm and the Incremental Rotate X value to 90. Set the Count value for 1D to 10 and click on the Preview button. If the results look like below, press the OK button.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/10.gif" /></p>\n
<p>If you are going to use textures for the links, you should create at least 3 to 5 different versions depending on the length of the chain, and rotate and mirror the individual links to avoid repetition in the textures.</p>\n
<p>Now we have a straight chain with only 10 links. While we could have picked a higher number for the Count value in the Array tool, using less will actually save us some work during the next step, and allows you to add some extra variation by rotating the links. The next step is ‘linking the links’.</p>\n
<p><strong>Step 9</strong>\n
Click the Select and Link button on the main toolbar:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/11.gif" /></p>\n
<p>Select the last chain link, on the left of the chain, and drag the mouse pointer to the next chain link. If you do it correctly, the chain link to which you link the other chain link will flash white for a split second. Repeat this process for all chains links</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/12.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/sal.gif" /></p>\n
<p><strong>Step 10</strong>\n
Select all the chain links, hold down the Shift key and drag the links to the left as shown in the following picture. When the Clone Options dialog box appears, choose the option Reference.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/13.gif" /></p>\n
<p><strong>Step 11</strong>\n
Click the Select and Link button again and link the center two chain links (from left to right as we did earlier. In other words, link the chain link left from the center of the chain, to the chain link right from the center of the chain. Make sure you deselect the 20 chain links you just cloned.) To create a longer chain, you can simply repeat this process, e.g. select all 20 chain links, clone them, and then link the center chain links again. You can make the chain as long as you want, as long as the chain links are linked in one direction. I repeated these steps again, ending up with chain of 40 links.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/14.gif" /></p>\n
<p><strong>Step 12</strong>\n
Select the first chain link on the left of the chain. Choose SplineIK Solver from the IK Solver submenu from the Animation menu.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/15.gif" /></p>\n
<p>The mouse cursor will change to a + sign, showing a trail back to the chain link you selected. Now click on the chain link at the other end of the chain. Two blue lines are added of which one goes all the way through the model, as shown in the following picture. This is called an IK Chain.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/16.gif" /></p>\n
<p><strong>Step 13</strong>\n
Click the Shapes button on the Create tab of the Command Panel. Click the Line button and draw a straight line directly above the chain, of approximately the same size as the chain. Make sure you draw it from right to left, and click 5 times along the way to add some vertexes to the line. Disable the Enable In Renderer option and the Enable In Viewport option.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/17.gif" /></p>\n
<p><strong>Step 14</strong>\n
Click on the Motion tab of the Command Panel. Click the button labeled None below Pick Shape: in the SplineIK Solver section and select the Line you created in the previous step. The button of the label with change into Line01.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/18.gif" /></p>\n
<p><strong>Step 15</strong>\n
Select the Line and switch to Vertex sub-object level. Select one of the vertexes of the line and move it around. If you followed all steps correctly, the chain should now take the shape of the Line.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/19.gif" /></p>\n
<p><strong>Step 16</strong>\n
To allow the chain to take a more realistic shape, we need to change the vertexes from ‘corner’ to ‘smooth’. While you still have that vertex selected from the previous step, press CTRL-A on your keyboard to select all the vertexes in the Line. Right-click in the viewport and select smooth as shown in the following picture:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/20.gif" /></p>\n
<p>The Line as well as the chain will now take a more curved shape. Move around some of the other vertexes and see what the results are. If the links do line up on certain corners, you can change the corresponding vertex to Bezier, which gives you some extra control. Instead of using an SplineIK Solver, you can also use a more simple HI Solver for example (in step 12), but by using the additional Line shape to control the IK Chain ‘and’ the chain object you can easily pose the chain as needed. For example, place a necklace around a model’s neck, or slightly hanging between two poles. The more links you add, and the more vertexes you add to the control spline, the more granular your control over the chain will become.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/21.gif" /></p>\n
<p>Assign a metal or paint material to it and you got yourself a lifelike chain. Instead of creating a chain link based on a Rectangle shape, try one of the other shapes (e.g. Circle, Donut, Ellipse, Helix, Star) or create your own original chain link by drawing a complex Line shape.</p>\n
<p>I hope you enjoyed this tutorial and that it contributed something to your 3D Studio Max modeling skills.</p>
"""
"grav" => Grav {}
"theme_config" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
]
array:11 [
"head" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_head"
]
"galalbummeta" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_galalbummeta"
]
"stylesheets" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_stylesheets"
]
"javascripts" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_javascripts"
]
"header" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_header"
]
"header_navigation" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_header_navigation"
]
"banner" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_banner"
]
"body" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_body"
]
"content" => array:2 [
0 => __TwigTemplate_1fd2da7f05a02335033099a06781b7d00f84f79ced9a93dc72d9cf5790c09ebd {}
1 => "block_content"
]
"footer" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_footer"
]
"bottom" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_bottom"
]
]
/home
/jhiemstraxartec
/public_html
/test
/vendor
/twig
/twig
/src
/Template.php
{
return $this;
}
/**
* Returns all blocks.
*
* This method is for internal use only and should never be called
* directly.
*
* @return array An array of blocks
*/
public function getBlocks()
{
return $this->blocks;
}
public function display(array $context, array $blocks = [])
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
public function render(array $context)
{
$level = ob_get_level();
ob_start(function () { return ''; });
try {
$this->display($context);
} catch (\Exception $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
Arguments
array:29 [
"config" => Config {}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {}
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<p>In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/samplechain.jpg" /></p>\n
<p>Modeling and ‘posing’ 3D chains may seem like a tedious job, but actually can be done rather easily by using the Array Tool and treating the links in the chain as bones. In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
<p><strong>Step 1</strong>\n
We are going to start with modeling a single link from the chain. Click the Shapes button on the Command Panel, click the Rectangle button, and then draw a rectangle as shown in the picture below. Don’t worry about the exact size yet.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/1.gif" /></p>\n
<p><strong>Step 2</strong>\n
Click on the Modify tab of the Command Panel, and change the Length and Width values below the Parameters section to 1 cm and 3 cm respectively:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/2.gif" /></p>\n
<p><strong>Step 3</strong>\n
Press the Zoom Extents Select button at the right bottom of your screen:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/3.gif" /></p>\n
<p><strong>Step 4</strong>\n
Set the Corner Radius setting to 0.35cm</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/4.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/5.gif" /></p>\n
<p><strong>Step 5</strong>\n
Click on the Rendering section to open it, enable the Enable In Renderer option and the Enable In Viewport option. Set the Thickness value to: 0.4cm.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/6.gif" /></p>\n
<p><strong>Step 6</strong>\n
Click the Hierarchy tab of the Command Panel, and click the Affect Pivot Only button. Move the Pivot to the right to the location shown in the picture below:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/7.gif" /></p>\n
<p>Click the Affect Pivot Only button again to disable it.</p>\n
<p><strong>Step 7</strong>\n
Unless you're using a huge screen, zoom out a bit you so can what you're doing during the next step. Select Array… from the Tools menu:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/9.gif" /></p>\n
<p><strong>Step 8</strong>\n
Change the Incremental Move X value to -2.54cm and the Incremental Rotate X value to 90. Set the Count value for 1D to 10 and click on the Preview button. If the results look like below, press the OK button.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/10.gif" /></p>\n
<p>If you are going to use textures for the links, you should create at least 3 to 5 different versions depending on the length of the chain, and rotate and mirror the individual links to avoid repetition in the textures.</p>\n
<p>Now we have a straight chain with only 10 links. While we could have picked a higher number for the Count value in the Array tool, using less will actually save us some work during the next step, and allows you to add some extra variation by rotating the links. The next step is ‘linking the links’.</p>\n
<p><strong>Step 9</strong>\n
Click the Select and Link button on the main toolbar:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/11.gif" /></p>\n
<p>Select the last chain link, on the left of the chain, and drag the mouse pointer to the next chain link. If you do it correctly, the chain link to which you link the other chain link will flash white for a split second. Repeat this process for all chains links</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/12.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/sal.gif" /></p>\n
<p><strong>Step 10</strong>\n
Select all the chain links, hold down the Shift key and drag the links to the left as shown in the following picture. When the Clone Options dialog box appears, choose the option Reference.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/13.gif" /></p>\n
<p><strong>Step 11</strong>\n
Click the Select and Link button again and link the center two chain links (from left to right as we did earlier. In other words, link the chain link left from the center of the chain, to the chain link right from the center of the chain. Make sure you deselect the 20 chain links you just cloned.) To create a longer chain, you can simply repeat this process, e.g. select all 20 chain links, clone them, and then link the center chain links again. You can make the chain as long as you want, as long as the chain links are linked in one direction. I repeated these steps again, ending up with chain of 40 links.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/14.gif" /></p>\n
<p><strong>Step 12</strong>\n
Select the first chain link on the left of the chain. Choose SplineIK Solver from the IK Solver submenu from the Animation menu.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/15.gif" /></p>\n
<p>The mouse cursor will change to a + sign, showing a trail back to the chain link you selected. Now click on the chain link at the other end of the chain. Two blue lines are added of which one goes all the way through the model, as shown in the following picture. This is called an IK Chain.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/16.gif" /></p>\n
<p><strong>Step 13</strong>\n
Click the Shapes button on the Create tab of the Command Panel. Click the Line button and draw a straight line directly above the chain, of approximately the same size as the chain. Make sure you draw it from right to left, and click 5 times along the way to add some vertexes to the line. Disable the Enable In Renderer option and the Enable In Viewport option.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/17.gif" /></p>\n
<p><strong>Step 14</strong>\n
Click on the Motion tab of the Command Panel. Click the button labeled None below Pick Shape: in the SplineIK Solver section and select the Line you created in the previous step. The button of the label with change into Line01.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/18.gif" /></p>\n
<p><strong>Step 15</strong>\n
Select the Line and switch to Vertex sub-object level. Select one of the vertexes of the line and move it around. If you followed all steps correctly, the chain should now take the shape of the Line.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/19.gif" /></p>\n
<p><strong>Step 16</strong>\n
To allow the chain to take a more realistic shape, we need to change the vertexes from ‘corner’ to ‘smooth’. While you still have that vertex selected from the previous step, press CTRL-A on your keyboard to select all the vertexes in the Line. Right-click in the viewport and select smooth as shown in the following picture:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/20.gif" /></p>\n
<p>The Line as well as the chain will now take a more curved shape. Move around some of the other vertexes and see what the results are. If the links do line up on certain corners, you can change the corresponding vertex to Bezier, which gives you some extra control. Instead of using an SplineIK Solver, you can also use a more simple HI Solver for example (in step 12), but by using the additional Line shape to control the IK Chain ‘and’ the chain object you can easily pose the chain as needed. For example, place a necklace around a model’s neck, or slightly hanging between two poles. The more links you add, and the more vertexes you add to the control spline, the more granular your control over the chain will become.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/21.gif" /></p>\n
<p>Assign a metal or paint material to it and you got yourself a lifelike chain. Instead of creating a chain link based on a Rectangle shape, try one of the other shapes (e.g. Circle, Donut, Ellipse, Helix, Star) or create your own original chain link by drawing a complex Line shape.</p>\n
<p>I hope you enjoyed this tutorial and that it contributed something to your 3D Studio Max modeling skills.</p>
"""
"grav" => Grav {}
]
array:11 [
"head" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_head"
]
"galalbummeta" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_galalbummeta"
]
"stylesheets" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_stylesheets"
]
"javascripts" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_javascripts"
]
"header" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_header"
]
"header_navigation" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_header_navigation"
]
"banner" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_banner"
]
"body" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_body"
]
"content" => array:2 [
0 => __TwigTemplate_1fd2da7f05a02335033099a06781b7d00f84f79ced9a93dc72d9cf5790c09ebd {}
1 => "block_content"
]
"footer" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_footer"
]
"bottom" => array:2 [
0 => __TwigTemplate_aed3f39d8681d6e3378d0353681a4dc14e38b6e07894141497597544251eadee {#1}
1 => "block_bottom"
]
]
/home
/jhiemstraxartec
/public_html
/test
/cache
/twig
/f4
/f448589b8fa5e8e96d271b869702bdf2c5f6c03d9e1ebdec2a1766abd9e01266.php
{
public function __construct(Environment $env)
{
parent::__construct($env);
$this->blocks = [
'content' => [$this, 'block_content'],
];
}
protected function doGetParent(array $context)
{
// line 1
return "partials/base.html.twig";
}
protected function doDisplay(array $context, array $blocks = [])
{
$this->parent = $this->loadTemplate("partials/base.html.twig", "tutorialfull.html.twig", 1);
$this->parent->display($context, array_merge($this->blocks, $blocks));
}
// line 3
public function block_content($context, array $blocks = [])
{
// line 4
echo "
<div class=\"row main-row\">
\t<div class=\"8u 12u(mobile)\">
\t\t<section class=\"left-content\">
\t\t
<a href=\"";
// line 10
echo $this->getAttribute($this->getAttribute(($context["page"] ?? null), "parent", []), "url", []);
echo "\"><strong><< Back to Tutorials</strong></a><br /><br />
\t\t\t";
// line 12
if ($this->getAttribute($this->getAttribute($this->getAttribute(($context["config"] ?? null), "plugins", []), "breadcrumbs", []), "enabled", [])) {
Arguments
array:29 [
"config" => Config {}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {}
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<p>In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/samplechain.jpg" /></p>\n
<p>Modeling and ‘posing’ 3D chains may seem like a tedious job, but actually can be done rather easily by using the Array Tool and treating the links in the chain as bones. In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
<p><strong>Step 1</strong>\n
We are going to start with modeling a single link from the chain. Click the Shapes button on the Command Panel, click the Rectangle button, and then draw a rectangle as shown in the picture below. Don’t worry about the exact size yet.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/1.gif" /></p>\n
<p><strong>Step 2</strong>\n
Click on the Modify tab of the Command Panel, and change the Length and Width values below the Parameters section to 1 cm and 3 cm respectively:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/2.gif" /></p>\n
<p><strong>Step 3</strong>\n
Press the Zoom Extents Select button at the right bottom of your screen:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/3.gif" /></p>\n
<p><strong>Step 4</strong>\n
Set the Corner Radius setting to 0.35cm</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/4.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/5.gif" /></p>\n
<p><strong>Step 5</strong>\n
Click on the Rendering section to open it, enable the Enable In Renderer option and the Enable In Viewport option. Set the Thickness value to: 0.4cm.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/6.gif" /></p>\n
<p><strong>Step 6</strong>\n
Click the Hierarchy tab of the Command Panel, and click the Affect Pivot Only button. Move the Pivot to the right to the location shown in the picture below:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/7.gif" /></p>\n
<p>Click the Affect Pivot Only button again to disable it.</p>\n
<p><strong>Step 7</strong>\n
Unless you're using a huge screen, zoom out a bit you so can what you're doing during the next step. Select Array… from the Tools menu:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/9.gif" /></p>\n
<p><strong>Step 8</strong>\n
Change the Incremental Move X value to -2.54cm and the Incremental Rotate X value to 90. Set the Count value for 1D to 10 and click on the Preview button. If the results look like below, press the OK button.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/10.gif" /></p>\n
<p>If you are going to use textures for the links, you should create at least 3 to 5 different versions depending on the length of the chain, and rotate and mirror the individual links to avoid repetition in the textures.</p>\n
<p>Now we have a straight chain with only 10 links. While we could have picked a higher number for the Count value in the Array tool, using less will actually save us some work during the next step, and allows you to add some extra variation by rotating the links. The next step is ‘linking the links’.</p>\n
<p><strong>Step 9</strong>\n
Click the Select and Link button on the main toolbar:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/11.gif" /></p>\n
<p>Select the last chain link, on the left of the chain, and drag the mouse pointer to the next chain link. If you do it correctly, the chain link to which you link the other chain link will flash white for a split second. Repeat this process for all chains links</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/12.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/sal.gif" /></p>\n
<p><strong>Step 10</strong>\n
Select all the chain links, hold down the Shift key and drag the links to the left as shown in the following picture. When the Clone Options dialog box appears, choose the option Reference.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/13.gif" /></p>\n
<p><strong>Step 11</strong>\n
Click the Select and Link button again and link the center two chain links (from left to right as we did earlier. In other words, link the chain link left from the center of the chain, to the chain link right from the center of the chain. Make sure you deselect the 20 chain links you just cloned.) To create a longer chain, you can simply repeat this process, e.g. select all 20 chain links, clone them, and then link the center chain links again. You can make the chain as long as you want, as long as the chain links are linked in one direction. I repeated these steps again, ending up with chain of 40 links.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/14.gif" /></p>\n
<p><strong>Step 12</strong>\n
Select the first chain link on the left of the chain. Choose SplineIK Solver from the IK Solver submenu from the Animation menu.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/15.gif" /></p>\n
<p>The mouse cursor will change to a + sign, showing a trail back to the chain link you selected. Now click on the chain link at the other end of the chain. Two blue lines are added of which one goes all the way through the model, as shown in the following picture. This is called an IK Chain.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/16.gif" /></p>\n
<p><strong>Step 13</strong>\n
Click the Shapes button on the Create tab of the Command Panel. Click the Line button and draw a straight line directly above the chain, of approximately the same size as the chain. Make sure you draw it from right to left, and click 5 times along the way to add some vertexes to the line. Disable the Enable In Renderer option and the Enable In Viewport option.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/17.gif" /></p>\n
<p><strong>Step 14</strong>\n
Click on the Motion tab of the Command Panel. Click the button labeled None below Pick Shape: in the SplineIK Solver section and select the Line you created in the previous step. The button of the label with change into Line01.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/18.gif" /></p>\n
<p><strong>Step 15</strong>\n
Select the Line and switch to Vertex sub-object level. Select one of the vertexes of the line and move it around. If you followed all steps correctly, the chain should now take the shape of the Line.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/19.gif" /></p>\n
<p><strong>Step 16</strong>\n
To allow the chain to take a more realistic shape, we need to change the vertexes from ‘corner’ to ‘smooth’. While you still have that vertex selected from the previous step, press CTRL-A on your keyboard to select all the vertexes in the Line. Right-click in the viewport and select smooth as shown in the following picture:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/20.gif" /></p>\n
<p>The Line as well as the chain will now take a more curved shape. Move around some of the other vertexes and see what the results are. If the links do line up on certain corners, you can change the corresponding vertex to Bezier, which gives you some extra control. Instead of using an SplineIK Solver, you can also use a more simple HI Solver for example (in step 12), but by using the additional Line shape to control the IK Chain ‘and’ the chain object you can easily pose the chain as needed. For example, place a necklace around a model’s neck, or slightly hanging between two poles. The more links you add, and the more vertexes you add to the control spline, the more granular your control over the chain will become.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/21.gif" /></p>\n
<p>Assign a metal or paint material to it and you got yourself a lifelike chain. Instead of creating a chain link based on a Rectangle shape, try one of the other shapes (e.g. Circle, Donut, Ellipse, Helix, Star) or create your own original chain link by drawing a complex Line shape.</p>\n
<p>I hope you enjoyed this tutorial and that it contributed something to your 3D Studio Max modeling skills.</p>
"""
"grav" => Grav {}
]
array:1 [
"content" => array:2 [
0 => __TwigTemplate_1fd2da7f05a02335033099a06781b7d00f84f79ced9a93dc72d9cf5790c09ebd {}
1 => "block_content"
]
]
/home
/jhiemstraxartec
/public_html
/test
/vendor
/twig
/twig
/src
/Template.php
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = [])
{
try {
$this->doDisplay($context, $blocks);
} catch (Error $e) {
if (!$e->getSourceContext()) {
$e->setSourceContext($this->getSourceContext());
}
// this is mostly useful for \Twig\Error\LoaderError exceptions
// see \Twig\Error\LoaderError
if (-1 === $e->getTemplateLine()) {
$e->guess();
}
throw $e;
} catch (\Exception $e) {
$e = new RuntimeError(sprintf('An exception has been thrown during the rendering of a template ("%s").', $e->getMessage()), -1, $this->getSourceContext(), $e);
$e->guess();
throw $e;
}
}
Arguments
array:29 [
"config" => Config {}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {}
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<p>In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/samplechain.jpg" /></p>\n
<p>Modeling and ‘posing’ 3D chains may seem like a tedious job, but actually can be done rather easily by using the Array Tool and treating the links in the chain as bones. In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
<p><strong>Step 1</strong>\n
We are going to start with modeling a single link from the chain. Click the Shapes button on the Command Panel, click the Rectangle button, and then draw a rectangle as shown in the picture below. Don’t worry about the exact size yet.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/1.gif" /></p>\n
<p><strong>Step 2</strong>\n
Click on the Modify tab of the Command Panel, and change the Length and Width values below the Parameters section to 1 cm and 3 cm respectively:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/2.gif" /></p>\n
<p><strong>Step 3</strong>\n
Press the Zoom Extents Select button at the right bottom of your screen:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/3.gif" /></p>\n
<p><strong>Step 4</strong>\n
Set the Corner Radius setting to 0.35cm</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/4.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/5.gif" /></p>\n
<p><strong>Step 5</strong>\n
Click on the Rendering section to open it, enable the Enable In Renderer option and the Enable In Viewport option. Set the Thickness value to: 0.4cm.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/6.gif" /></p>\n
<p><strong>Step 6</strong>\n
Click the Hierarchy tab of the Command Panel, and click the Affect Pivot Only button. Move the Pivot to the right to the location shown in the picture below:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/7.gif" /></p>\n
<p>Click the Affect Pivot Only button again to disable it.</p>\n
<p><strong>Step 7</strong>\n
Unless you're using a huge screen, zoom out a bit you so can what you're doing during the next step. Select Array… from the Tools menu:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/9.gif" /></p>\n
<p><strong>Step 8</strong>\n
Change the Incremental Move X value to -2.54cm and the Incremental Rotate X value to 90. Set the Count value for 1D to 10 and click on the Preview button. If the results look like below, press the OK button.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/10.gif" /></p>\n
<p>If you are going to use textures for the links, you should create at least 3 to 5 different versions depending on the length of the chain, and rotate and mirror the individual links to avoid repetition in the textures.</p>\n
<p>Now we have a straight chain with only 10 links. While we could have picked a higher number for the Count value in the Array tool, using less will actually save us some work during the next step, and allows you to add some extra variation by rotating the links. The next step is ‘linking the links’.</p>\n
<p><strong>Step 9</strong>\n
Click the Select and Link button on the main toolbar:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/11.gif" /></p>\n
<p>Select the last chain link, on the left of the chain, and drag the mouse pointer to the next chain link. If you do it correctly, the chain link to which you link the other chain link will flash white for a split second. Repeat this process for all chains links</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/12.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/sal.gif" /></p>\n
<p><strong>Step 10</strong>\n
Select all the chain links, hold down the Shift key and drag the links to the left as shown in the following picture. When the Clone Options dialog box appears, choose the option Reference.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/13.gif" /></p>\n
<p><strong>Step 11</strong>\n
Click the Select and Link button again and link the center two chain links (from left to right as we did earlier. In other words, link the chain link left from the center of the chain, to the chain link right from the center of the chain. Make sure you deselect the 20 chain links you just cloned.) To create a longer chain, you can simply repeat this process, e.g. select all 20 chain links, clone them, and then link the center chain links again. You can make the chain as long as you want, as long as the chain links are linked in one direction. I repeated these steps again, ending up with chain of 40 links.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/14.gif" /></p>\n
<p><strong>Step 12</strong>\n
Select the first chain link on the left of the chain. Choose SplineIK Solver from the IK Solver submenu from the Animation menu.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/15.gif" /></p>\n
<p>The mouse cursor will change to a + sign, showing a trail back to the chain link you selected. Now click on the chain link at the other end of the chain. Two blue lines are added of which one goes all the way through the model, as shown in the following picture. This is called an IK Chain.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/16.gif" /></p>\n
<p><strong>Step 13</strong>\n
Click the Shapes button on the Create tab of the Command Panel. Click the Line button and draw a straight line directly above the chain, of approximately the same size as the chain. Make sure you draw it from right to left, and click 5 times along the way to add some vertexes to the line. Disable the Enable In Renderer option and the Enable In Viewport option.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/17.gif" /></p>\n
<p><strong>Step 14</strong>\n
Click on the Motion tab of the Command Panel. Click the button labeled None below Pick Shape: in the SplineIK Solver section and select the Line you created in the previous step. The button of the label with change into Line01.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/18.gif" /></p>\n
<p><strong>Step 15</strong>\n
Select the Line and switch to Vertex sub-object level. Select one of the vertexes of the line and move it around. If you followed all steps correctly, the chain should now take the shape of the Line.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/19.gif" /></p>\n
<p><strong>Step 16</strong>\n
To allow the chain to take a more realistic shape, we need to change the vertexes from ‘corner’ to ‘smooth’. While you still have that vertex selected from the previous step, press CTRL-A on your keyboard to select all the vertexes in the Line. Right-click in the viewport and select smooth as shown in the following picture:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/20.gif" /></p>\n
<p>The Line as well as the chain will now take a more curved shape. Move around some of the other vertexes and see what the results are. If the links do line up on certain corners, you can change the corresponding vertex to Bezier, which gives you some extra control. Instead of using an SplineIK Solver, you can also use a more simple HI Solver for example (in step 12), but by using the additional Line shape to control the IK Chain ‘and’ the chain object you can easily pose the chain as needed. For example, place a necklace around a model’s neck, or slightly hanging between two poles. The more links you add, and the more vertexes you add to the control spline, the more granular your control over the chain will become.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/21.gif" /></p>\n
<p>Assign a metal or paint material to it and you got yourself a lifelike chain. Instead of creating a chain link based on a Rectangle shape, try one of the other shapes (e.g. Circle, Donut, Ellipse, Helix, Star) or create your own original chain link by drawing a complex Line shape.</p>\n
<p>I hope you enjoyed this tutorial and that it contributed something to your 3D Studio Max modeling skills.</p>
"""
"grav" => Grav {}
]
array:1 [
"content" => array:2 [
0 => __TwigTemplate_1fd2da7f05a02335033099a06781b7d00f84f79ced9a93dc72d9cf5790c09ebd {}
1 => "block_content"
]
]
/home
/jhiemstraxartec
/public_html
/test
/vendor
/twig
/twig
/src
/Template.php
{
return $this;
}
/**
* Returns all blocks.
*
* This method is for internal use only and should never be called
* directly.
*
* @return array An array of blocks
*/
public function getBlocks()
{
return $this->blocks;
}
public function display(array $context, array $blocks = [])
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
public function render(array $context)
{
$level = ob_get_level();
ob_start(function () { return ''; });
try {
$this->display($context);
} catch (\Exception $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
Arguments
array:29 [
"config" => Config {}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {}
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<p>In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/samplechain.jpg" /></p>\n
<p>Modeling and ‘posing’ 3D chains may seem like a tedious job, but actually can be done rather easily by using the Array Tool and treating the links in the chain as bones. In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
<p><strong>Step 1</strong>\n
We are going to start with modeling a single link from the chain. Click the Shapes button on the Command Panel, click the Rectangle button, and then draw a rectangle as shown in the picture below. Don’t worry about the exact size yet.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/1.gif" /></p>\n
<p><strong>Step 2</strong>\n
Click on the Modify tab of the Command Panel, and change the Length and Width values below the Parameters section to 1 cm and 3 cm respectively:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/2.gif" /></p>\n
<p><strong>Step 3</strong>\n
Press the Zoom Extents Select button at the right bottom of your screen:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/3.gif" /></p>\n
<p><strong>Step 4</strong>\n
Set the Corner Radius setting to 0.35cm</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/4.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/5.gif" /></p>\n
<p><strong>Step 5</strong>\n
Click on the Rendering section to open it, enable the Enable In Renderer option and the Enable In Viewport option. Set the Thickness value to: 0.4cm.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/6.gif" /></p>\n
<p><strong>Step 6</strong>\n
Click the Hierarchy tab of the Command Panel, and click the Affect Pivot Only button. Move the Pivot to the right to the location shown in the picture below:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/7.gif" /></p>\n
<p>Click the Affect Pivot Only button again to disable it.</p>\n
<p><strong>Step 7</strong>\n
Unless you're using a huge screen, zoom out a bit you so can what you're doing during the next step. Select Array… from the Tools menu:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/9.gif" /></p>\n
<p><strong>Step 8</strong>\n
Change the Incremental Move X value to -2.54cm and the Incremental Rotate X value to 90. Set the Count value for 1D to 10 and click on the Preview button. If the results look like below, press the OK button.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/10.gif" /></p>\n
<p>If you are going to use textures for the links, you should create at least 3 to 5 different versions depending on the length of the chain, and rotate and mirror the individual links to avoid repetition in the textures.</p>\n
<p>Now we have a straight chain with only 10 links. While we could have picked a higher number for the Count value in the Array tool, using less will actually save us some work during the next step, and allows you to add some extra variation by rotating the links. The next step is ‘linking the links’.</p>\n
<p><strong>Step 9</strong>\n
Click the Select and Link button on the main toolbar:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/11.gif" /></p>\n
<p>Select the last chain link, on the left of the chain, and drag the mouse pointer to the next chain link. If you do it correctly, the chain link to which you link the other chain link will flash white for a split second. Repeat this process for all chains links</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/12.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/sal.gif" /></p>\n
<p><strong>Step 10</strong>\n
Select all the chain links, hold down the Shift key and drag the links to the left as shown in the following picture. When the Clone Options dialog box appears, choose the option Reference.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/13.gif" /></p>\n
<p><strong>Step 11</strong>\n
Click the Select and Link button again and link the center two chain links (from left to right as we did earlier. In other words, link the chain link left from the center of the chain, to the chain link right from the center of the chain. Make sure you deselect the 20 chain links you just cloned.) To create a longer chain, you can simply repeat this process, e.g. select all 20 chain links, clone them, and then link the center chain links again. You can make the chain as long as you want, as long as the chain links are linked in one direction. I repeated these steps again, ending up with chain of 40 links.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/14.gif" /></p>\n
<p><strong>Step 12</strong>\n
Select the first chain link on the left of the chain. Choose SplineIK Solver from the IK Solver submenu from the Animation menu.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/15.gif" /></p>\n
<p>The mouse cursor will change to a + sign, showing a trail back to the chain link you selected. Now click on the chain link at the other end of the chain. Two blue lines are added of which one goes all the way through the model, as shown in the following picture. This is called an IK Chain.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/16.gif" /></p>\n
<p><strong>Step 13</strong>\n
Click the Shapes button on the Create tab of the Command Panel. Click the Line button and draw a straight line directly above the chain, of approximately the same size as the chain. Make sure you draw it from right to left, and click 5 times along the way to add some vertexes to the line. Disable the Enable In Renderer option and the Enable In Viewport option.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/17.gif" /></p>\n
<p><strong>Step 14</strong>\n
Click on the Motion tab of the Command Panel. Click the button labeled None below Pick Shape: in the SplineIK Solver section and select the Line you created in the previous step. The button of the label with change into Line01.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/18.gif" /></p>\n
<p><strong>Step 15</strong>\n
Select the Line and switch to Vertex sub-object level. Select one of the vertexes of the line and move it around. If you followed all steps correctly, the chain should now take the shape of the Line.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/19.gif" /></p>\n
<p><strong>Step 16</strong>\n
To allow the chain to take a more realistic shape, we need to change the vertexes from ‘corner’ to ‘smooth’. While you still have that vertex selected from the previous step, press CTRL-A on your keyboard to select all the vertexes in the Line. Right-click in the viewport and select smooth as shown in the following picture:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/20.gif" /></p>\n
<p>The Line as well as the chain will now take a more curved shape. Move around some of the other vertexes and see what the results are. If the links do line up on certain corners, you can change the corresponding vertex to Bezier, which gives you some extra control. Instead of using an SplineIK Solver, you can also use a more simple HI Solver for example (in step 12), but by using the additional Line shape to control the IK Chain ‘and’ the chain object you can easily pose the chain as needed. For example, place a necklace around a model’s neck, or slightly hanging between two poles. The more links you add, and the more vertexes you add to the control spline, the more granular your control over the chain will become.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/21.gif" /></p>\n
<p>Assign a metal or paint material to it and you got yourself a lifelike chain. Instead of creating a chain link based on a Rectangle shape, try one of the other shapes (e.g. Circle, Donut, Ellipse, Helix, Star) or create your own original chain link by drawing a complex Line shape.</p>\n
<p>I hope you enjoyed this tutorial and that it contributed something to your 3D Studio Max modeling skills.</p>
"""
"grav" => Grav {}
]
array:1 [
"content" => array:2 [
0 => __TwigTemplate_1fd2da7f05a02335033099a06781b7d00f84f79ced9a93dc72d9cf5790c09ebd {}
1 => "block_content"
]
]
/home
/jhiemstraxartec
/public_html
/test
/vendor
/twig
/twig
/src
/Template.php
* directly.
*
* @return array An array of blocks
*/
public function getBlocks()
{
return $this->blocks;
}
public function display(array $context, array $blocks = [])
{
$this->displayWithErrorHandling($this->env->mergeGlobals($context), array_merge($this->blocks, $blocks));
}
public function render(array $context)
{
$level = ob_get_level();
ob_start(function () { return ''; });
try {
$this->display($context);
} catch (\Exception $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
protected function displayWithErrorHandling(array $context, array $blocks = [])
{
try {
Arguments
array:28 [
"config" => Config {}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {}
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<p>In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/samplechain.jpg" /></p>\n
<p>Modeling and ‘posing’ 3D chains may seem like a tedious job, but actually can be done rather easily by using the Array Tool and treating the links in the chain as bones. In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
<p><strong>Step 1</strong>\n
We are going to start with modeling a single link from the chain. Click the Shapes button on the Command Panel, click the Rectangle button, and then draw a rectangle as shown in the picture below. Don’t worry about the exact size yet.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/1.gif" /></p>\n
<p><strong>Step 2</strong>\n
Click on the Modify tab of the Command Panel, and change the Length and Width values below the Parameters section to 1 cm and 3 cm respectively:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/2.gif" /></p>\n
<p><strong>Step 3</strong>\n
Press the Zoom Extents Select button at the right bottom of your screen:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/3.gif" /></p>\n
<p><strong>Step 4</strong>\n
Set the Corner Radius setting to 0.35cm</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/4.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/5.gif" /></p>\n
<p><strong>Step 5</strong>\n
Click on the Rendering section to open it, enable the Enable In Renderer option and the Enable In Viewport option. Set the Thickness value to: 0.4cm.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/6.gif" /></p>\n
<p><strong>Step 6</strong>\n
Click the Hierarchy tab of the Command Panel, and click the Affect Pivot Only button. Move the Pivot to the right to the location shown in the picture below:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/7.gif" /></p>\n
<p>Click the Affect Pivot Only button again to disable it.</p>\n
<p><strong>Step 7</strong>\n
Unless you're using a huge screen, zoom out a bit you so can what you're doing during the next step. Select Array… from the Tools menu:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/9.gif" /></p>\n
<p><strong>Step 8</strong>\n
Change the Incremental Move X value to -2.54cm and the Incremental Rotate X value to 90. Set the Count value for 1D to 10 and click on the Preview button. If the results look like below, press the OK button.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/10.gif" /></p>\n
<p>If you are going to use textures for the links, you should create at least 3 to 5 different versions depending on the length of the chain, and rotate and mirror the individual links to avoid repetition in the textures.</p>\n
<p>Now we have a straight chain with only 10 links. While we could have picked a higher number for the Count value in the Array tool, using less will actually save us some work during the next step, and allows you to add some extra variation by rotating the links. The next step is ‘linking the links’.</p>\n
<p><strong>Step 9</strong>\n
Click the Select and Link button on the main toolbar:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/11.gif" /></p>\n
<p>Select the last chain link, on the left of the chain, and drag the mouse pointer to the next chain link. If you do it correctly, the chain link to which you link the other chain link will flash white for a split second. Repeat this process for all chains links</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/12.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/sal.gif" /></p>\n
<p><strong>Step 10</strong>\n
Select all the chain links, hold down the Shift key and drag the links to the left as shown in the following picture. When the Clone Options dialog box appears, choose the option Reference.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/13.gif" /></p>\n
<p><strong>Step 11</strong>\n
Click the Select and Link button again and link the center two chain links (from left to right as we did earlier. In other words, link the chain link left from the center of the chain, to the chain link right from the center of the chain. Make sure you deselect the 20 chain links you just cloned.) To create a longer chain, you can simply repeat this process, e.g. select all 20 chain links, clone them, and then link the center chain links again. You can make the chain as long as you want, as long as the chain links are linked in one direction. I repeated these steps again, ending up with chain of 40 links.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/14.gif" /></p>\n
<p><strong>Step 12</strong>\n
Select the first chain link on the left of the chain. Choose SplineIK Solver from the IK Solver submenu from the Animation menu.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/15.gif" /></p>\n
<p>The mouse cursor will change to a + sign, showing a trail back to the chain link you selected. Now click on the chain link at the other end of the chain. Two blue lines are added of which one goes all the way through the model, as shown in the following picture. This is called an IK Chain.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/16.gif" /></p>\n
<p><strong>Step 13</strong>\n
Click the Shapes button on the Create tab of the Command Panel. Click the Line button and draw a straight line directly above the chain, of approximately the same size as the chain. Make sure you draw it from right to left, and click 5 times along the way to add some vertexes to the line. Disable the Enable In Renderer option and the Enable In Viewport option.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/17.gif" /></p>\n
<p><strong>Step 14</strong>\n
Click on the Motion tab of the Command Panel. Click the button labeled None below Pick Shape: in the SplineIK Solver section and select the Line you created in the previous step. The button of the label with change into Line01.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/18.gif" /></p>\n
<p><strong>Step 15</strong>\n
Select the Line and switch to Vertex sub-object level. Select one of the vertexes of the line and move it around. If you followed all steps correctly, the chain should now take the shape of the Line.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/19.gif" /></p>\n
<p><strong>Step 16</strong>\n
To allow the chain to take a more realistic shape, we need to change the vertexes from ‘corner’ to ‘smooth’. While you still have that vertex selected from the previous step, press CTRL-A on your keyboard to select all the vertexes in the Line. Right-click in the viewport and select smooth as shown in the following picture:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/20.gif" /></p>\n
<p>The Line as well as the chain will now take a more curved shape. Move around some of the other vertexes and see what the results are. If the links do line up on certain corners, you can change the corresponding vertex to Bezier, which gives you some extra control. Instead of using an SplineIK Solver, you can also use a more simple HI Solver for example (in step 12), but by using the additional Line shape to control the IK Chain ‘and’ the chain object you can easily pose the chain as needed. For example, place a necklace around a model’s neck, or slightly hanging between two poles. The more links you add, and the more vertexes you add to the control spline, the more granular your control over the chain will become.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/21.gif" /></p>\n
<p>Assign a metal or paint material to it and you got yourself a lifelike chain. Instead of creating a chain link based on a Rectangle shape, try one of the other shapes (e.g. Circle, Donut, Ellipse, Helix, Star) or create your own original chain link by drawing a complex Line shape.</p>\n
<p>I hope you enjoyed this tutorial and that it contributed something to your 3D Studio Max modeling skills.</p>
"""
]
/home
/jhiemstraxartec
/public_html
/test
/vendor
/twig
/twig
/src
/TemplateWrapper.php
* @internal
*/
public function __construct(Environment $env, Template $template)
{
$this->env = $env;
$this->template = $template;
}
/**
* Renders the template.
*
* @param array $context An array of parameters to pass to the template
*
* @return string The rendered template
*/
public function render($context = [])
{
// using func_get_args() allows to not expose the blocks argument
// as it should only be used by internal code
return $this->template->render($context, \func_num_args() > 1 ? func_get_arg(1) : []);
}
/**
* Displays the template.
*
* @param array $context An array of parameters to pass to the template
*/
public function display($context = [])
{
// using func_get_args() allows to not expose the blocks argument
// as it should only be used by internal code
$this->template->display($context, \func_num_args() > 1 ? func_get_arg(1) : []);
}
/**
* Checks if a block is defined.
*
* @param string $name The block name
* @param array $context An array of parameters to pass to the template
*
Arguments
array:28 [
"config" => Config {}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {}
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<p>In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/samplechain.jpg" /></p>\n
<p>Modeling and ‘posing’ 3D chains may seem like a tedious job, but actually can be done rather easily by using the Array Tool and treating the links in the chain as bones. In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
<p><strong>Step 1</strong>\n
We are going to start with modeling a single link from the chain. Click the Shapes button on the Command Panel, click the Rectangle button, and then draw a rectangle as shown in the picture below. Don’t worry about the exact size yet.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/1.gif" /></p>\n
<p><strong>Step 2</strong>\n
Click on the Modify tab of the Command Panel, and change the Length and Width values below the Parameters section to 1 cm and 3 cm respectively:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/2.gif" /></p>\n
<p><strong>Step 3</strong>\n
Press the Zoom Extents Select button at the right bottom of your screen:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/3.gif" /></p>\n
<p><strong>Step 4</strong>\n
Set the Corner Radius setting to 0.35cm</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/4.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/5.gif" /></p>\n
<p><strong>Step 5</strong>\n
Click on the Rendering section to open it, enable the Enable In Renderer option and the Enable In Viewport option. Set the Thickness value to: 0.4cm.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/6.gif" /></p>\n
<p><strong>Step 6</strong>\n
Click the Hierarchy tab of the Command Panel, and click the Affect Pivot Only button. Move the Pivot to the right to the location shown in the picture below:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/7.gif" /></p>\n
<p>Click the Affect Pivot Only button again to disable it.</p>\n
<p><strong>Step 7</strong>\n
Unless you're using a huge screen, zoom out a bit you so can what you're doing during the next step. Select Array… from the Tools menu:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/9.gif" /></p>\n
<p><strong>Step 8</strong>\n
Change the Incremental Move X value to -2.54cm and the Incremental Rotate X value to 90. Set the Count value for 1D to 10 and click on the Preview button. If the results look like below, press the OK button.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/10.gif" /></p>\n
<p>If you are going to use textures for the links, you should create at least 3 to 5 different versions depending on the length of the chain, and rotate and mirror the individual links to avoid repetition in the textures.</p>\n
<p>Now we have a straight chain with only 10 links. While we could have picked a higher number for the Count value in the Array tool, using less will actually save us some work during the next step, and allows you to add some extra variation by rotating the links. The next step is ‘linking the links’.</p>\n
<p><strong>Step 9</strong>\n
Click the Select and Link button on the main toolbar:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/11.gif" /></p>\n
<p>Select the last chain link, on the left of the chain, and drag the mouse pointer to the next chain link. If you do it correctly, the chain link to which you link the other chain link will flash white for a split second. Repeat this process for all chains links</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/12.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/sal.gif" /></p>\n
<p><strong>Step 10</strong>\n
Select all the chain links, hold down the Shift key and drag the links to the left as shown in the following picture. When the Clone Options dialog box appears, choose the option Reference.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/13.gif" /></p>\n
<p><strong>Step 11</strong>\n
Click the Select and Link button again and link the center two chain links (from left to right as we did earlier. In other words, link the chain link left from the center of the chain, to the chain link right from the center of the chain. Make sure you deselect the 20 chain links you just cloned.) To create a longer chain, you can simply repeat this process, e.g. select all 20 chain links, clone them, and then link the center chain links again. You can make the chain as long as you want, as long as the chain links are linked in one direction. I repeated these steps again, ending up with chain of 40 links.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/14.gif" /></p>\n
<p><strong>Step 12</strong>\n
Select the first chain link on the left of the chain. Choose SplineIK Solver from the IK Solver submenu from the Animation menu.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/15.gif" /></p>\n
<p>The mouse cursor will change to a + sign, showing a trail back to the chain link you selected. Now click on the chain link at the other end of the chain. Two blue lines are added of which one goes all the way through the model, as shown in the following picture. This is called an IK Chain.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/16.gif" /></p>\n
<p><strong>Step 13</strong>\n
Click the Shapes button on the Create tab of the Command Panel. Click the Line button and draw a straight line directly above the chain, of approximately the same size as the chain. Make sure you draw it from right to left, and click 5 times along the way to add some vertexes to the line. Disable the Enable In Renderer option and the Enable In Viewport option.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/17.gif" /></p>\n
<p><strong>Step 14</strong>\n
Click on the Motion tab of the Command Panel. Click the button labeled None below Pick Shape: in the SplineIK Solver section and select the Line you created in the previous step. The button of the label with change into Line01.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/18.gif" /></p>\n
<p><strong>Step 15</strong>\n
Select the Line and switch to Vertex sub-object level. Select one of the vertexes of the line and move it around. If you followed all steps correctly, the chain should now take the shape of the Line.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/19.gif" /></p>\n
<p><strong>Step 16</strong>\n
To allow the chain to take a more realistic shape, we need to change the vertexes from ‘corner’ to ‘smooth’. While you still have that vertex selected from the previous step, press CTRL-A on your keyboard to select all the vertexes in the Line. Right-click in the viewport and select smooth as shown in the following picture:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/20.gif" /></p>\n
<p>The Line as well as the chain will now take a more curved shape. Move around some of the other vertexes and see what the results are. If the links do line up on certain corners, you can change the corresponding vertex to Bezier, which gives you some extra control. Instead of using an SplineIK Solver, you can also use a more simple HI Solver for example (in step 12), but by using the additional Line shape to control the IK Chain ‘and’ the chain object you can easily pose the chain as needed. For example, place a necklace around a model’s neck, or slightly hanging between two poles. The more links you add, and the more vertexes you add to the control spline, the more granular your control over the chain will become.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/21.gif" /></p>\n
<p>Assign a metal or paint material to it and you got yourself a lifelike chain. Instead of creating a chain link based on a Rectangle shape, try one of the other shapes (e.g. Circle, Donut, Ellipse, Helix, Star) or create your own original chain link by drawing a complex Line shape.</p>\n
<p>I hope you enjoyed this tutorial and that it contributed something to your 3D Studio Max modeling skills.</p>
"""
]
[]
/home
/jhiemstraxartec
/public_html
/test
/vendor
/twig
/twig
/src
/Environment.php
@trigger_error(sprintf('The %s method is deprecated since version 1.22 and will be removed in Twig 2.0.', __METHOD__), E_USER_DEPRECATED);
return $this->templateClassPrefix;
}
/**
* Renders a template.
*
* @param string|TemplateWrapper $name The template name
* @param array $context An array of parameters to pass to the template
*
* @return string The rendered template
*
* @throws LoaderError When the template cannot be found
* @throws SyntaxError When an error occurred during compilation
* @throws RuntimeError When an error occurred during rendering
*/
public function render($name, array $context = [])
{
return $this->load($name)->render($context);
}
/**
* Displays a template.
*
* @param string|TemplateWrapper $name The template name
* @param array $context An array of parameters to pass to the template
*
* @throws LoaderError When the template cannot be found
* @throws SyntaxError When an error occurred during compilation
* @throws RuntimeError When an error occurred during rendering
*/
public function display($name, array $context = [])
{
$this->load($name)->display($context);
}
/**
* Loads a template.
*
Arguments
array:28 [
"config" => Config {}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {}
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<p>In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/samplechain.jpg" /></p>\n
<p>Modeling and ‘posing’ 3D chains may seem like a tedious job, but actually can be done rather easily by using the Array Tool and treating the links in the chain as bones. In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
<p><strong>Step 1</strong>\n
We are going to start with modeling a single link from the chain. Click the Shapes button on the Command Panel, click the Rectangle button, and then draw a rectangle as shown in the picture below. Don’t worry about the exact size yet.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/1.gif" /></p>\n
<p><strong>Step 2</strong>\n
Click on the Modify tab of the Command Panel, and change the Length and Width values below the Parameters section to 1 cm and 3 cm respectively:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/2.gif" /></p>\n
<p><strong>Step 3</strong>\n
Press the Zoom Extents Select button at the right bottom of your screen:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/3.gif" /></p>\n
<p><strong>Step 4</strong>\n
Set the Corner Radius setting to 0.35cm</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/4.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/5.gif" /></p>\n
<p><strong>Step 5</strong>\n
Click on the Rendering section to open it, enable the Enable In Renderer option and the Enable In Viewport option. Set the Thickness value to: 0.4cm.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/6.gif" /></p>\n
<p><strong>Step 6</strong>\n
Click the Hierarchy tab of the Command Panel, and click the Affect Pivot Only button. Move the Pivot to the right to the location shown in the picture below:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/7.gif" /></p>\n
<p>Click the Affect Pivot Only button again to disable it.</p>\n
<p><strong>Step 7</strong>\n
Unless you're using a huge screen, zoom out a bit you so can what you're doing during the next step. Select Array… from the Tools menu:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/9.gif" /></p>\n
<p><strong>Step 8</strong>\n
Change the Incremental Move X value to -2.54cm and the Incremental Rotate X value to 90. Set the Count value for 1D to 10 and click on the Preview button. If the results look like below, press the OK button.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/10.gif" /></p>\n
<p>If you are going to use textures for the links, you should create at least 3 to 5 different versions depending on the length of the chain, and rotate and mirror the individual links to avoid repetition in the textures.</p>\n
<p>Now we have a straight chain with only 10 links. While we could have picked a higher number for the Count value in the Array tool, using less will actually save us some work during the next step, and allows you to add some extra variation by rotating the links. The next step is ‘linking the links’.</p>\n
<p><strong>Step 9</strong>\n
Click the Select and Link button on the main toolbar:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/11.gif" /></p>\n
<p>Select the last chain link, on the left of the chain, and drag the mouse pointer to the next chain link. If you do it correctly, the chain link to which you link the other chain link will flash white for a split second. Repeat this process for all chains links</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/12.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/sal.gif" /></p>\n
<p><strong>Step 10</strong>\n
Select all the chain links, hold down the Shift key and drag the links to the left as shown in the following picture. When the Clone Options dialog box appears, choose the option Reference.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/13.gif" /></p>\n
<p><strong>Step 11</strong>\n
Click the Select and Link button again and link the center two chain links (from left to right as we did earlier. In other words, link the chain link left from the center of the chain, to the chain link right from the center of the chain. Make sure you deselect the 20 chain links you just cloned.) To create a longer chain, you can simply repeat this process, e.g. select all 20 chain links, clone them, and then link the center chain links again. You can make the chain as long as you want, as long as the chain links are linked in one direction. I repeated these steps again, ending up with chain of 40 links.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/14.gif" /></p>\n
<p><strong>Step 12</strong>\n
Select the first chain link on the left of the chain. Choose SplineIK Solver from the IK Solver submenu from the Animation menu.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/15.gif" /></p>\n
<p>The mouse cursor will change to a + sign, showing a trail back to the chain link you selected. Now click on the chain link at the other end of the chain. Two blue lines are added of which one goes all the way through the model, as shown in the following picture. This is called an IK Chain.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/16.gif" /></p>\n
<p><strong>Step 13</strong>\n
Click the Shapes button on the Create tab of the Command Panel. Click the Line button and draw a straight line directly above the chain, of approximately the same size as the chain. Make sure you draw it from right to left, and click 5 times along the way to add some vertexes to the line. Disable the Enable In Renderer option and the Enable In Viewport option.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/17.gif" /></p>\n
<p><strong>Step 14</strong>\n
Click on the Motion tab of the Command Panel. Click the button labeled None below Pick Shape: in the SplineIK Solver section and select the Line you created in the previous step. The button of the label with change into Line01.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/18.gif" /></p>\n
<p><strong>Step 15</strong>\n
Select the Line and switch to Vertex sub-object level. Select one of the vertexes of the line and move it around. If you followed all steps correctly, the chain should now take the shape of the Line.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/19.gif" /></p>\n
<p><strong>Step 16</strong>\n
To allow the chain to take a more realistic shape, we need to change the vertexes from ‘corner’ to ‘smooth’. While you still have that vertex selected from the previous step, press CTRL-A on your keyboard to select all the vertexes in the Line. Right-click in the viewport and select smooth as shown in the following picture:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/20.gif" /></p>\n
<p>The Line as well as the chain will now take a more curved shape. Move around some of the other vertexes and see what the results are. If the links do line up on certain corners, you can change the corresponding vertex to Bezier, which gives you some extra control. Instead of using an SplineIK Solver, you can also use a more simple HI Solver for example (in step 12), but by using the additional Line shape to control the IK Chain ‘and’ the chain object you can easily pose the chain as needed. For example, place a necklace around a model’s neck, or slightly hanging between two poles. The more links you add, and the more vertexes you add to the control spline, the more granular your control over the chain will become.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/21.gif" /></p>\n
<p>Assign a metal or paint material to it and you got yourself a lifelike chain. Instead of creating a chain link based on a Rectangle shape, try one of the other shapes (e.g. Circle, Donut, Ellipse, Helix, Star) or create your own original chain link by drawing a complex Line shape.</p>\n
<p>I hope you enjoyed this tutorial and that it contributed something to your 3D Studio Max modeling skills.</p>
"""
]
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Twig
/Twig.php
$ext = '.' . ($format ?: 'html') . TWIG_EXT;
// determine if params are set, if so disable twig cache
$params = $this->grav['uri']->params(null, true);
if (!empty($params)) {
$this->twig->setCache(false);
}
// Get Twig template layout
$template = $this->template($page->template() . $ext);
try {
$output = $this->twig->render($template, $vars + $twig_vars);
} catch (\Twig_Error_Loader $e) {
$error_msg = $e->getMessage();
// Try html version of this template if initial template was NOT html
if ($ext !== '.html' . TWIG_EXT) {
try {
$page->templateFormat('html');
$output = $this->twig->render($page->template() . '.html' . TWIG_EXT, $vars + $twig_vars);
} catch (\Twig_Error_Loader $e) {
throw new \RuntimeException($error_msg, 400, $e);
}
} else {
throw new \RuntimeException($error_msg, 400, $e);
}
}
return $output;
}
/**
* Wraps the Twig_Loader_Filesystem addPath method (should be used only in `onTwigLoader()` event
* @param string $template_path
* @param string $namespace
*/
public function addPath($template_path, $namespace = '__main__')
{
$this->loader->addPath($template_path, $namespace);
}
Arguments
"tutorialfull.html.twig"
array:28 [
"config" => Config {}
"system" => array:27 [
"absolute_urls" => false
"timezone" => ""
"default_locale" => null
"param_sep" => ":"
"wrapped_site" => false
"reverse_proxy_setup" => false
"force_ssl" => false
"force_lowercase_urls" => true
"custom_base_url" => "http://www.3dvalley.com"
"username_regex" => "^[a-z0-9_-]{3,16}$"
"pwd_regex" => "(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}"
"intl_enabled" => true
"languages" => array:9 [
"supported" => []
"default_lang" => null
"include_default_lang" => true
"pages_fallback_only" => false
"translations" => true
"translations_fallback" => true
"session_store_active" => false
"http_accept_language" => false
"override_locale" => false
]
"home" => array:2 [
"alias" => "/home"
"hide_in_urls" => false
]
"pages" => array:26 [
"theme" => "minimaxing"
"order" => array:2 [
"by" => "default"
"dir" => "asc"
]
"list" => array:1 [
"count" => 20
]
"dateformat" => array:3 [
"default" => null
"short" => "jS M Y"
"long" => "F jS \a\t g:ia"
]
"publish_dates" => true
"process" => array:2 [
"markdown" => true
"twig" => false
]
"twig_first" => false
"never_cache_twig" => false
"events" => array:2 [
"page" => true
"twig" => true
]
"markdown" => array:5 [
"extra" => true
"auto_line_breaks" => false
"auto_url_links" => false
"escape_markup" => false
"special_chars" => array:2 [
">" => "gt"
"<" => "lt"
]
]
"types" => array:7 [
0 => "txt"
1 => "xml"
2 => "html"
3 => "htm"
4 => "json"
5 => "rss"
6 => "atom"
]
"append_url_extension" => ""
"expires" => 604800
"cache_control" => null
"last_modified" => false
"etag" => true
"vary_accept_encoding" => false
"redirect_default_route" => false
"redirect_default_code" => "301"
"redirect_trailing_slash" => true
"ignore_files" => array:1 [
0 => ".DS_Store"
]
"ignore_folders" => array:2 [
0 => ".git"
1 => ".idea"
]
"ignore_hidden" => true
"hide_empty_folders" => false
"url_taxonomy_filters" => true
"frontmatter" => array:2 [
"process_twig" => false
"ignore_fields" => array:2 [
0 => "form"
1 => "forms"
]
]
]
"cache" => array:13 [
"enabled" => true
"check" => array:1 [
"method" => "file"
]
"driver" => "apcu"
"prefix" => "g"
"purge_at" => "0 4 * * *"
"clear_at" => "0 3 * * *"
"clear_job_type" => "standard"
"clear_images_by_default" => true
"cli_compatibility" => false
"lifetime" => 604800
"gzip" => true
"allow_webserver_gzip" => false
"redis" => array:1 [
"socket" => false
]
]
"twig" => array:7 [
"cache" => true
"debug" => true
"auto_reload" => true
"autoescape" => false
"undefined_functions" => true
"undefined_filters" => true
"umask_fix" => false
]
"assets" => array:12 [
"css_pipeline" => true
"css_pipeline_include_externals" => true
"css_pipeline_before_excludes" => true
"css_minify" => true
"css_minify_windows" => false
"css_rewrite" => true
"js_pipeline" => true
"js_pipeline_include_externals" => true
"js_pipeline_before_excludes" => true
"js_minify" => true
"enable_asset_timestamp" => false
"collections" => array:1 [
"jquery" => "system://assets/jquery/jquery-2.x.min.js"
]
]
"errors" => array:2 [
"display" => 1
"log" => true
]
"log" => array:2 [
"handler" => "file"
"syslog" => array:1 [
"facility" => "local6"
]
]
"debugger" => array:3 [
"enabled" => false
"shutdown" => array:1 [
"close_connection" => true
]
"twig" => true
]
"images" => array:6 [
"default_image_quality" => 85
"cache_all" => false
"cache_perms" => "0755"
"debug" => false
"auto_fix_orientation" => false
"seofriendly" => false
]
"media" => array:5 [
"enable_media_timestamp" => false
"unsupported_inline_types" => []
"allowed_fallback_types" => []
"auto_metadata_exif" => false
"upload_limit" => 33554432
]
"session" => array:9 [
"enabled" => true
"initialize" => true
"timeout" => 1800
"name" => "grav-site"
"uniqueness" => "path"
"secure" => false
"httponly" => true
"split" => true
"path" => "/"
]
"gpm" => array:5 [
"releases" => "stable"
"proxy_url" => null
"method" => "auto"
"verify_peer" => true
"official_gpm_only" => true
]
"accounts" => array:2 [
"type" => "data"
"storage" => "file"
]
"strict_mode" => array:2 [
"yaml_compat" => true
"twig_compat" => true
]
]
"theme" => array:2 [
"enabled" => true
"dropdown" => array:1 [
"enabled" => false
]
]
"site" => array:14 [
"title" => "3Dvalley"
"default_lang" => "en"
"author" => array:2 [
"name" => "Admin"
"email" => "webmaster@3dvalley.com"
]
"taxonomies" => array:2 [
0 => "category"
1 => "tag"
]
"metadata" => array:1 [
"description" => "Free 3D models and textures"
]
"summary" => array:4 [
"enabled" => true
"format" => "short"
"size" => 300
"delimiter" => "==="
]
"redirects" => array:12 [
"/tutorials/3d-studio-max-hotkeys-and-mouse-essentials" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials "
"/tutorials/3d-studio-max-tutorial-modeling-a-plunger" => "/tutorials/modeling-a-plunger-in-3d-studio-max"
"/tutorials/modeling-a-brake-rotor" => "/tutorials/modeling-brake-rotor-in-3d-studio-max"
"/models" => "/3d-models"
"/free-textures" => "/textures"
"/textures.shtml" => "/textures"
"/tutorials/rendering-objects-in-a-solidwire-mix" => "/tutorials/rendering-wip-images-in-3d-studio-max"
"/tutorials/modeling-a-highly-detailed-basketball-in-3d-studio-max" => "/tutorials/modeling-a-highly-detailed-basketball-in-3ds-max/"
"/models.shtml" => "/3d-models"
"/c/tutorials" => "/tutorials"
"/models/models_household.shtml" => "/3d-models/household"
"/downloadables/3DStudioMAX-hotkeys.pdf" => "/tutorials/threed-studio-max-hotkeys-and-mouse-essentials"
]
"routes" => null
"blog" => array:1 [
"route" => "/blog"
]
"header" => array:2 [
"title" => "I'm Jonathan Doe."
"description" => "I'm a Manila based <span>graphic designer</span>, <span>illustrator</span> and <span>webdesigner</span> creating awesome and effective visual identities for companies of all sizes around the globe. Let's <a class="smoothscroll" href="#about">start scrolling</a> and learn more <a class="smoothscroll" href="#about">about me</a>."
]
"copyright" => array:2 [
0 => array:1 [
"line" => "Copyright 2014 CeeVee"
]
1 => array:1 [
"line" => "Design by <a title="Styleshout" href="http://www.styleshout.com/">Styleshout</a>"
]
]
"social" => array:7 [
0 => array:2 [
"url" => "#"
"icon" => "facebook"
]
1 => array:2 [
"url" => "#"
"icon" => "twitter"
]
2 => array:2 [
"url" => "#"
"icon" => "google-plus"
]
3 => array:2 [
"url" => "#"
"icon" => "linkedin"
]
4 => array:2 [
"url" => "#"
"icon" => "instagram"
]
5 => array:2 [
"url" => "#"
"icon" => "dribbble"
]
6 => array:2 [
"url" => "#"
"icon" => "skype"
]
]
"twitter" => array:7 [
"id" => "657554810648948736"
"domId" => "tw-widget1"
"maxTweets" => 3
"enableLinks" => "true"
"showInteraction" => "false"
"showImages" => "false"
"showUser" => "false"
]
"acxtest" => "TEST"
]
"uri" => Uri {}
"assets" => Assets {}
"taxonomy" => Taxonomy {}
"browser" => Browser {}
"base_dir" => "/home/jhiemstraxartec/public_html/test"
"home_url" => "/"
"base_url" => ""
"base_url_absolute" => "http://www.3dvalley.com"
"base_url_relative" => ""
"base_url_simple" => ""
"theme_dir" => "/home/jhiemstraxartec/public_html/test/user/themes/minimaxing"
"theme_url" => "/user/themes/minimaxing"
"html_lang" => "en"
"language_codes" => LanguageCodes {}
"json" => "</script><script>"
"myvar" => "</script><script>"
"form" => null
"form_max_filesize" => 32
"form_json_response" => []
"pages" => Page {}
"page" => Page {}
"header" => {}
"media" => Media {}
"content" => """
<p>In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/samplechain.jpg" /></p>\n
<p>Modeling and ‘posing’ 3D chains may seem like a tedious job, but actually can be done rather easily by using the Array Tool and treating the links in the chain as bones. In this tutorial, I will show you how you can model a chain, rig it in a couple of simple steps. This allows you to pose and animate the chain in an efficient manner. This tutorial is aimed at the beginner and every step is outlined and displayed in detail, but does assume some basic knowledge of 3D Studio Max.</p>\n
<p><strong>Step 1</strong>\n
We are going to start with modeling a single link from the chain. Click the Shapes button on the Command Panel, click the Rectangle button, and then draw a rectangle as shown in the picture below. Don’t worry about the exact size yet.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/1.gif" /></p>\n
<p><strong>Step 2</strong>\n
Click on the Modify tab of the Command Panel, and change the Length and Width values below the Parameters section to 1 cm and 3 cm respectively:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/2.gif" /></p>\n
<p><strong>Step 3</strong>\n
Press the Zoom Extents Select button at the right bottom of your screen:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/3.gif" /></p>\n
<p><strong>Step 4</strong>\n
Set the Corner Radius setting to 0.35cm</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/4.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/5.gif" /></p>\n
<p><strong>Step 5</strong>\n
Click on the Rendering section to open it, enable the Enable In Renderer option and the Enable In Viewport option. Set the Thickness value to: 0.4cm.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/6.gif" /></p>\n
<p><strong>Step 6</strong>\n
Click the Hierarchy tab of the Command Panel, and click the Affect Pivot Only button. Move the Pivot to the right to the location shown in the picture below:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/7.gif" /></p>\n
<p>Click the Affect Pivot Only button again to disable it.</p>\n
<p><strong>Step 7</strong>\n
Unless you're using a huge screen, zoom out a bit you so can what you're doing during the next step. Select Array… from the Tools menu:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/9.gif" /></p>\n
<p><strong>Step 8</strong>\n
Change the Incremental Move X value to -2.54cm and the Incremental Rotate X value to 90. Set the Count value for 1D to 10 and click on the Preview button. If the results look like below, press the OK button.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/10.gif" /></p>\n
<p>If you are going to use textures for the links, you should create at least 3 to 5 different versions depending on the length of the chain, and rotate and mirror the individual links to avoid repetition in the textures.</p>\n
<p>Now we have a straight chain with only 10 links. While we could have picked a higher number for the Count value in the Array tool, using less will actually save us some work during the next step, and allows you to add some extra variation by rotating the links. The next step is ‘linking the links’.</p>\n
<p><strong>Step 9</strong>\n
Click the Select and Link button on the main toolbar:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/11.gif" /></p>\n
<p>Select the last chain link, on the left of the chain, and drag the mouse pointer to the next chain link. If you do it correctly, the chain link to which you link the other chain link will flash white for a split second. Repeat this process for all chains links</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/12.gif" /></p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/sal.gif" /></p>\n
<p><strong>Step 10</strong>\n
Select all the chain links, hold down the Shift key and drag the links to the left as shown in the following picture. When the Clone Options dialog box appears, choose the option Reference.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/13.gif" /></p>\n
<p><strong>Step 11</strong>\n
Click the Select and Link button again and link the center two chain links (from left to right as we did earlier. In other words, link the chain link left from the center of the chain, to the chain link right from the center of the chain. Make sure you deselect the 20 chain links you just cloned.) To create a longer chain, you can simply repeat this process, e.g. select all 20 chain links, clone them, and then link the center chain links again. You can make the chain as long as you want, as long as the chain links are linked in one direction. I repeated these steps again, ending up with chain of 40 links.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/14.gif" /></p>\n
<p><strong>Step 12</strong>\n
Select the first chain link on the left of the chain. Choose SplineIK Solver from the IK Solver submenu from the Animation menu.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/15.gif" /></p>\n
<p>The mouse cursor will change to a + sign, showing a trail back to the chain link you selected. Now click on the chain link at the other end of the chain. Two blue lines are added of which one goes all the way through the model, as shown in the following picture. This is called an IK Chain.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/16.gif" /></p>\n
<p><strong>Step 13</strong>\n
Click the Shapes button on the Create tab of the Command Panel. Click the Line button and draw a straight line directly above the chain, of approximately the same size as the chain. Make sure you draw it from right to left, and click 5 times along the way to add some vertexes to the line. Disable the Enable In Renderer option and the Enable In Viewport option.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/17.gif" /></p>\n
<p><strong>Step 14</strong>\n
Click on the Motion tab of the Command Panel. Click the button labeled None below Pick Shape: in the SplineIK Solver section and select the Line you created in the previous step. The button of the label with change into Line01.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/18.gif" /></p>\n
<p><strong>Step 15</strong>\n
Select the Line and switch to Vertex sub-object level. Select one of the vertexes of the line and move it around. If you followed all steps correctly, the chain should now take the shape of the Line.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/19.gif" /></p>\n
<p><strong>Step 16</strong>\n
To allow the chain to take a more realistic shape, we need to change the vertexes from ‘corner’ to ‘smooth’. While you still have that vertex selected from the previous step, press CTRL-A on your keyboard to select all the vertexes in the Line. Right-click in the viewport and select smooth as shown in the following picture:</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/20.gif" /></p>\n
<p>The Line as well as the chain will now take a more curved shape. Move around some of the other vertexes and see what the results are. If the links do line up on certain corners, you can change the corresponding vertex to Bezier, which gives you some extra control. Instead of using an SplineIK Solver, you can also use a more simple HI Solver for example (in step 12), but by using the additional Line shape to control the IK Chain ‘and’ the chain object you can easily pose the chain as needed. For example, place a necklace around a model’s neck, or slightly hanging between two poles. The more links you add, and the more vertexes you add to the control spline, the more granular your control over the chain will become.</p>\n
<p><img alt="" src="/user/pages/04.tutorials/modeling-and-posing-chains-in-3d-studio-max/21.gif" /></p>\n
<p>Assign a metal or paint material to it and you got yourself a lifelike chain. Instead of creating a chain link based on a Rectangle shape, try one of the other shapes (e.g. Circle, Donut, Ellipse, Helix, Star) or create your own original chain link by drawing a complex Line shape.</p>\n
<p>I hope you enjoyed this tutorial and that it contributed something to your 3D Studio Max modeling skills.</p>
"""
]
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Service
/OutputServiceProvider.php
namespace Grav\Common\Service;
use Grav\Common\Page\Interfaces\PageInterface;
use Grav\Common\Twig\Twig;
use Pimple\Container;
use Pimple\ServiceProviderInterface;
class OutputServiceProvider implements ServiceProviderInterface
{
public function register(Container $container)
{
$container['output'] = function ($c) {
/** @var Twig $twig */
$twig = $c['twig'];
/** @var PageInterface $page */
$page = $c['page'];
return $twig->processSite($page->templateFormat());
};
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/vendor
/pimple
/pimple
/src
/Pimple
/Container.php
{
if (!isset($this->keys[$id])) {
throw new UnknownIdentifierException($id);
}
if (
isset($this->raw[$id])
|| !\is_object($this->values[$id])
|| isset($this->protected[$this->values[$id]])
|| !\method_exists($this->values[$id], '__invoke')
) {
return $this->values[$id];
}
if (isset($this->factories[$this->values[$id]])) {
return $this->values[$id]($this);
}
$raw = $this->values[$id];
$val = $this->values[$id] = $raw($this);
$this->raw[$id] = $raw;
$this->frozen[$id] = true;
return $val;
}
/**
* Checks if a parameter or an object is set.
*
* @param string $id The unique identifier for the parameter or object
*
* @return bool
*/
public function offsetExists($id)
{
return isset($this->keys[$id]);
}
/**
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Processors
/RenderProcessor.php
namespace Grav\Common\Processors;
use Grav\Common\Page\Interfaces\PageInterface;
use Grav\Framework\Psr7\Response;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class RenderProcessor extends ProcessorBase
{
public $id = 'render';
public $title = 'Render';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
$container = $this->container;
$output = $container['output'];
if ($output instanceof ResponseInterface) {
return $output;
}
ob_start();
// Use internal Grav output.
$container->output = $output;
$container->fireEvent('onOutputGenerated');
echo $container->output;
// remove any output
$container->output = '';
$this->container->fireEvent('onOutputRendered');
$html = ob_get_clean();
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {}
RequestHandler {}
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Processors
/DebuggerAssetsProcessor.php
namespace Grav\Common\Processors;
use Grav\Framework\Psr7\Response;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class DebuggerAssetsProcessor extends ProcessorBase
{
public $id = 'debugger_assets';
public $title = 'Debugger Assets';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
$this->container['debugger']->addAssets();
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {}
RequestHandler {}
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Processors
/PagesProcessor.php
$this->addMessage("Routed to page {$page->rawRoute()} (type: {$page->template()}) [Not Found fallback]");
} else {
$this->addMessage("Routed to page {$page->rawRoute()} (type: {$page->template()})");
$task = $this->container['task'];
$action = $this->container['action'];
if ($task) {
$event = new Event(['task' => $task, 'page' => $page]);
$this->container->fireEvent('onPageTask', $event);
$this->container->fireEvent('onPageTask.' . $task, $event);
} elseif ($action) {
$event = new Event(['action' => $action, 'page' => $page]);
$this->container->fireEvent('onPageAction', $event);
$this->container->fireEvent('onPageAction.' . $action, $event);
}
}
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {}
RequestHandler {}
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Processors
/TwigProcessor.php
*/
namespace Grav\Common\Processors;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class TwigProcessor extends ProcessorBase
{
public $id = 'twig';
public $title = 'Twig';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
$this->container['twig']->init();
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {}
RequestHandler {}
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Processors
/AssetsProcessor.php
namespace Grav\Common\Processors;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class AssetsProcessor extends ProcessorBase
{
public $id = '_assets';
public $title = 'Assets';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
$this->container['assets']->init();
$this->container->fireEvent('onAssetsInitialized');
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {}
RequestHandler {}
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Processors
/SchedulerProcessor.php
namespace Grav\Common\Processors;
use RocketTheme\Toolbox\Event\Event;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class SchedulerProcessor extends ProcessorBase
{
public $id = '_scheduler';
public $title = 'Scheduler';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
$scheduler = $this->container['scheduler'];
$this->container->fireEvent('onSchedulerInitialized', new Event(['scheduler' => $scheduler]));
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {}
RequestHandler {}
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Processors
/BackupsProcessor.php
namespace Grav\Common\Processors;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class BackupsProcessor extends ProcessorBase
{
public $id = '_backups';
public $title = 'Backups';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
$backups = $this->container['backups'];
$backups->init();
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {}
RequestHandler {}
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Processors
/TasksProcessor.php
}
$this->stopTimer();
return $response;
} catch (NotFoundException $e) {
// Task not found: Let it pass through.
}
}
if ($task) {
$this->container->fireEvent('onTask.' . $task);
} elseif ($action) {
$this->container->fireEvent('onAction.' . $action);
}
}
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {}
RequestHandler {}
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Processors
/RequestProcessor.php
$uri = $request->getUri();
$ext = mb_strtolower(pathinfo($uri->getPath(), PATHINFO_EXTENSION));
$request = $request
->withAttribute('grav', $this->container)
->withAttribute('time', $_SERVER['REQUEST_TIME_FLOAT'] ?? GRAV_REQUEST_TIME)
->withAttribute('route', Uri::getCurrentRoute()->withExtension($ext))
->withAttribute('referrer', $this->container['uri']->referrer());
$event = new RequestHandlerEvent(['request' => $request, 'handler' => $handler]);
/** @var RequestHandlerEvent $event */
$event = $this->container->fireEvent('onRequestHandlerInit', $event);
$response = $event->getResponse();
$this->stopTimer();
if ($response) {
return $response;
}
return $handler->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {}
RequestHandler {}
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Processors
/ThemesProcessor.php
*/
namespace Grav\Common\Processors;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class ThemesProcessor extends ProcessorBase
{
public $id = 'themes';
public $title = 'Themes';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
$this->container['themes']->init();
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {}
RequestHandler {}
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Processors
/PluginsProcessor.php
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class PluginsProcessor extends ProcessorBase
{
public $id = 'plugins';
public $title = 'Plugins';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
// TODO: remove in 2.0.
$this->container['accounts'];
$this->container['plugins']->init();
$this->container->fireEvent('onPluginsInitialized');
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {}
RequestHandler {}
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Processors
/InitializeProcessor.php
}
/** @var Uri $uri */
$uri = $this->container['uri'];
$uri->init();
// Redirect pages with trailing slash if configured to do so.
$path = $uri->path() ?: '/';
if ($path !== '/'
&& $config->get('system.pages.redirect_trailing_slash', false)
&& Utils::endsWith($path, '/')) {
$redirect = (string) $uri::getCurrentRoute()->toString();
$this->container->redirect($redirect);
}
$this->container->setLocale();
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {}
RequestHandler {}
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Processors
/DebuggerProcessor.php
*/
namespace Grav\Common\Processors;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class DebuggerProcessor extends ProcessorBase
{
public $id = '_debugger';
public $title = 'Init Debugger';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
$this->container['debugger']->init();
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {}
RequestHandler {}
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Processors
/ErrorsProcessor.php
*/
namespace Grav\Common\Processors;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class ErrorsProcessor extends ProcessorBase
{
public $id = '_errors';
public $title = 'Error Handlers Reset';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
$this->container['errors']->resetHandlers();
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {}
RequestHandler {}
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Processors
/LoggerProcessor.php
/** @var Config $config */
$config = $grav['config'];
switch ($config->get('system.log.handler', 'file')) {
case 'syslog':
$log = $grav['log'];
$log->popHandler();
$facility = $config->get('system.log.syslog.facility', 'local6');
$logHandler = new SyslogHandler('grav', $facility);
$formatter = new LineFormatter("%channel%.%level_name%: %message% %extra%");
$logHandler->setFormatter($formatter);
$log->pushHandler($logHandler);
break;
}
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {}
RequestHandler {}
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Processors
/ConfigurationProcessor.php
namespace Grav\Common\Processors;
use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface;
use Psr\Http\Server\RequestHandlerInterface;
class ConfigurationProcessor extends ProcessorBase
{
public $id = '_config';
public $title = 'Configuration';
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler) : ResponseInterface
{
$this->startTimer();
$this->container['config']->init();
$this->container['plugins']->setup();
$this->stopTimer();
return $handler->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
private $handler;
/** @var ContainerInterface|null */
private $container;
/**
* {@inheritdoc}
* @throws InvalidArgumentException
*/
public function handle(ServerRequestInterface $request): ResponseInterface
{
$middleware = array_shift($this->middleware);
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
ServerRequest {}
RequestHandler {}
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Framework
/RequestHandler
/Traits
/RequestHandlerTrait.php
// Use default callable if there is no middleware.
if ($middleware === null) {
return \call_user_func($this->handler, $request);
}
if ($middleware instanceof MiddlewareInterface) {
return $middleware->process($request, clone $this);
}
if (null === $this->container || !$this->container->has($middleware)) {
throw new InvalidArgumentException(
sprintf('The middleware is not a valid %s and is not passed in the Container', MiddlewareInterface::class),
$middleware
);
}
array_unshift($this->middleware, $this->container->get($middleware));
return $this->handle($request);
}
}
Arguments
/home
/jhiemstraxartec
/public_html
/test
/system
/src
/Grav
/Common
/Grav.php
},
'debuggerAssetsProcessor' => function () {
return new DebuggerAssetsProcessor($this);
},
'renderProcessor' => function () {
return new RenderProcessor($this);
},
]
);
$default = function (ServerRequestInterface $request) {
return new Response(404);
};
/** @var Debugger $debugger */
$debugger = $this['debugger'];
$collection = new RequestHandler($this->middleware, $default, $container);
$response = $collection->handle($this['request']);
$this->header($response);
echo $response->getBody();
$debugger->render();
register_shutdown_function([$this, 'shutdown']);
}
/**
* Set the system locale based on the language and configuration
*/
public function setLocale()
{
// Initialize Locale if set and configured.
if ($this['language']->enabled() && $this['config']->get('system.languages.override_locale')) {
$language = $this['language']->getLanguage();
setlocale(LC_ALL, \strlen($language) < 3 ? ($language . '_' . strtoupper($language)) : $language);
} elseif ($this['config']->get('system.default_locale')) {
setlocale(LC_ALL, $this['config']->get('system.default_locale'));
Arguments
/home
/jhiemstraxartec
/public_html
/test
/index.php
// Set timezone to default, falls back to system if php.ini not set
date_default_timezone_set(@date_default_timezone_get());
// Set internal encoding if mbstring loaded
if (!\extension_loaded('mbstring')) {
die("'mbstring' extension is not loaded. This is required for Grav to run correctly");
}
mb_internal_encoding('UTF-8');
// Get the Grav instance
$grav = Grav::instance(
array(
'loader' => $loader
)
);
// Process the page
try {
$grav->process();
} catch (\Error $e) {
$grav->fireEvent('onFatalException', new Event(array('exception' => $e)));
throw $e;
} catch (\Exception $e) {
$grav->fireEvent('onFatalException', new Event(array('exception' => $e)));
throw $e;
}