学习游戏开发,做自己的氪佬(Unity视频ampampamp角色控制)
我突然发现,学习好像比玩游戏有趣一些。
至于我为什么突然会有这样的想法,请不要问我,去问一下竞技类游戏优秀的匹配机制
好好想一想,我最近能从游戏中得到的,只有来自队友的折磨和不断干瘪下去的钱包。
而学习呢,我可以从中获得知识,这些知识可以提升自己例如找到更好的工作赚更多的钱。又或者像我一样学习游戏开发方面的知识,自己开发一款像瓦洛兰特一样的游戏。
然后把游戏里面的对手全部换成简单人机。
当然我还是很喜欢游戏的,不只是单纯喜欢玩,还有了解背后的故事等等。
优秀的故事剧情像巫师三、荒野大镖客2这类游戏能带给我的感动是我无法在其他地方感受到的。甚至是像UnderTale这样画风比较简单的游戏也能让我沉浸许久。
话都说到这份上了,我多少得再打一把游戏后回来学习。
回到正题
今天因为文章写得比较早(主要是被游戏赶回来了),所以要学习两个部分,分别是游戏中的 视频播放 和如何让 unity中的角色动起来 。
让我们开始今天的折磨吧!
一、视频播放(P36)
视频播放 和上一篇笔记中所提到的 音频播放 在代码中其实是差不多的,在这里随意找一个MP4文件进行演示。
将视频放进unity的方法中很简单,只需要在右侧 项目视图 下方点击鼠标右键→选择在 资源管理器中显示 →将视频文件拖拽到 Asset文件夹 中即可
1-1.在游戏场景中播放
在项目视图中鼠标右键创建一个渲染器纹理,然后创建一个游戏对象,例如想要在一个平面上播放。
创建平面后添加一个名为VideoPlayer的组件,这个组件很像之前提到的播放音频的组件AudioSource。unity中播放音频的片段被称为AudioClip,而播放视频的片段叫做VideoClip。
1-1.1 videoplayer组件设置
回到平面上的videoplayer组件中,只需要将视频文件直接拖拽进视频剪辑中就好。然后在下方的渲染模式中更改为渲染器纹理,把渲染器纹理拖拽到目标纹理。
1
在这一步之后,视频中的所有内容都会显示在渲染器纹理当中,只需要将纹理拖拽到想要播放的对象上就行。
1-2. UI播放方式
当然还有其他的播放方式,创建UI:原始图像→将渲染器纹理拖拽到RawImage的纹理中
1-3.脚本控制视频播放
创建一个C#脚本名为VideoTest,将脚本挂载到有VideoPlayer的同一对象上。
因为脚本中是没有Video,需要引用一个名称空间:
using UnityEngine.Video;
然后在下方就可以声明:
private VideoPlayer player;
接下来获取组件播放器:
player = GetComponent ();
在获取了组件之后就可以进行控制了:
if ( Input.GetMouseButtonDown (0));
{
if(play.isPlaying){
play.Pause();}
}
其实原理和音频播放的一样,可以随意输入暂停停止重头播放等的指令。
阶段代码展示:
二、角色控制(P37)
终于!要开始学习角色的控制,在Unity中角色的控制也会有多种,一共有三种只要选一种就行 Unity资源商店购买,拿过来就能用 Unity中有自带的角色控制器可以使用 后续学会物理系统之后用物理系统来操作
像我这种又没钱又还没学到物理系统那一步的人来说,这会就老老实实用unity自带的角色控制器进行操作。
2-1. 角色控制组件
创建一个平面将其放到世界坐标轴(0,0,0),保证其方向正确(红色x轴是右边,蓝色z轴是前方)
再创建一个随意对象当作角色,放在平面上,然后搭载一个名为角色控制Character Controller的组件(保持默认设置)
2-2. 脚本中控制角色
创建一个名为PlayerControl的脚本,然后挂载在对象上。
第一步还是要在脚本中声明,然后获取这个组件:
Private CharacterController player;
接下来获取组件 (在start中) :
player = GetComponent ();
获取组件之后就可以进行移动代码的编写了 (在Update中)
在编写代码之前要知道Unity中角色的移动一般根据两个轴,一个是水平轴一个是垂直轴
2-2.1 水平轴
之前虚拟轴的时候提到过,左(-1)右(1)和不动(0)
float horizontal = Input.GetAxis ("Horizontal" );
2-2.2 垂直轴
float vertical = Input. GetAxis ("Vertical" );
2-2.3 创建为方向向量
在获取了两个轴向之后,就能知道按下了哪些按键(按下A就是向左走)
Vector3 dir = new Vector3 (horizontal ,0,vertical );
Vector3中一般有3个向量,分别是X,Y,Z
这里是想让水平轴horizontal来影响X左右移动,让垂直轴Vertical来影响Z轴的移动,至于Y轴上天入地的东西先不用管。
顺便将向量都画出来出来,位置的话用自身的位置。
Debug.DrawRay (transform.position,dir ,Color.red)
然后回到Unity中运行,这里要注意的是 得点击 下方的游戏视图窗口。
其实可以看到在按键盘上的WASD任意方向之后会有一条红色的射线出来。
2-3. 朝向移动
在unity中有两种方法:一种是move,move是不受重力的影响;另一种是SimpleMove,这个是受重力影响的。
player. SimpleMove (dir );
这里的dir就是让对象朝着方向移动就行,也就是当在键盘上按哪个键就朝哪个方向
可以看到在Unity运行中,随意按WASD会按照上下左右进行移动。
当然看着这个移动速度有点慢好像,这里就可以添加个速度:
player. SimpleMove (dir*2 );
让其以两倍的速度进行移动
当然还有上述所提到的 重力 :
今天的课程就到这里结束了!
当然对我来说今晚还要准备开始写第二个公众号的内容,等我回头再把另一个公众号贴进来。另一个公众号主要是讲非软件相关知识,例如我这几天在研究的装机电脑配件什么的。
我要去吃心心念念的炒牛河了,大伙下篇笔记见,拜了个拜!
原课程链接:
https://www.bilibili.com/video/BV1gQ4y1e7SS/?spm_id_from=333.337.search-card.all.click
Unity VideoPlayer:
https://blog.csdn.net/weixin_43367805/article/details/93178830
Unity物理系统:
https://docs.unity3d.com/cn/2021.3/Manual/PhysicsSection.html
本期代码汇总
video部分:
角色控制器部分:
我突然发现,学习好像比玩游戏有趣一些。
至于我为什么突然会有这样的想法,请不要问我,去问一下竞技类游戏优秀的匹配机制
好好想一想,我最近能从游戏中得到的,只有来自队友的折磨和不断干瘪下去的钱包。
而学习呢,我可以从中获得知识,这些知识可以提升自己例如找到更好的工作赚更多的钱。又或者像我一样学习游戏开发方面的知识,自己开发一款像瓦洛兰特一样的游戏。
然后把游戏里面的对手全部换成简单人机。
当然我还是很喜欢游戏的,不只是单纯喜欢玩,还有了解背后的故事等等。
优秀的故事剧情像巫师三、荒野大嫖客2这类游戏能带给我的感动是我无法在其他地方感受到的。甚至是像UnderTale这样画风比较简单的游戏也能让我沉浸许久。
话都说到这份上了,我多少得再打一把游戏后回来学习。
回到正题
今天因为文章写得比较早(主要是被游戏赶回来了),所以要学习两个部分,分别是游戏中的 视频播放 和如何让 unity中的角色动起来 。
让我们开始今天的折磨吧!
一、视频播放(P36)
视频播放 和上一篇笔记中所提到的 音频播放 在代码中其实是差不多的,在这里随意找一个MP4文件进行演示。
将视频放进unity的方法中很简单,只需要在右侧 项目视图 下方点击鼠标右键→选择在 资源管理器中显示 →将视频文件拖拽到 Asset文件夹 中即可
1-1.在游戏场景中播放
在项目视图中鼠标右键创建一个渲染器纹理,然后创建一个游戏对象,例如想要在一个平面上播放。
创建平面后添加一个名为VideoPlayer的组件,这个组件很像之前提到的播放音频的组件AudioSource。unity中播放音频的片段被称为AudioClip,而播放视频的片段叫做VideoClip。
1-1.1 videoplayer组件设置
回到平面上的videoplayer组件中,只需要将视频文件直接拖拽近视频剪辑中就好。然后在下方的渲染模式中更改为渲染器纹理,把渲染器纹理拖拽到目标纹理。
1
在这一步之后,视频中的所有内容都会显示在渲染器纹理当中,只需要将纹理拖拽到想要播放的对象上就行。
1-2. UI播放方式
当然还有其他的播放方式,创建UI:原始图像→将渲染器纹理拖拽到RawImage的纹理中
1-3.脚本控制视频播放
创建一个C#脚本名为VideoTest,将脚本挂载到有VideoPlayer的同一对象上。
因为脚本中是没有Video,需要引用一个名称空间:
using UnityEngine.Video;
然后在下方就可以声明:
private VideoPlayer player;
接下来获取组件播放器:
player = GetComponent ();
在获取了组件之后就可以进行控制了:
if ( Input.GetMouseButtonDown (0));
{
if(play.isPlaying){
play.Pause();}
}
其实原理和音频播放的一样,可以随意输入暂停停止重头播放等的指令。
阶段代码展示:
二、角色控制(P37)
终于!要开始学习角色的控制,在Unity中角色的控制也会有多种,一共有三种只要选一种就行 Unity资源商店购买,拿过来就能用 Unity中有自带的角色控制器可以使用 后续学会物理系统之后用物理系统来操作
像我这种又没钱又还没学到物理系统那一步的人来说,这会就老老实实用unity自带的角色控制器进行操作。
2-1. 角色控制组件
创建一个平面将其放到世界坐标轴(0,0,0),保证其方向正确(红色x轴是右边,蓝色z轴是前方)
再创建一个随意对象当作角色,放在平面上,然后搭载一个名为角色控制Character Controller的组件(保持默认设置)
2-2. 脚本中控制角色
创建一个名为PlayerControl的脚本,然后挂载在对象上。
第一步还是要在脚本中声明,然后获取这个组件:
Private CharacterController player;
接下来获取组件 (在start中) :
player = GetComponent ();
获取组件之后就可以进行移动代码的编写了 (在Update中)
在编写代码之前要知道Unity中角色的移动一般根据两个轴,一个是水平轴一个是垂直轴
2-2.1 水平轴
之前虚拟轴的时候提到过,左(-1)右(1)和不动(0)
float horizontal = Input.GetAxis ("Horizontal" );
2-2.2 垂直轴
float vertical = Input. GetAxis ("Vertical" );
2-2.3 创建为方向向量
在获取了两个轴向之后,就能知道按下了哪些按键(按下A就是向左走)
Vector3 dir = new Vector3 (horizontal ,0,vertical );
Vector3中一般有3个向量,分别是X,Y,Z
这里是想让水平轴horizontal来影响X左右移动,让垂直轴Vertical来影响Z轴的移动,至于Y轴上天入地的东西先不用管。
顺便将向量都画出来出来,位置的话用自身的位置。
Debug.DrawRay (transform.position,dir ,Color.red)
然后回到Unity中运行,这里要注意的是 得点击 下方的游戏视图窗口。
其实可以看到在按键盘上的WASD任意方向之后会有一条红色的射线出来。
2-3. 朝向移动
在unity中有两种方法:一种是move,move是不受重力的影响;另一种是SimpleMove,这个是受重力影响的。
player. SimpleMove (dir );
这里的dir就是让对象朝着方向移动就行,也就是当在键盘上按哪个键就朝哪个方向
可以看到在Unity运行中,随意按WASD会按照上下左右进行移动。
当然看着这个移动速度有点慢好像,这里就可以添加个速度:
player. SimpleMove (dir*2 );
让其以两倍的速度进行移动
当然还有上述所提到的 重力 :
今天的课程就到这里结束了!
当然对我来说今晚还要准备开始写第二个公众号的内容,等我回头再把另一个公众号贴进来。另一个公众号主要是讲非软件相关知识,例如我这几天在研究的装机电脑配件什么的。
我要去吃心心念念的炒牛河了,大伙下篇笔记见,拜了个拜!
原课程链接:
https://www.bilibili.com/video/BV1gQ4y1e7SS/?spm_id_from=333.337.search-card.all.click
Unity VideoPlayer:
https://blog.csdn.net/weixin_43367805/article/details/93178830
Unity物理系统:
https://docs.unity3d.com/cn/2021.3/Manual/PhysicsSection.html
本期代码汇总
video部分:
角色控制器部分:
龙之家族第7集大反转,暗示雷妮拉和戴蒙,比阿莉森更智慧?雷妮拉和戴蒙在龙之家族第7集的天才计划,证明了他们理应战胜阿莉森,成为铁王座的统治者。谈起龙之家族,这部剧根据火与血改编。然而,火与血可以说只是记录着维斯特洛的历史。只不过,里头多
买茶时,只要发现茶叶有这3个特点,赶紧避开,100是添加茶现在喝茶已经成为大家的生活习惯了,而且喝茶的人群也在逐渐扩大,很多年轻人也开始加入到了喝茶的行列。这不,前几天笔者刚毕业的侄子就来到笔者的家里,向笔者的父亲询问喝茶和买茶的注意事项
如何突破现在的你如果你现在身无分文,兜里比脸还干净,要工作没工作,要钱没钱,可千万别慌张,做到下面几点,能让你摆脱目前的困境,何乐而不为呢?1离开家。你要勇敢地迈出第一步,有钱时家才是温馨的港湾,
一句叮咛一生安从小,我们最熟悉的一句叮咛注意安全简简单单四个字有着浓浓的牵挂安有何含义跟随小编一块学安书法名家每天早上中午晚上我们都会向家人亲朋好友同事问安书信的结尾,也往往以安问候看似简单的问
我眼中的自己vs别人眼中的自己,究竟有多大差距?可能很多人都意识到了,自己眼中的自己,跟别人眼中的自己其实是不一样的。很多人在照镜子的时候,看镜子中的自己永远都像18岁一样,觉得自己年纪还不大,甚至还不需要找对象,步入结婚的地步
成年人最了不起的能力成全自己我在头条搞创作第二期梦田随笔里说生命本无好坏,是好是坏全在你自己。一个人成熟的标志,就是逐渐放下对旁人的高期待。很多时候,期待越多,所造成的失望也就越多。经历的事情越多,也越会明白
吃苦在前,享受在后,追求梦想有的人活着,他已经死了有的人死了,他还活着。有的人每天浑浑噩噩,挥霍享受,不思进取,浪费大好光阴。这样的人犹如行尸走肉,浪费地球的粮食。当混日子成为一种瘾的时候,要摆脱这种状态,需
梦回秋点寻婵娟何处秋风至,萧萧送雁群。朝来入庭树,孤客最先闻。刘禹锡离离暑云散,袅袅凉风起。秋天的风景是寂静旷远的,与中国文人诗词的精神不谋而合。岁月忽已远,秋意正阑珊,浅遇一季秋,足以醉红尘。
花洲诗苑许胜带93首临江仙乾坤帐里好安眠,我便是河山(一)93首临江仙许胜带临江仙万里河山心一寸,何愁秋遣阑珊。盘中风月可加餐。闲云来几朵,定与我同欢。笑道幽林归去路,暂时作别人间。乾坤帐里好安眠。待成尘世土,我便是河山。临江仙儿童节感怀
青年心怀国之青年要有远大的目标理想,更要有敬畏前人的虚心和求教于前人的耐心。我认为青年当有三心,一心为国,国为地基,地基须牢。一心有梦,梦为支柱,支柱须立。一心爱家,家为顶棚,顶棚须实。有
心语人不争,一身轻松,事不比,一路畅通,心不求,一身平静心语心情Oct5(1)只要在路上,就没有到不了的远方未来,你只需要比一个人更好那个人就是现在的你(2)生活就是不断做出选择你永远不知道眼前的这个岔路会通向何方但你要相信故事一定会精