内容简介:前面介绍了角色的转身功能,让角色总是朝着面部方向进行行动,其实人的头部也是可以上下转动的,在本文里将会介绍怎么样实现上下转动。要实现头部上下转动,必须给头增加一个关节,也就是人部的颈。因此在unity里创建一个空对象,如下图:在这里选择create empty,就可以创建了空的游戏对象,它是看不见的。接着把这个空对象命名为Head,然后拖动角色、头、鼻子三者关系如下图:
前面介绍了角色的转身功能,让角色总是朝着面部方向进行行动,其实人的头部也是可以上下转动的,在本文里将会介绍怎么样实现上下转动。要实现头部上下转动,必须给头增加一个关节,也就是人部的颈。因此在unity里创建一个空对象,如下图:
在这里选择create empty,就可以创建了空的游戏对象,它是看不见的。接着把这个空对象命名为Head,然后拖动角色、头、鼻子三者关系如下图:
从这个图里看到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下面,就多了一个变量对象,如下图:
如果没有向这个地方拖动其它对象,这个变量为none空的,因此,需要把Head对象拖动到这里,这样就把head变量与Head物体关联在一起了,这样在代码里进行变换更新,就可以实现头部旋转,也就是上下转动的功能。
代码里增加这一行:
head.Rotate(Vector3.left, mouseInput.y * rotationSpeed);
它就是头部根据鼠标y轴移动来实现旋转角度。
到这里,就实现了眼睛上下转动,从下图就可以看到结果:
当你按下play时,就可以通过鼠标左右移动实现身子转动,鼠标前后移动实现眼睛上下转动,现在你可以自由地玩耍!
http://edu.csdn.net/course/detail/5582
纸牌游戏开发
http://edu.csdn.net/course/detail/5538
五子棋游戏开发
以上所述就是小编给大家介绍的《游戏制作之路(11)实现眼睛上下转动》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 游戏制作之路(13)限制眼睛上下转动的范围
- Vue页面跳转动画效果实现
- Nacos 发布 0.5.0 版本,轻松玩转动态 DNS 服务
- Nacos 发布 0.5.0 版本,轻松玩转动态 DNS 服务
- 篮球比分几比几——纯js实现的数字轮盘转动动效
- DDD:识别限界上下文以及理解上下文映射
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
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》 这本书的介绍吧!