游戏制作之路(11)实现眼睛上下转动

栏目: 后端 · 发布时间: 6年前

内容简介:前面介绍了角色的转身功能,让角色总是朝着面部方向进行行动,其实人的头部也是可以上下转动的,在本文里将会介绍怎么样实现上下转动。要实现头部上下转动,必须给头增加一个关节,也就是人部的颈。因此在unity里创建一个空对象,如下图:在这里选择create empty,就可以创建了空的游戏对象,它是看不见的。接着把这个空对象命名为Head,然后拖动角色、头、鼻子三者关系如下图:

前面介绍了角色的转身功能,让角色总是朝着面部方向进行行动,其实人的头部也是可以上下转动的,在本文里将会介绍怎么样实现上下转动。要实现头部上下转动,必须给头增加一个关节,也就是人部的颈。因此在unity里创建一个空对象,如下图:

游戏制作之路(11)实现眼睛上下转动

在这里选择create empty,就可以创建了空的游戏对象,它是看不见的。接着把这个空对象命名为Head,然后拖动角色、头、鼻子三者关系如下图:

游戏制作之路(11)实现眼睛上下转动

从这个图里看到character是head父亲关系,head是nose父亲关系,这样nose跟着character进行左右转动,又跟着head进行上下转动。接着在代码里创建一个变换对象head,如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BasicMovement : MonoBehaviour {

    public float speed = 10.0f;
    public float rotationSpeed = 2.0f;
    public Transform head;

    // Use this for initialization
    void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {
        Vector3 input = new Vector3(Input.GetAxisRaw("Horizontal"), 0, Input.GetAxisRaw("Vertical"));
        //transform.position += input * speed * Time.deltaTime;
        //gameObject.GetComponent<CharacterController>().Move(input * speed * Time.deltaTime);
        gameObject.GetComponent<CharacterController>().Move(transform.TransformDirection(input * speed * Time.deltaTime));

        Vector2 mouseInput = new Vector2(Input.GetAxis("Mouse X"), Input.GetAxis("Mouse Y"));
        transform.Rotate(Vector3.up, mouseInput.x * rotationSpeed);
        //Debug.Log(mouseInput.x + ":" + mouseInput.y); 
        head.Rotate(Vector3.left, mouseInput.y * rotationSpeed);
    }
}

主要是添加下面这行:

public Transform head;

这样在inspector下面,就多了一个变量对象,如下图:

游戏制作之路(11)实现眼睛上下转动

如果没有向这个地方拖动其它对象,这个变量为none空的,因此,需要把Head对象拖动到这里,这样就把head变量与Head物体关联在一起了,这样在代码里进行变换更新,就可以实现头部旋转,也就是上下转动的功能。

代码里增加这一行:

head.Rotate(Vector3.left, mouseInput.y * rotationSpeed);

它就是头部根据鼠标y轴移动来实现旋转角度。

到这里,就实现了眼睛上下转动,从下图就可以看到结果:

游戏制作之路(11)实现眼睛上下转动

游戏制作之路(11)实现眼睛上下转动

当你按下play时,就可以通过鼠标左右移动实现身子转动,鼠标前后移动实现眼睛上下转动,现在你可以自由地玩耍!

http://edu.csdn.net/course/detail/5582

纸牌游戏开发

http://edu.csdn.net/course/detail/5538 

五子棋游戏开发


以上所述就是小编给大家介绍的《游戏制作之路(11)实现眼睛上下转动》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Test Driven Development

Test Driven Development

Kent Beck / Addison-Wesley Professional / 2002-11-18 / USD 49.99

Quite simply, test-driven development is meant to eliminate fear in application development. While some fear is healthy (often viewed as a conscience that tells programmers to "be careful!"), the auth......一起来看看 《Test Driven Development》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具