3D游戏编程作业四

2023-11-03

基本操作演练

首先是去unity商店下载一个skybox的资源包
在这里插入图片描述

然后创建一个materia
在这里插入图片描述

点击shader选择skybox并选择6sided
在这里插入图片描述

然后将相应位置的图片拖进去
在这里插入图片描述

点击add component,选择rendering
在这里插入图片描述

添加skybox
在这里插入图片描述

然后将刚才创建的mysky拖进skybox里
在这里插入图片描述

最后效果如下
在这里插入图片描述

游戏对象的使用:
一般来说对于游戏对象的使用有两种方法,一种是使用代码进行操作,另一种是直接使用图形界面对对象进行操作。使用代码来操作时只要调用相关的函数就可以进行任意的设置,而直接使用图形界面操作是存在很多的限制的,对于属性的设置都是在右边的inspector,而对于材质包的设置采用拖放即可。但是采用图形界面能够很方便的对一些元素进行设置,比如对于地形的设置,有很多的设置元素,直接使用鼠标进行操作会显得更加的容易。

魔鬼与牧师(进阶版)

进阶版的魔鬼与牧师主要是动作与模型的分离,这里找的是老师课程网页最后推荐的优秀博客的代码,对这点实现得非常好,我的代码只是在他的基础上来修改,然后实现今年需要添加的裁判类,详细的可以去看他的博客,这里只是简单的介绍一下。

首先对于整个游戏的运行使用一个controller来管理,游戏开始运行时加载各种资源调用loadsource函数,各种资源的初始化放在model类中实现,与之前的版本是一样的。主要不同的地方在于对事件的处理响应,对于所有的点击人物船的响应都放在了action文件中,在这里面对各个点击进行响应,实现分离操作。
比如对于角色的移动
在这里插入图片描述
首先得到需要移动的角色的对象,然后判断是否可移动,然后调用action动作管理类里面的函数。这样就实现了动作的分离操作。

接下来实现新增加的功能,就是添加一个裁判类来对游戏的终止进行判断。实现的思路很简单,在用户进行每一次点击之后,通过向裁判类传递当前的状态,然后进行判断。主要的参数有船、人物、河岸。
在这里插入图片描述
在这里插入图片描述
这其实也就是之前在controllor里面的check函数,只是将它拿了出来,实现了一个分离,便于如果有更复杂的判断操作加入时的一个更改。
传送门

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

