Unity3D : Modified Advance Fantasy AI Free Edition using 3rd person controller

fantasyAI modified

Advance Fantasy AI Free Edition is quite awesome, but it’s camera only support for static camera from above. I modified it a bit so we can use 3rd person camera style to our character. I create 3rd person camera system based on 3rd person controller from unity3d standard assets.

I also included game manager class for managing AI spawns. here is my modified package of Advance Fantasy AI, don’t forget to include default Fantasy AI in your project.

Tweet&getit is powered by Viuu

Here is sample of modified assets, use ‘arrow” or ‘w-a-s-d’ to navigate player and use ‘space’ or ‘left click’ to attack, and ‘right click’ to snap camera to it’s position. (more…)

read more

Unity3D : 4 Recommended Free Assets for RPG Game Starter Pack

Creating a massive RPG game takes a long time, we must create large number of props model, some character model, some building model. there is a lot scripting to do too. Some people has already create really nice assets and share it in assets store and forum. Here they are :

1. Advance Fantasy AI FREE Edition

Advance Fantasy AI Free

By Brilliant Game Studios
Here is Fantasy AI Free Edition! we could get a good taste of what Fantasy AI has to offer! This version features including Easy Character setup system, built in Follow Pathfinding system, Raycasting vision (to detect player), basic animation and targeting system, and much more. In this package also included mini scene about Fight off 500 AI Skeletons called ‘Dungeon Hordes’. Need AI simple found, follow and attack system? just install this free version but awesome of Advance Fantasy AI. (more…)

read more

Unity3D : Simple Parallax Scrolling

parallax scrolling

is a special scrolling technique in computer graphics, creating an illusion of depth in a 2D video game and adding to the immersion. The key of parallax scrolling is background layer move by the camera slower than foreground layer.  We will create simple parallax scrolling effect, using UV Scrolling technique and Object Scrolling technique,.

UV Scrolling is a method to create looping animation by moving UV Textures according to textures planar position. We could do this by modifying offset of x-coordinate and y-coordinate of textures. UV Scrolling can be used to animate water flow, river, waterfall, rain, background scrolling, etc

Object Scrolling is a method to create looping animation by moving Object according to world position. After object isn’t seen on the scene / camera, we would move it’s to initial position, so it will create looping object animation.

Here is our final example of the simple parallax scrolling, we could download project file in the end of post. (more…)

read more

Unity3D : Camera Shake Effect (script)

There is nice posted from Michael Jasper’s Web for how to do a camera shaking effect in Unity3d, It’s quite simple, it combines both positional movement with rotational movement to simulate ‘Shaking Effect’ to player. I modifying it a little bit so we can set it’s variable via inspector view. put this code bellow into js script and rename it to cameraShake.js

#pragma strict

var originPosition:Vector3;
var originRotation:Quaternion;

var shake_decay: float = 0.002;
var shake_intensity: float;
var coef_shake_intensity : float = 0.3f;

function Start () {


function Update(){
    if(shake_intensity > 0){
        transform.position = originPosition + Random.insideUnitSphere * shake_intensity;
        transform.rotation =  Quaternion(
                        originRotation.x + Random.Range(-shake_intensity,shake_intensity)*.2,
                        originRotation.y + Random.Range(-shake_intensity,shake_intensity)*.2,
                        originRotation.z + Random.Range(-shake_intensity,shake_intensity)*.2,
                        originRotation.w + Random.Range(-shake_intensity,shake_intensity)*.2);
        shake_intensity -= shake_decay;

function Shake(){
    originPosition = transform.position;
    originRotation = transform.rotation;
    shake_intensity = coef_shake_intensity;

In that code there is two key variable to manage our shaking effect, (more…)

read more