понедельник, 31 мая 2010 г.

Ambient Occlusion in Mental Ray


Ambient Occlusion - быстрый и простой метод симулировать эффект глобального освещения. Occlusion (окклюзия или преграда) - мера того, насколько окружающее пространство вокруг точки, занято геометрией. Определяется это за счет испускания некоторого количества пробных лучей по полусфере вокруг точки, а затем анализа расстояния до блокирующего объекта. На основе этой информации строится карта затемнения точки. При этом необходимо чтобы был включен механизм трассировки лучей - RayTracing.

пятница, 28 мая 2010 г.

mia_materials - Fundamentals - Part 2


Часть 2. Характеристики материала 
"Модель" шейдера.

The mia_material shading model
Модель шейдера состоит из трех компонентов:
  • Диффузия (Diffuse) – диффузный канал (в том числе и «шероховатость» по Oren Nayar)
  • Отражение (Reflections) – глянцевое анизотропное отражение (и блики)
  • Преломление (Refractions) – глянцевое анизотропное преломление (и translucency-просвечиваемость)
Прямое и отраженное освещения вызывают диффузное рассеяние (diffuse reflections), так же как и эффекты просвечиваемости (translucency effects). Прямые источники света являются причиной возникновения «свечения» или бликов ("highlights" или specular highlights).

mia_materials - Fundamentals - Part 1

Mental Ray
Архитектурные материлы на основе шейдера mia_material и mia_material_x.



Что такое mia_material?
Mental Ray mia_material – монолитный шейдер-материал (шейдер - программой построения теней), разработанный специально для создания большинства материалов используемых в архитектурном дизайне. Он позволяет создавать практически все твердотельные материалы, такие как метал, дерево и стекло. Разработанный специально для быстрого просчета глянцевого рассеяния и преломления (fast glossy reflections and refractions), заменяет DGS материал, а также для создания высоко качественного стекла (заменяет диэлектрический материал - dielectric material).

вторник, 25 мая 2010 г.

Introduction to Scripting with Unity3D Part 2

        Продолжим изучение скриптов в Unity3D.
Variables - переменные, блоки информации, хранящиеся в памяти. static public var myIncideVariable. Начинаются с маленьких букв.
Function - блоки кода, которые можно использовать множество раз. function MyFirstHappyFunction(){}. Начинаются с заглавных букв.
Classes - коллекции функций. ContainerForMyFirstHappyFunction.js. Начинаются c заглавных букв.

суббота, 22 мая 2010 г.

Creating Grass Field with Mental Ray Proxy

               Здесь я бы хотел рассказать о методе создания травы в Maya.
Proxy Objects - заменяемые объекты. В данном случае имеется ввиду заменяемые объекты во время рэндеринга т.е. программа визуализации загружает внешние объекты (не находящиеся в сцене) и заменяет ими заданные. В большинстве случаев это необходимо когда в сцене много массивных (в смысле многополигональных) объектов, которые сильно грузят память. При этом память загружается только во время рэндеринга и не происходит конвертации, пересчета кода модели-объекта в понятный для визуализатора вид, так как он производиться уже заранее при сохранении Proxy объекта. Возможность создавать Proxy объекты известна уже давно, но только начиная с версии Мауа 2009, создание их перенесено в свойства формы объекта (objectNameShape, к примеру pCubeShape), где находятся только все, так сказать, внутренние характеристики объекта.

среда, 19 мая 2010 г.

Introduction to Scripting with Unity3D Part 1

Unity3D поддерживает 3 языка программирования: JavaScript, C# и Boo Script основанный на синтаксисе Python. Все эти программные языки могут быть одновременно интерпретируемы компилятором Unity, который помимо этого имеет свой встроенный редактор кода. Неважно какой синтаксис программирования вы выберите все они позволяют работать с базами данных, XML (eXtensible Markup Language) и трансферами через интернет.

Unity3D - SkyBox

Также весьма полезно будет знать как создавать НЕБО - SKYBOX
Здесь возможны два варианта:

Basic Interface Unity3D


Скачать пакет Unity3D можно с официального сайта разработчиков. Там вам предложат две версии для iPhone и для Windows. iPhone версия - пробная, сроком на 30 дней. Windows версия Standart - бесплатная, необходима только регистрация после установки; Pro версия - пробная, сроком на 30 дней. Скачиваем Standart. Устанавливаем. Запускаем, переходим на сайт, вводим свой мэйл, регистрируемся и радуемся).
Интерфейс программы крайне прост и если вы изучали до этого любую 3D программу, то вам он будет весьма интуитивнымViewPort - Область сцены
Live Game View - То как сцена будет выглядеть при запуске игры
Object Hierarchy - Отображает все объекты на сцене
Project Content - Отображает все созданные и добавленные объекты в проекте
Objects Settings - Параметры выбранного объекта

  1. Управление во ViewPort такое же как в Мауа.

  2. Основная концепция программы - это проекты. Проект - это общее хранилище всей информации (Assets - набор, вложение) задействованной при создании приложения: Сцены, Материалы, Свет, Объекты (Модели), Аудио, Управляющие элементы (Джойстик, мышка) и другие.
    Создавать проекты и сцены можно из главного меню File.

  3. Меню Edit содержит базовые операции по редактированию объектов в проекте, их свойств, а также общие настройки и управляющие команды проекта.

  4. Assets - меню для импорта и создания набора объектов в сцене, а также их экспорта и просмотра. Создаваемые набору могут быть:
    1. Скрипты (JavaScript, C# and Others)
    2. Шейдеры
    3. Prefab - коллекция объектов с одноименными параметрами, которые могут быть одновременно изменены в настройках Prefab. К примеру коллекция источников света (лампочек), расставленных в разных углах комнаты, и интенсивность которых необходимо изменять одновременно.
    4. Материалы
    5. Шрифты
    6. и другие

  5. GameObject - стандартные объекты самого Unity3D, операции по их наследованию (имеется ввиду зависимость "Родитель-Ребенок"), а также нужная операция - Apply Changes to Prefab

  6. Component - наборы параметров, которые можно назначать объектам (в том числе и импортированных), к примеру, физические свойства и взаимодействие с гравитацией.

  7. Terrain - позволяет создавать поверхность - уровень, за счет выдавливания (рисования по displacement-у) кисточками (первые две иконки - выдавить, выдавить до уровня), в том числе и импортированными. Можно рисовать или импортировать текстуру поверхности (кисточка - Add Texture - выбрать размер и вид текстуры). Добавлять деревья, травку и последняя иконка это общие настройки.
    В меню можно 
    1. Import\Export HeightMap - импортировать или экспортировать нарисованную карту выдавливания.
    2. Set Resoulution - изменить размеры поверхности.
    3. Create Lightmap - запечь карту освещенности.
    4. Mass Place Trees - позволяет создать кучу леса ) по выбранному протатипу (сначала нужно выбрать форму дерева в настройках террайна)
    5. Flatten Heightmap - растягивает поверхность на 2D текстуру.

    Unity3D - Game Engine

    Unity3D - это игровой движок, позволяющий создавать интерактивные игры, веб-приложения и анимацию.