3D游戏编程作业四 的相关文章

  • 树实现客户端红点系统

    树实现客户端红点系统 红点系统总览 demo 设计 代码设 引用 https zhuanlan zhihu com p 85978429 红点系统总览 如上图所示 规划红点系统的时候 我们将整个系统分为独立的三个部分 结构层 驱动层和表现层
  • unity3D期末作业捕鱼游戏,适合初学者学习使用,包含源程序所有文件

    虚拟现实期末作业捕鱼游戏 免积分下载 点我下载资源 有按钮 背景音乐 可以发射炮弹捕鱼 可以选择难度 可以调节音乐声音大小 有游戏加载进度条 详细情况请看如下动态图 点我下载资源
  • Unity之Animation动画

    Unity之Animation动画 Unity之Animation绘制动画 这篇文章做最简单的动画 让一个立方体从左边移动到右边 1 创建一个Unity的新工程 名为TestAnimation 点击Create And Open按键 打开工
  • Unity3d 简单的按照路径移动物体!

    在TORQUE引擎中 我们只要设置几个点 然后物体会按照这几个点顺序移动 Unity3d也可以的 现在介绍一个很简单的按照路径移动的方法 目标是让蓝色方块沿着紫色方块组成的路径移动 设计思想就是让蓝色方块移动第一个 然后继续移动到第二个 然
  • URP——后期处理特效

    通用渲染管道 URP 包括一个后处理效果的集成实现 如果使用URP 则不需要为后期处理效果安装额外的包 URP与Post Processing Stack v2包不兼容 URP使用体积框架进行后期处理效果 下面的图片显示了一个URP场景有没
  • Unity3d中使用OnGUI()函数判断“键盘按下抬起”功能的新方法。

    private bool flagJudgeDownAllow true 开始值为true void OnGUI key Event current FunctionKeyCodeV1 key private void FunctionKe
  • 《Unity Shader入门精要》彩图版免费分享~~~~~

    这书很多地方都要币或者要钱 这里就免费分享了 下面是网盘链接 顺手点个赞或者评论一波呗 下载链接 链接 https pan baidu com s 137Y1nkB6h8HIvKOfwFPnbQ 提取码 f8dw 顺手点个赞 蟹蟹蟹蟹
  • 关于unity3的中关于创建方法的总结

    关于创建基本物体 有些情况会使用上 物体碰撞 游戏里怪物和英雄的触发事件上 创建一个简单物体 隐藏mesh可以作为简单的触法器使用 多次创建预制体Prefab 方法Instantiate original Object position V
  • unity3d实现简单的打飞碟游戏

    游戏内容 游戏有n个round 每个round发射10次trial 每个trial的飞碟都可能不同 包括速度角度得分等 使用鼠标进行射击 点中即表示射击成功 游戏要求 使用带缓存的工厂模式来管理飞碟的生产与再利用 工厂使用单例模式 游戏的设
  • Unity3D 碰撞器和触发器

    对于碰撞器和触发器经常忘记用法 这次主要记录下以便于能够复习用 1 碰撞器 发生条件 1 碰撞的双方中一定至少要有一个Rigidbody存在 并且碰撞双方必须都要有碰撞体组件 2 碰撞双方若只有一个有刚体 那么那个刚体一定要处于运动的状态下
  • untiy的纹理格式介绍

    Desktop RGB Compressed DXT1 压缩的RGB纹理 这是最常见的漫反射纹理格式 4位 像素 32 KB 256x256 RGBA Compressed DXT5 压缩的RGBA纹理 这是漫反射和高光控制纹理的主要格式
  • 也想做一个绝地求生版的汽车控制移动,进来瞧瞧?(干货满满)

    控制车子移动 效果图附上 1 首先4个车轮复制一遍为车轮2备用 2 给车轮2全部添加wheel collider 只剩下车轮碰撞器和transform组件 3 给原版4个车轮添加脚本wheel 变量共有 面板赋值 依次添加车轮2里面的车轮c
  • Unity 导出XCode工程运行报错: ‘UnityFramework/UnityFramework.h‘ file not found

    简介 近期项目升级到2019 4 10f1版本 在用自动化打包的时候 遇到了一些问题 其中一个是 在导出XCode工程之后 运行工程的时候 编译报错 UnityFramework UnityFramework h file not foun
  • JPush极光推送Unity插件iOS设备无法获取DeviceToken

    前言 最近在使用JPush进行极光推送 Unity插件GitHub地址https github com jpush jpush unity3d plugin 问题描述 但是发现了一个问题 按照官方文档操作 最终仍然无法获取DeviceTok
  • RAIN{INDIE} 自动寻路

    Unity游戏中有较多的自动寻路插件 看过几个 大同小异 而RAIN中的Behavior Tree感觉很好 听名字就知道很条理 下面 就用它做个简单的寻路小例子 首先 导入RAIN的包 结构如下 在使用的过程当中还会产生几个文件夹用来存放E
  • unity 读取和写入Excel中文出现乱码解决方法

    在编辑器中读取和写入中文一切正常 发布出来只要是中文就会出现乱码 解决方法 将C Program Files Unity Editor Data Mono lib mono unity 目录下的I18N dll和I18N CJK dll复制
  • unity中的一些快捷键(齐)

    重命名的快捷键是F2 ALT 鼠标左键点击Hierarchy对象可以展开和收起对象的所有子物体 SHIFT 空格 可以对当前窗口进行放大缩小
  • Unity3D如何修改Button显示的文字以及深入了解Button组件

    在创建了一个Button后 结构如图 先仔细观察一下Button的Inspector视图 发现其中竟然有一个叫Button的脚本组件 新建脚本 代码如下 并将该脚本绑定给Canvas组件 using UnityEngine UI using
  • [Unity XLua]热更新XLua入门(一)-基础篇

    Aladdin XLua 前言 前段时间腾讯开源了一个内部热更框架XLua在Unity开发群里引起一阵热议 也受到广大开发者的热捧 然后我当然也抱着好奇的心去学习学习 后面也会将扩展之后的工程放在git上 大家一起学习交流 在此感谢XLua
  • java中Keytool的使用总结

    java中Keytool的使用总结 2011 02 26 15 30 15 分类 在申请Android Map API Key的时候使用到了java中Keytool 下面转一篇介绍java中Keytool的文章 http blog csdn

