【笔记】封神榜游戏设计VR
一、添加怪物(这个教程的鬼兵我可以用)
1.设置怪物出生点。
2.创建一个新脚本-CreateMonster,写好脚本之后放到3个传送门上。
3.然后添加完成后,给三个添加Audio Source组件
4.可以修改Audio Source的音量 //以上是第二课
5.选中Street,代表整个场景,点开右边Static的Navigation Static,获得计算范围也就是场景,打开工具栏Windows里的Navigation,点击bake,烘焙一下(只有烘焙之后寻路功能(Nav)才能使用),保存一下
6.打开之前的脚本,修改一下文本;
7.然后找到怪物,添加导航组件-Nav Mesh Agent 半径 高度修改一下,点击右上角Apply。
8.为了避免怪物和玩家碰撞,然后给CameraRig添加导航组件,Nav Mesh Agent。//以上是第三课
9.添加怪物动作,创建一个新文件夹Animation,右键创建Animation Controller.然后把?添加的动画添加进来。点击有点Entry设置默认状态,然后要明确动画跳转的一个关系。在Run上面右键和Damage是双向的,攻击也是有死亡的装填。给Run和Attack做内循环。
10.在左上角的Parameter创建几个bool的变量:Run、Attack、Death、Hit,然后设置Condition。(重新看一遍,把这个逻辑记录下来,通用设置逻辑),
创建新的文件夹:Animation,进去后,右键创建Animation Controller(命名:EnemyAnimation),然后找回动画,把需要的动作添加进来,然后开始简单编辑动画状态机,使动画在默认的时候执行Run,点击Entry右键Set StateMachine Default State,然后要开始明确跳转关系,Run是可以和其他所有动画进行跳转的,Death动画就不能和其他动画进行跳转关系,Run和Damage是可以双向的(点击右键-Make Transition),死亡就是当受到伤害会有一个死亡,攻击也是可以有死亡的状态的,Run和攻击双向关系,攻击和受伤也可以互联,然后给Run作一个内循环,攻击也作一个内循环,下面就要做一个逻辑上的跳转关系。
在Parameters上添加几个变量,创建Bool类型:Run、Attack、Death、Hit(受到攻击后)。
首先处理下Run到Damage,选择Run到Damage的箭头,在Condition下面点击加号,Run-Hit才进行跳转。以此类推进行控制,Run自身也是Run为true。(每条线都要添加逻辑变量),不要漏了自身。
然后找到怪物,把我们新作的动画控制器拖入到怪物的控制器里。然后动画的状态就设置好了。
11.找到怪物,然后把新作的EnemyAnimator拖动到怪物的Animator上的Controller
Run--GetHit Hit true
Damage-Run Run true
Run自身 也是Run
做好之后找到怪物,然后添加Animation Controller
//以上是第四课。
12.创建一个新的脚本:EnemyController。已经写好了。
13.再进一步修改代码,修好之后选中怪物,然后添加脚本
14.然后把上面那个脚本的目标点代码打开
15.创建一个新的脚本,GameManager,玩家收到攻击的脚本。拖到CameraRig,把传送门添加到脚本上。
16.添加怪物攻击逻辑代码,第七课。
【笔记】封神榜游戏设计VR的更多相关文章
- 【Stage3D学习笔记续】山寨Starling(十):高效游戏设计、纹理集和ATF
我发布了经过批处理优化的v0.3版,点击下载:https://github.com/hammerc/hammerc-study-Stage3D/archive/v0.3.zip 先看看我们批处理优化后 ...
- C++分享笔记:5X5单词字谜游戏设计
笔者在大学二年级刚学完C++程序设计后,做过一次课程设计,题目是:5X5单词字谜游戏设计.为了设计算法并编写程序,笔者在当时颇费了一番心力,最后还是成功地完成了.设计中不乏有精妙之处.该程序设计完全是 ...
- 信息安全系统设计基础课程实践:简单TUI游戏设计
简单TUI游戏设计 目 录 一 Curses库简介与基本开发方法 ...
- MMORPG大型游戏设计与开发(客户端架构 part8 of vegine)
脚本模块是游戏设计中争论比较多的话题,那是因为作为脚本本身所带来的利弊.其实这都无关紧要,取舍是人必须学会的一项技能,如果你不会取舍那么就让趋势给你一个满意的答复.自从魔兽世界以及传奇(世界)问世以来 ...
- MMORPG大型游戏设计与开发(概述)updated
1.定义 MMORPG,是英文Massive(或Massively)Multiplayer Online Role-PlayingGame的缩写,即大型多人在线角色扮演游戏. 2.技术与知识 在这系列 ...
- thinkphp学习笔记5—模块化设计
原文:thinkphp学习笔记5-模块化设计 1.模块结构 完整的ThinkPHP用用围绕模块/控制器/操作设计,并支持多个入口文件盒多级控制.ThinkPHP默认PATHINFO模式,如下: htt ...
- Roguelike元素对游戏设计的影响
Roguelike game自1980年以来,就占据着游戏市场中很大的份额,而现如今的很多游戏中,也加入了Roguelike元素来起到更好的效果.我们知道Roguelike game中有着一些看似任性 ...
- <发条游戏设计>粗翻——第一部分 理论(一)
段落1 游戏 游戏设计定义 相对而言,游戏设计是一个新的学科,专业的作曲家.画家.作家.建筑师已经至少存在了500多年,然而游戏设计师只在最近50年才被特分出来单作一类.然而这个类别仅仅在最近20-2 ...
- <发条游戏设计>粗翻——序言、
序言——————————————————————— 优雅 就像在英语里的很多单词一样,“优雅”有着一些不同意义的解释.一些习惯性的用法常常带有“美”的意思:例如“她穿着一条优雅的裙子”,代表着一种完全 ...
随机推荐
- atomic 原子自增工程用法案例
案例 1 : 简单用法 atomic_int id; atomic_fetch_add(&id, 1) atomic_uint id; atomic_fetch_add(&id, 1) ...
- JavaScript 中如何将日期格式化为 DD/MM/YYYY
在 JavaScript 中要将日期格式化为 dd/mm/yyyy .需要遵循以下步骤: 使用 getDate().getMonth() 和 getFullYear() 方法获取特定日期的日.月和年. ...
- JAVA多线程学习十七 - 面试题
前面针对多线程相关知识点进行了学习,那么我们来来看看常见的面试题: 1. 空中网面试题1 package com.kongzhongwang.interview; import java.util.c ...
- windows平台编码转换
int AsciiToUtf8(char* pSrc, unsigned int nSrcLen, char* pBuffer, unsigned int nBufferLen) { assert(p ...
- StringUtils.isBlank(str)和StringUtils.isEmpty(str)的区别
1.StringUtils.isEmpty(CharSequence cs)实现源码 public static boolean isEmpty(CharSequence cs) { return c ...
- DNS解析域名过程
DNS解析域名过程 使用域名转换成IP地址,先读取本地HOST文件,本地文件没有从当前电信网管获取对应IP. 本地host文件 C:\Windows\System32\drivers\etc 画图演示 ...
- xcode 常用插件 加快开发速度 --严焕培
1.KSImageNamed-Xcode 为项目中使用的UIImage的imageNamed提供文件名自动补全功能.使用[UIImage imageNamed:@"xxx"]时,该 ...
- Spring中@Autowired 注解的注入规则
默认根据类型,匹配不到则根据bean名字 1.声明一个service接口 public interface HelloService { void sayHello(); } 2.service接口的 ...
- ssh一段时间无操作后自动断开连接(假死)问题
平时使用ssh远程服务器的时候(注:远程虚拟机一般不会有这个问题),一段时间没有操作,ssh连接就会处于假死状态,以至于需要重新进行ssh连接,不管你用的什么远程工具都会出现这个问题,那么通过心跳检测 ...
- 使用VMware安装win10虚拟机
(1)打开VMware: (2)打开左上角的文件,点击新建虚拟机: (3)选择典型,下一步: (4)选择稍后安装操作系统,下一步: (5)选择win10×64,下一步: (6)可随意修改虚拟机名称,位 ...