mchorse / aperture Goto Github PK
View Code? Open in Web Editor NEWAdvanced Minecraft camera mod
License: GNU General Public License v3.0
Advanced Minecraft camera mod
License: GNU General Public License v3.0
Can you add
yaw – camera's yaw.
pitch – camera's pitch.
roll – camera's roll.
fov – camera's Field-Of-View.
for follow mode?
Because I cant set yaw pitch rol fov for this mode, or maybe I just dont know hot to set?
thanks
First release of Aperture mod, an advanced camera mod for Minecraft. This mod would be available for 1.10.2
, 1.11.2
and 1.12
.
This first release will include many features, first of all, all camera features from Blockbuster mod, and also some other new features.
/camera
command/load_chunks
command.minecraft/config/aperture
)aperture/cameras
)Thank you for your response and the push, but I've already fixed the bug on my end by adding an annotation @SideOnly(Side.CLIENT) to recordFrame, and that solved the problem for good. Now, I'm really sad that I couldn't push my changes to Github using IntelliJ; it keeps giving me either a 403 error or it loads indefinitely (ps: I'm using a 2019 version to be compatible with Gradle 2.4). Anyway, it was my very first opportunity to contribute to an open-source project, and now, it's a failure :'( [translate from FR to EN by chatGPT]
Will be possible set a custom duration for each single path point? it would be mush easier to use
path
fixtureTick
field (reported by Chunk7)Small Aperture update that mainly aims at adding outside mode (a highly requested feature).
active
field of a ShakeModifier
/camera
command to allow always using it even on the serverbuild.gradle
There is nothing limiting how many are made, but more severely it is vulnerable to path traversal to allow replacing ops.json, whitelist.json etc
server issue (thanks to Paul Fulham)+
buttonFollowModifier
_
or somethingdrag
modifiermanual
camera fixture which allows to record custom movement (suggested by Dyl_Art and Lucatim)
follow
modifierforward
option to look
modifier which makes the camera face forward based on the direction of movement (suggested by terbin)float
to double
(suggested by terbin for far away recording)drag
modifier to handle normalization of yawhermite
interpolation to keyframe fixturenull
fixture (which would allow copying next/previous first/last frame of the fixture) (suggested by Agirres)resetView
method to properly show keyframes-1
or something! 💥1.2.1
to 1.3
resetView()
is happening and X channel instead of All)look
and follow
fixturesPacketAperture
not being sentCrash log: https://pastebin.com/5YWA70uy
I'm not really sure how to edit keyframe fixtures - I just started using Aperture - but when I right click an existing one in an effort to edit it, this happens. Did I make it too long?
I mean it would save a lot of time if we could process all the path files (*.json) at once and export them as video under the same name with the path files. Could you please consider adding my suggestion to the release of the next version? Thank you!
I have this exception and disconnect from the server when I save with the floppy disk icon the camera move (button "save camera profile") I dont know what is the problem...
Forge version : 1.12.2-forge-14.23.5.2860 (client and server)
Minecraft version : 1.12.2
Server JAR : mohist-1.12.2-314-server.jar
Mods client side :
Mods server side :
Logs on the server when I click to save camera profile :
[17:02:29] [Netty Epoll Server IO #0/ERROR]: There was a critical exception handling a packet on channel aperture
java.lang.NoClassDefFoundError: net/minecraft/client/entity/EntityPlayerSP
at java.lang.Class.getDeclaredConstructors0(Native Method) ~[?:1.8.0_202]
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671) ~[?:1.8.0_202]
at java.lang.Class.getConstructor0(Class.java:3075) ~[?:1.8.0_202]
at java.lang.Class.getConstructor(Class.java:1825) ~[?:1.8.0_202]
at mchorse.aperture.camera.FixtureRegistry.fromType(FixtureRegistry.java:71) ~[FixtureRegistry.class:?]
at mchorse.aperture.camera.json.FixtureSerializer.fromBytes(FixtureSerializer.java:44) ~[FixtureSerializer.class:?]
at mchorse.aperture.camera.values.ValueFixtures.fromBytes(ValueFixtures.java:193) ~[ValueFixtures.class:?]
at mchorse.aperture.camera.data.StructureBase.fromBytes(StructureBase.java:110) ~[StructureBase.class:?]
at mchorse.aperture.network.common.PacketCameraProfile.fromBytes(PacketCameraProfile.java:35) ~[PacketCameraProfile.class:?]
at net.minecraftforge.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:36) ~[SimpleIndexedCodec.class:?]
at net.minecraftforge.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:26) ~[SimpleIndexedCodec.class:?]
at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:108) ~[FMLIndexedMessageToMessageCodec.class:?]
at net.minecraftforge.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:38) ~[FMLIndexedMessageToMessageCodec.class:?]
at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:4.1.24.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88) ~[MessageToMessageDecoder.class:4.1.24.Final]
at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) ~[AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434) ~[DefaultChannelPipeline$HeadContext.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) ~[AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) ~[AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965) ~[DefaultChannelPipeline.class:4.1.24.Final]
at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:325) ~[EmbeddedChannel.class:4.1.24.Final]
at net.minecraftforge.fml.common.network.internal.FMLProxyPacket.func_148833_a(FMLProxyPacket.java:95) [FMLProxyPacket.class:?]
at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:160) [gw.class:?]
at net.minecraft.network.NetworkManager.channelRead0(NetworkManager.java:51) [gw.class:?]
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [SimpleChannelInboundHandler.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [AbstractChannelHandlerContext.class:4.1.24.Final]
at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.handleServerSideCustomPacket(NetworkDispatcher.java:460) [NetworkDispatcher.class:?]
at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:268) [NetworkDispatcher.class:?]
at net.minecraftforge.fml.common.network.handshake.NetworkDispatcher.channelRead0(NetworkDispatcher.java:70) [NetworkDispatcher.class:?]
at io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) [SimpleChannelInboundHandler.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) [ByteToMessageDecoder.class:4.1.24.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284) [ByteToMessageDecoder.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) [ByteToMessageDecoder.class:4.1.24.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:284) [ByteToMessageDecoder.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:310) [ByteToMessageDecoder.class:4.1.24.Final]
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:297) [ByteToMessageDecoder.class:4.1.24.Final]
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:413) [ByteToMessageDecoder.class:4.1.24.Final]
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265) [ByteToMessageDecoder.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:102) [MessageToMessageDecoder.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286) [IdleStateHandler.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434) [DefaultChannelPipeline$HeadContext.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348) [AbstractChannelHandlerContext.class:4.1.24.Final]
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965) [DefaultChannelPipeline.class:4.1.24.Final]
at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:808) [AbstractEpollStreamChannel$EpollStreamUnsafe.class:4.1.24.Final]
at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:404) [EpollEventLoop.class:4.1.24.Final]
at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:304) [EpollEventLoop.class:4.1.24.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884) [SingleThreadEventExecutor$5.class:4.1.24.Final]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_202]
Caused by: java.lang.ClassNotFoundException: net.minecraft.client.entity.EntityPlayerSP
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.12.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_202]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_202]
... 72 more
Caused by: net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerException: Exception in class transformer net.minecraftforge.fml.common.asm.transformers.SideTransformer@12513341 from coremod FMLCorePlugin
at net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerWrapper.transform(ASMTransformerWrapper.java:264) ~[mohist-1.12.2-320-server.jar:?]
at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) ~[launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) ~[launchwrapper-1.12.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_202]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_202]
... 72 more
Caused by: java.lang.RuntimeException: Attempted to load class bud for invalid side SERVER
at net.minecraftforge.fml.common.asm.transformers.SideTransformer.transform(SideTransformer.java:60) ~[mohist-1.12.2-320-server.jar:?]
at net.minecraftforge.fml.common.asm.ASMTransformerWrapper$TransformerWrapper.transform(ASMTransformerWrapper.java:260) ~[mohist-1.12.2-320-server.jar:?]
at net.minecraft.launchwrapper.LaunchClassLoader.runTransformers(LaunchClassLoader.java:279) ~[launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:176) ~[launchwrapper-1.12.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_202]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_202]
... 72 more
Thanx in advance for your help !
This crash occur when actor 1 mount to actor 2
Aperture 1.1
is medium sized update which introduces camera modifiers™, brings some tweaks and fixes few annoying issues.
/aperture play
Camera movement is quite simple in previous version, but thanks to Aperture 1.1
, the camera flexibility would be never the same. This update aims at adding camera modifiers, behavior blocks, which can modify the camera fixture using special logic. These modifiers gives another layer of control over camera movement.
+
, -
, *
, /
and %
plus math functions such as floor()
, sin()
, cos()
, pow()
, etc.)There were few annoying issues with camera editor (such as barely seen point highlight or scrubbing event not getting sent, etc.), but beside these issues within this GUI, I added few extra helpful features.
default
camera profile to camera editor for easier startThe mod can be used on the server - it's cool. But for some reason, there are still no permissions in fashion to open the camera editor. At a minimum, it is necessary that the "/op" requirement should be enabled to open it. But since there is no such requirement, any players can open the editor on the server and use it as an Xray cheat.
Is there a way to restrict access to the camera editor?
p.s. Your mod is awesome. User from Russia
Whenever I try to render, it says that there's an error with ffmpeg!
in the tutorial series, it says to right-click the colored bars at the bottom of the screen to select the fixtures. however, when I right-click those, all that happens is a little red line gets placed, and idk what it does.
i assume this is some sort of bug, or poor documentation possibly.
look
and follow
modifiers to use multiple entities and just calculate the mid pointpt_BR
translations (thanks to @D-H-U 🎉👏).
in them disappear (reported by Agirres)null
fixturespartialTick
)N
in camera editor not hiding other panelsHi!
Very nice mod.
I would like to suggest to add the possibility to change keybindings, especially for moving the camera manually.
Left-handers use PL;' (or PLÖÄ on german keyboards) instead of WASD.
Have a white and cozy winter! =)
This is a major update which features a new camera fixture called keyframe fixture and complete rewrite of GUI code (which allows Blockbuster to more control over integration).
mclib
library mod as a dependencyPath -> Keyframe
buttondefault
camera profile doesn't display when it gets createdCONSTANT
keyframe doesn't gets saveddrawScreen()
) suggested by AgirresI cant come up with a way to solve this problem, quite strange...
in GuiPointModule.java
(mchorse.aperture.client.gui.panels.modules)
, the only place to use comments like "aperture.gui.panels.x"
, BUT... code seems very correct...
Aperture 1.0.1
is a small patch update that aims to make camera editor more comfortable (than it used to be).
D
deselect current camera fixtureS
toggle sync optionF
toggle flight mode optionSpace
toggle play/pauseC
copy player's positionM
move duration to cursorLeft Arrow
& Right Arrow
to move next or previous frameLeft Arrow
& Right Arrow
to move to next or previous fixtureEnter
to create a new camera profile in profiles managerCameraEditorScrubbedEvent
only when scrub was actually scrubbed by the user
For Aperture 1.1
update, following features are planned:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.