随机推荐

  • 通过线程+反射,解决复杂数据验证

    第一步 建立需要传入参数的 Vo 对象 ApiModelProperty value 身份证 private String idcard ApiModelProperty value 姓名 private String name publi
  • 使用linux sar命令分析CPU和磁盘

    订阅号原文 使用linux sar命令分析CPU和磁盘 一 摘要 这是夜说的第八篇学习文章 使用sar命令分析cpu和io问题 二 sar u分析cpu问题 1 sar u分析cpu问题 2代表时间间隔 s 5代表次数 这两个值可以自行调整
  • [创业-36]:《从员工到老板,你必须经历的三次跃迁》解读

    目录 前言 1 关于如何成为好的员工 第一 工资是给职位的定价 价值 第二 职位的价格由最便宜的可胜任者决定 价格 第三 解读 2 关于如何成为好的管理者 第一 衡量标准 第二 如何设计制度是衡量治理水平的一把尺 第三 解读 3 关于如何成
  • rust运行时提示link.exe找不到的问题

    直接在cmd里运行下面2句 这样就可以使用rustup来修复这个问题了 rustup toolchain install stable x86 64 pc windows gnu rustup default stable x86 64 p
  • 数据库用户管理

    数据库用户管理 一 创建 1 新建用户 CREATE USER 用户名 来源地址 IDENTIFIED BY PASSWORD 密码 用户名 指定将创建的用户名 来源地址 指定新创建的用户可在哪些主机上登录 可使用IP地址 网段 主机名的形
  • PXE服务器实现Linux全自动批量装机具体步骤

    目录 一 实验环境准备 二 CentOS7 pxe准备 三 操作步骤 1 安装dhcp tftp http syslinux 2 配置dhcp服务 3 配置tftp服务器 4 拷贝PXE服务器的相关文件到 var lib tftpboot
  • HCNP路由交换学习指南--- 静态路由

    HCNP路由交换学习指南 静态路由 文章目录 HCNP路由交换学习指南 静态路由 静态路由的基本概念 静态路由配置须知 默认路由 浮动静态路由 案例 静态路由和BFD联动 静态路由 Static Route 是网络管理员通过手工配置的方式为
  • 毕业设计-深度学习机器视觉的交通标识符识别

    目录 前言 课题背景与意义 课题实现技术思路 图像预处理 提取特征颜色 边缘提取 实现效果 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着准备考研 考公 考教资或者实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几
  • Kafka入门系列—1. topic、消费者组等重要概念

    消息队列是生产者向消息队列发送消息 消费者从消息队列拉取 pull 消息 生产者 生产者是消息队列的数据源 可以向其发送消息 如字符串 二进制数据等 消费者 消费者的数据源就是Kafka 于是通过Kafka实现了生产者和消费者两个系统的解耦
  • Anaconda的tensorflow2.0.0突然出现ERROR:root:Internal Python error in the inspect module.

    就是numpy版本的问题 直接卸载numpy版本 pip uninstall numpy 如果卸载的时候报错 把ide关掉比如Jupyter Pycharm Spyder 再下载最新版本的numpy pip install U numpy
  • js 判断数据类型

    如何判断js中的数据类型 typeof instanceof constructor prototype方法比较 如何判断js中的类型呢 先举几个例子 var a iamstring var b 222 var c 1 2 3 var d
  • php实现 密码验证合格程序(复杂问题分类,超简单的)(分类+规范编码)

    php实现 密码验证合格程序 复杂问题分类 超简单的 分类 规范编码 一 总结 一句话总结 复杂问题分类 超简单的 分类 规范编码 1 写的时候判断 不能有相同长度超2的子串重复 的时候 子串重复写成隔2位置了 应该是任意的 47 for
  • 01_手写SpringIOC思路

    文章目录 手写Spring之IOC思路整理 手写Spring之IOC思路整理 先说说老生常谈的东西 关于IOC的理解 1 Spring管理对象 IOC就是控制反转 Spring之前 我们都是自己控制对象的 new 用了Spring就是 把整
  • CSS基础语法

    CSS简介 CSS的主要使用场景就是美化网页 布局页面的 HTML的局限性 HTML只关注内容的语义 比如 h1 表明这是一个大标题 p 表明这是一个段落 img 表明这有一张图片 a 表示此处有链接 很早的时候 世界上的网站虽然很多 但是
  • 区块链技术,正面临哪些难题与挑战?

    2018年对区块链来说 是关键的一年 在这一年 区块链出现在了大众视野 成为人工智能之后的下一个科技风口 区块链新技术的来临 正在融入多个领域并催生一批创业公司 从理论上讲 区块链技术的应用范畴 可以涵盖货币 金融 经济 社会的诸多领域 但
  • emqx增加用户认证功能

    1 关闭匿名登录 首先 关闭匿名登录 编辑配置文件 emqx conf 修改为 allow anonymous改为 false 即修改后是 allow anonymous false vim emqx etc emqx conf 操作演示
  • Windows下使用zsh——WSL(Debian)方法

    转载自我的个人博客 建议直接跳转个人博客查看 这个复制过来居然没有图 陈狗说windows下命令行太难用可以换成zsh 根据网上教程 GPT4的提示搞着玩 记录一下过程 我使用了WSL zsh的方法 也可以使用Git Bash zsh 1
  • 超详细超全超好理解的KMP算法

    定义 KMP算法是一种字符串匹配算法 用于在一个主串中查找一个模式串的出现位置 先看这个视频 再看下边的代码实现 油管阿三哥讲KMP查找算法 中英文字幕 人工翻译 简单易懂 https www bilibili com video BV18
  • Qt标准对话框按钮显示中文解决方案(原创)

    从网上搜了一堆解决方法 大多是考来考去 也没有解决我的问题 基本的方法是 在窗口实例化之前 加载和安装QTranslator 加载的qm文件从qt源文件中的ts文件中发布而来 例如 C Qt Qt5 13 0 5 13 0 Src qttr
  • 3D游戏编程作业四

    基本操作演练 首先是去unity商店下载一个skybox的资源包 然后创建一个materia 点击shader选择skybox并选择6sided 然后将相应位置的图片拖进去 点击add component 选择rendering 添加sky