Понедельник, 25 Ноября 2024, 03:19

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 4 из 4
  • «
  • 1
  • 2
  • 3
  • 4
Результаты поиска
Vip_and_RipДата: Среда, 11 Июня 2014, 18:55 | Сообщение # 61 | Тема: Плесень
почетный гость
Сейчас нет на сайте
Была проблема с плесенью после установки новых окон (швы неплотно были заделаны, появилась сырость, и плесень на стенах). Помогло средство специальное, против плесени, в магазине хозяйственном брал... Вот названия, к сожалению, не помню.

Больше никогда не буду делать игры.
Vip_and_RipДата: Среда, 11 Июня 2014, 16:44 | Сообщение # 62 | Тема: RGM v4.47 + New Tool
почетный гость
Сейчас нет на сайте
Пятая уже в разработке booze Жду - не дождусь.

Надеюсь, к версии этак 20-й, они все-таки позволят использовать HD текстуры biggrin


Больше никогда не буду делать игры.

Сообщение отредактировал Vip_and_Rip - Среда, 11 Июня 2014, 16:45
Vip_and_RipДата: Пятница, 06 Июня 2014, 10:02 | Сообщение # 63 | Тема: Это возможно?
почетный гость
Сейчас нет на сайте
Честно говоря, лучше учить не яву, а шарп. Он немного посложнее, но Unity, по большей части, под него и заточен, да и на шарпе сделать можно гораздо большее, нежели на яве.
По учебникам можно выучить (на C# их еще больше), но нельзя и о практике забывать. Сделать самому небольшой скриптик (или переписать чужой на свой лад, выучив переменные) гораздо полезнее, чем прочитать тонну мануалов.


Больше никогда не буду делать игры.
Vip_and_RipДата: Четверг, 05 Июня 2014, 18:35 | Сообщение # 64 | Тема: Трехмерная спрайт-графика
почетный гость
Сейчас нет на сайте
Всем спасибо, разобрался. Хотя делать игры такого рода на Unity - тот еще садизм...


Цитата Storm54 ()
Накидал тебе класс билборда.

Кстати, скрипт не работает. И стандартную плашку пробовал, и созданную в 3ds - никакой реакции.

Цитата Daly ()
Если я не ошибаюсь, то на этой идеи построена игра (Генерал 4)

Отнюдь. Примеры игр я уже привел - Arena, Daggerfall, Wolfenstein. То есть, с видом от первого лица и спрайтами заместо моделей.


Больше никогда не буду делать игры.

Сообщение отредактировал Vip_and_Rip - Четверг, 05 Июня 2014, 18:35
Vip_and_RipДата: Воскресенье, 01 Июня 2014, 01:48 | Сообщение # 65 | Тема: Трехмерная спрайт-графика
почетный гость
Сейчас нет на сайте
falcoware, была такая идея, но показалась слишком уж примитивной. Искал более "изящные" способы решения этой проблемы biggrin

Больше никогда не буду делать игры.
Vip_and_RipДата: Воскресенье, 01 Июня 2014, 00:08 | Сообщение # 66 | Тема: Работы новичков
почетный гость
Сейчас нет на сайте
Немного персонажной графики. Сгодится в качестве эскиза к какой-нибудь игре.



Больше никогда не буду делать игры.

Сообщение отредактировал Vip_and_Rip - Воскресенье, 01 Июня 2014, 00:09
Vip_and_RipДата: Суббота, 31 Мая 2014, 23:42 | Сообщение # 67 | Тема: Трехмерная спрайт-графика
почетный гость
Сейчас нет на сайте
Надоело возиться с 3d моделям, и появилась идея создать трехмерную игру, но с полным спрайтовым окружением (включая мобов и оружие) - наподобие того, что было в первых 3d-играх, вроде Doom или TES Arena. Собственно, вопрос - реально-ли такое осуществить на Unity? Если реально, то хотелось бы увидеть хоть одно пособие или описание привязки спрайта к трехмерному миру.
Ежели кто поможет или даст ссылку на нужную литературу\урок, буду благодарен. online2long

robertono, на святое не покушаюсь, но графика планировалась такого технического плана:
3d, но спрайты.


Больше никогда не буду делать игры.

Сообщение отредактировал Vip_and_Rip - Воскресенье, 01 Июня 2014, 01:41
Vip_and_RipДата: Четверг, 07 Июня 2012, 19:56 | Сообщение # 68 | Тема: На каком движке лучше всего сделать целую планету?
почетный гость
Сейчас нет на сайте
Quote (CrazyBrain)
Можно взять Unity - прост в обращении и крайне не прихотлив в плане програмирования

На Юньке я уже давно сижу, да вот только проблема, как описал Demeron - объекты такого масштаба она обрабатывает с трудом.

Хотя, конечно, можно попробовать импортировать модель из Max'а.


Больше никогда не буду делать игры.

Сообщение отредактировал Vip_and_Rip - Четверг, 07 Июня 2012, 19:57
Vip_and_RipДата: Четверг, 07 Июня 2012, 19:24 | Сообщение # 69 | Тема: На каком движке лучше всего сделать целую планету?
почетный гость
Сейчас нет на сайте
Сразу скажу: планета - значит, огромный шарик, покрытый мутными текстурами воды и рельефа. Никаких детализированных моделей городов, NPC, баз и пр. и пр.
Проблема в том, что этот самый шарик должен загружаться единовременно, и при этом быть действительно колоссальных, "планетарных", масштабов.

P.S, да, да, я лол, перепутал категорию. Модератор, если не трудно - будь человеком, перенеси в обсуждение движков!


Больше никогда не буду делать игры.

Сообщение отредактировал Vip_and_Rip - Четверг, 07 Июня 2012, 19:26
Vip_and_RipДата: Вторник, 05 Июня 2012, 10:43 | Сообщение # 70 | Тема: Как сделать реалистичную темноту?
почетный гость
Сейчас нет на сайте
Quote (Povstalez)
Edit > Render Settings > Ambient Light

Странно, что я раньше до этого не дошел... wacko
Если еще с текстурами освещения поиграть, то вообще все кошерно выходит.


Больше никогда не буду делать игры.
Vip_and_RipДата: Понедельник, 04 Июня 2012, 23:39 | Сообщение # 71 | Тема: Как сделать реалистичную темноту?
почетный гость
Сейчас нет на сайте
Уже дошел до середины работы со своим проектом, и ВНЕЗАПНО столкнулся с проблемой: как сделать реалистичное затемнение?
Поскольку действие игры происходит в канализации, то и освещение должно быть соответствующим - фонарик ГГ и горящие бочки. Но при этом просто отключение главного источника света не дает никакого эффекта (все видно), и использование Fog "заглушает" любое освещение, в том числе и фонарик.



Больше никогда не буду делать игры.
Vip_and_RipДата: Суббота, 24 Марта 2012, 15:10 | Сообщение # 72 | Тема: Где скачать Unity3D 3.5??
почетный гость
Сейчас нет на сайте
У меня бесплатная Free-версия, зарегистрированная. Ничего сложного, зато багов нет.

Больше никогда не буду делать игры.
Vip_and_RipДата: Суббота, 24 Марта 2012, 11:19 | Сообщение # 73 | Тема: Очень странная проблема (РЕШЕНО).
почетный гость
Сейчас нет на сайте
Все, проблема решена - дело было в расхождении оси между игроком и оружием (я его сначала выравнивал, а потом добавлял в перфеб, а нужно было наоборот).
Всем спасибо, все свободны up


Больше никогда не буду делать игры.
Vip_and_RipДата: Суббота, 24 Марта 2012, 10:36 | Сообщение # 74 | Тема: Очень странная проблема (РЕШЕНО).
почетный гость
Сейчас нет на сайте
Скрипт стандартный, Unity'вский. (ThirdPersonController). Висит на родительском перфебе, т.е, и оружие от него тоже зависит.

Code
// Require a character controller to be attached to the same game object
@script RequireComponent(CharacterController)

public var idleAnimation : AnimationClip;
public var walkAnimation : AnimationClip;
public var runAnimation : AnimationClip;
public var jumpPoseAnimation : AnimationClip;

public var walkMaxAnimationSpeed : float = 0.75;
public var trotMaxAnimationSpeed : float = 1.0;
public var runMaxAnimationSpeed : float = 1.0;
public var jumpAnimationSpeed : float = 1.15;
public var landAnimationSpeed : float = 1.0;

private var _animation : Animation;

enum CharacterState {
   Idle = 0,
   Walking = 1,
   Trotting = 2,
   Running = 3,
   Jumping = 4,
}

private var _characterState : CharacterState;

// The speed when walking
var walkSpeed = 2.0;
// after trotAfterSeconds of walking we trot with trotSpeed
var trotSpeed = 4.0;
// when pressing "Fire3" button (cmd) we start running
var runSpeed = 6.0;

var inAirControlAcceleration = 3.0;

// How high do we jump when pressing jump and letting go immediately
var jumpHeight = 0.5;

// The gravity for the character
var gravity = 20.0;
// The gravity in controlled descent mode
var speedSmoothing = 10.0;
var rotateSpeed = 500.0;
var trotAfterSeconds = 3.0;

var canJump = true;

private var jumpRepeatTime = 0.05;
private var jumpTimeout = 0.15;
private var groundedTimeout = 0.25;

// The camera doesnt start following the target immediately but waits for a split second to avoid too much waving around.
private var lockCameraTimer = 0.0;

// The current move direction in x-z
private var moveDirection = Vector3.zero;
// The current vertical speed
private var verticalSpeed = 0.0;
// The current x-z move speed
private var moveSpeed = 0.0;

// The last collision flags returned from controller.Move
private var collisionFlags : CollisionFlags;   

// Are we jumping? (Initiated with jump button and not grounded yet)
private var jumping = false;
private var jumpingReachedApex = false;

// Are we moving backwards (This locks the camera to not do a 180 degree spin)
private var movingBack = false;
// Is the user pressing any keys?
private var isMoving = false;
// When did the user start walking (Used for going into trot after a while)
private var walkTimeStart = 0.0;
// Last time the jump button was clicked down
private var lastJumpButtonTime = -10.0;
// Last time we performed a jump
private var lastJumpTime = -1.0;

// the height we jumped from (Used to determine for how long to apply extra jump power after jumping.)
private var lastJumpStartHeight = 0.0;

private var inAirVelocity = Vector3.zero;

private var lastGroundedTime = 0.0;

private var isControllable = true;

function Awake ()
{
   moveDirection = transform.TransformDirection(Vector3.forward);
     
   _animation = GetComponent(Animation);
   if(!_animation)
    Debug.Log("The character you would like to control doesn't have animations. Moving her might look weird.");
     
   /*
public var idleAnimation : AnimationClip;
public var walkAnimation : AnimationClip;
public var runAnimation : AnimationClip;
public var jumpPoseAnimation : AnimationClip;   
   */
   if(!idleAnimation) {
    _animation = null;
    Debug.Log("No idle animation found. Turning off animations.");
   }
   if(!walkAnimation) {
    _animation = null;
    Debug.Log("No walk animation found. Turning off animations.");
   }
   if(!runAnimation) {
    _animation = null;
    Debug.Log("No run animation found. Turning off animations.");
   }
   if(!jumpPoseAnimation && canJump) {
    _animation = null;
    Debug.Log("No jump animation found and the character has canJump enabled. Turning off animations.");
   }
       
}

function UpdateSmoothedMovementDirection ()
{
   var cameraTransform = Camera.main.transform;
   var grounded = IsGrounded();
     
   // Forward vector relative to the camera along the x-z plane   
   var forward = cameraTransform.TransformDirection(Vector3.forward);
   forward.y = 0;
   forward = forward.normalized;

   // Right vector relative to the camera
   // Always orthogonal to the forward vector
   var right = Vector3(forward.z, 0, -forward.x);

   var v = Input.GetAxisRaw("Vertical");
   var h = Input.GetAxisRaw("Horizontal");

   // Are we moving backwards or looking backwards
   if (v < -0.2)
    movingBack = true;
   else
    movingBack = false;
     
   var wasMoving = isMoving;
   isMoving = Mathf.Abs (h) > 0.1 || Mathf.Abs (v) > 0.1;
      
   // Target direction relative to the camera
   var targetDirection = h * right + v * forward;
     
   // Grounded controls
   if (grounded)
   {
    // Lock camera for short period when transitioning moving & standing still
    lockCameraTimer += Time.deltaTime;
    if (isMoving != wasMoving)
     lockCameraTimer = 0.0;

    // We store speed and direction seperately,
    // so that when the character stands still we still have a valid forward direction
    // moveDirection is always normalized, and we only update it if there is user input.
    if (targetDirection != Vector3.zero)
    {
     // If we are really slow, just snap to the target direction
     if (moveSpeed < walkSpeed * 0.9 && grounded)
     {
      moveDirection = targetDirection.normalized;
     }
     // Otherwise smoothly turn towards it
     else
     {
      moveDirection = Vector3.RotateTowards(moveDirection, targetDirection, rotateSpeed * Mathf.Deg2Rad * Time.deltaTime, 1000);
        
      moveDirection = moveDirection.normalized;
     }
    }
      
    // Smooth the speed based on the current target direction
    var curSmooth = speedSmoothing * Time.deltaTime;
      
    // Choose target speed
    //* We want to support analog input but make sure you cant walk faster diagonally than just forward or sideways
    var targetSpeed = Mathf.Min(targetDirection.magnitude, 1.0);
     
    _characterState = CharacterState.Idle;
      
    // Pick speed modifier
    if (Input.GetKey (KeyCode.LeftShift) | Input.GetKey (KeyCode.RightShift))
    {
     targetSpeed *= runSpeed;
     _characterState = CharacterState.Running;
    }
    else if (Time.time - trotAfterSeconds > walkTimeStart)
    {
     targetSpeed *= trotSpeed;
     _characterState = CharacterState.Trotting;
    }
    else
    {
     targetSpeed *= walkSpeed;
     _characterState = CharacterState.Walking;
    }
      
    moveSpeed = Mathf.Lerp(moveSpeed, targetSpeed, curSmooth);
      
    // Reset walk time start when we slow down
    if (moveSpeed < walkSpeed * 0.3)
     walkTimeStart = Time.time;
   }
   // In air controls
   else
   {
    // Lock camera while in air
    if (jumping)
     lockCameraTimer = 0.0;

    if (isMoving)
     inAirVelocity += targetDirection.normalized * Time.deltaTime * inAirControlAcceleration;
   }
     

      
}

function ApplyJumping ()
{
   // Prevent jumping too fast after each other
   if (lastJumpTime + jumpRepeatTime > Time.time)
    return;

   if (IsGrounded()) {
    // Jump
    // - Only when pressing the button down
    // - With a timeout so you can press the button slightly before landing    
    if (canJump && Time.time < lastJumpButtonTime + jumpTimeout) {
     verticalSpeed = CalculateJumpVerticalSpeed (jumpHeight);
     SendMessage("DidJump", SendMessageOptions.DontRequireReceiver);
    }
   }
}

function ApplyGravity ()
{
   if (isControllable)    // don't move player at all if not controllable.
   {
    // Apply gravity
    var jumpButton = Input.GetButton("Jump");
      
      
    // When we reach the apex of the jump we send out a message
    if (jumping && !jumpingReachedApex && verticalSpeed <= 0.0)
    {
     jumpingReachedApex = true;
     SendMessage("DidJumpReachApex", SendMessageOptions.DontRequireReceiver);
    }
     
    if (IsGrounded ())
     verticalSpeed = 0.0;
    else
     verticalSpeed -= gravity * Time.deltaTime;
   }
}

function CalculateJumpVerticalSpeed (targetJumpHeight : float)
{
   // From the jump height and gravity we deduce the upwards speed   
   // for the character to reach at the apex.
   return Mathf.Sqrt(2 * targetJumpHeight * gravity);
}

function DidJump ()
{
   jumping = true;
   jumpingReachedApex = false;
   lastJumpTime = Time.time;
   lastJumpStartHeight = transform.position.y;
   lastJumpButtonTime = -10;
     
   _characterState = CharacterState.Jumping;
}

function Update() {
     
   if (!isControllable)
   {
    // kill all inputs if not controllable.
    Input.ResetInputAxes();
   }

   if (Input.GetButtonDown ("Jump"))
   {
    lastJumpButtonTime = Time.time;
   }

   UpdateSmoothedMovementDirection();
     
   // Apply gravity
   // - extra power jump modifies gravity
   // - controlledDescent mode modifies gravity
   ApplyGravity ();

   // Apply jumping logic
   ApplyJumping ();
     
   // Calculate actual motion
   var movement = moveDirection * moveSpeed + Vector3 (0, verticalSpeed, 0) + inAirVelocity;
   movement *= Time.deltaTime;
     
   // Move the controller
   var controller : CharacterController = GetComponent(CharacterController);
   collisionFlags = controller.Move(movement);
     
   // ANIMATION sector
   if(_animation) {
    if(_characterState == CharacterState.Jumping)   
    {
     if(!jumpingReachedApex) {
      _animation[jumpPoseAnimation.name].speed = jumpAnimationSpeed;
      _animation[jumpPoseAnimation.name].wrapMode = WrapMode.ClampForever;
      _animation.CrossFade(jumpPoseAnimation.name);
     } else {
      _animation[jumpPoseAnimation.name].speed = -landAnimationSpeed;
      _animation[jumpPoseAnimation.name].wrapMode = WrapMode.ClampForever;
      _animation.CrossFade(jumpPoseAnimation.name);      
     }
    }   
    else   
    {
     if(controller.velocity.sqrMagnitude < 0.1) {
      _animation.CrossFade(idleAnimation.name);
     }
     else   
     {
      if(_characterState == CharacterState.Running) {
       _animation[runAnimation.name].speed = Mathf.Clamp(controller.velocity.magnitude, 0.0, runMaxAnimationSpeed);
       _animation.CrossFade(runAnimation.name);   
      }
      else if(_characterState == CharacterState.Trotting) {
       _animation[walkAnimation.name].speed = Mathf.Clamp(controller.velocity.magnitude, 0.0, trotMaxAnimationSpeed);
       _animation.CrossFade(walkAnimation.name);   
      }
      else if(_characterState == CharacterState.Walking) {
       _animation[walkAnimation.name].speed = Mathf.Clamp(controller.velocity.magnitude, 0.0, walkMaxAnimationSpeed);
       _animation.CrossFade(walkAnimation.name);   
      }
        
     }
    }
   }
   // ANIMATION sector
     
   // Set rotation to the move direction
   if (IsGrounded())
   {
      
    transform.rotation = Quaternion.LookRotation(moveDirection);
       
   }   
   else
   {
    var xzMove = movement;
    xzMove.y = 0;
    if (xzMove.sqrMagnitude > 0.001)
    {
     transform.rotation = Quaternion.LookRotation(xzMove);
    }
   }   
     
   // We are in jump mode but just became grounded
   if (IsGrounded())
   {
    lastGroundedTime = Time.time;
    inAirVelocity = Vector3.zero;
    if (jumping)
    {
     jumping = false;
     SendMessage("DidLand", SendMessageOptions.DontRequireReceiver);
    }
   }
}

function OnControllerColliderHit (hit : ControllerColliderHit )
{
//    Debug.DrawRay(hit.point, hit.normal);
   if (hit.moveDirection.y > 0.01)   
    return;
}

function GetSpeed () {
   return moveSpeed;
}

function IsJumping () {
   return jumping;
}

function IsGrounded () {
   return (collisionFlags & CollisionFlags.CollidedBelow) != 0;
}

function GetDirection () {
   return moveDirection;
}

function IsMovingBackwards () {
   return movingBack;
}

function GetLockCameraTimer ()   
{
   return lockCameraTimer;
}

function IsMoving ()  : boolean
{
   return Mathf.Abs(Input.GetAxisRaw("Vertical")) + Mathf.Abs(Input.GetAxisRaw("Horizontal")) > 0.5;
}

function HasJumpReachedApex ()
{
   return jumpingReachedApex;
}

function IsGroundedWithTimeout ()
{
   return lastGroundedTime + groundedTimeout > Time.time;
}

function Reset ()
{
   gameObject.tag = "Player";
}


При повороте оружия на 90' по оси Y все приходит в норму.


Больше никогда не буду делать игры.

Сообщение отредактировал Vip_and_Rip - Суббота, 24 Марта 2012, 10:38
Vip_and_RipДата: Пятница, 23 Марта 2012, 23:01 | Сообщение # 75 | Тема: Очень странная проблема (РЕШЕНО).
почетный гость
Сейчас нет на сайте
При движение игрока (от третьего лица), его начинает "сносить" в сторону, как будто нарушена система координат (хотя все выставлено).
Появилась эта проблема после прикреплению к персу оружия (тоже с настроенными координатами).
Определенно, дело в координатах, и в оружие, но как именно - без понятия.
Есть идеи, что-бы это могло быть?



Больше никогда не буду делать игры.

Сообщение отредактировал Vip_and_Rip - Суббота, 24 Марта 2012, 11:20
Vip_and_RipДата: Пятница, 16 Марта 2012, 23:39 | Сообщение # 76 | Тема: Что не так в скрипте? (РЕШЕНО)
почетный гость
Сейчас нет на сайте
А хотя нет, все заработало.
Для тех, кто столкнется с этой-же вопиющей несправедливостью по отношению к переменной "impact", делаем следующим образом:
Code
function Update () {  
if (Input.GetButton ("Fire1")) // вызываем ее кликом мыши  
         animation.Play("Имя вашей анимации"); //что надо проиграть.
}

А затем в разделе "Animation" модельки выбираем нужную анимацию (ту, что указана в скрипте) и снимаем отметку с "Play Automatically". Готово.

Добавлено (16.03.2012, 23:39)
---------------------------------------------

Quote (Nekit_Aut)
var impact : AnimationClip;
function Start(){

animation.AddClip(impact, "impact");

}

function Update () {
if (Input.GetButton ("Fire1"))
animation.CrossFade("impact"); // Можно использовать ещё и animation.CrossFade(); Можно и с Play, но... Поясняю: Play - анимация без смешивания, а CrossFade - со смешиванием

Спасибо, но уже сам разобрался.


Больше никогда не буду делать игры.
Vip_and_RipДата: Пятница, 16 Марта 2012, 23:30 | Сообщение # 77 | Тема: Что не так в скрипте? (РЕШЕНО)
почетный гость
Сейчас нет на сайте
Code
var impact : AnimationClip; //выбираем анимацию

function Update () {
if (Input.GetButton ("Fire1")) // вызываем ее кликом мыши
         animation.Play(impact); //проигрываем

}


А в ответ:
Code
Assets/AnimationShot.js(5,22): BCE0023: No appropriate version of 'UnityEngine.Animation.Play' for the argument list '(UnityEngine.AnimationClip)' was found.

Из ошибки видно, что "не назначен клип". Но для этого задана функция var impact.
Танцы с бубном вокруг имени анимации ( animation.Play("name")) тоже окончились провалом.


Больше никогда не буду делать игры.

Сообщение отредактировал Vip_and_Rip - Пятница, 16 Марта 2012, 23:39
Vip_and_RipДата: Пятница, 16 Марта 2012, 22:12 | Сообщение # 78 | Тема: Ищу движок для java игр
почетный гость
Сейчас нет на сайте
Позырь на этом сайте в разделе "java": Java, там полно этих движков.

Больше никогда не буду делать игры.

Сообщение отредактировал Vip_and_Rip - Пятница, 16 Марта 2012, 22:13
Vip_and_RipДата: Пятница, 16 Марта 2012, 19:25 | Сообщение # 79 | Тема: Как узнать, что объект уничтожен?
почетный гость
Сейчас нет на сайте
Все оказалось куда проще:
Code
var impact : AudioClip;

function OnDestroy () {

     audio.PlayOneShot(impact);

}

Только теперь другая проблема: объект исчезает вместе с источником звука.


Больше никогда не буду делать игры.
Vip_and_RipДата: Пятница, 16 Марта 2012, 16:00 | Сообщение # 80 | Тема: Как узнать, что объект уничтожен?
почетный гость
Сейчас нет на сайте
Есть скрипт:
Code
var impact : AudioClip; //выбираем звук

function Update() {

     if (Destroy (GameObject)) // проверяем, уничтожен-ли объект

        audio.PlayOneShot(impact); // проигрываем звук

}

Цель достаточно банальна - воспроизвести аудиоклип после уничтожения объекта. Понятное дело, что он не работает по причине этого самого "if destroy". Какая переменная отвечает за проверку дестроя?


Больше никогда не буду делать игры.
  • Страница 4 из 4
  • «
  • 1
  • 2
  • 3
  • 4
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг